Lecture 5: Convolutional Neural Networks

1 minute read

History of Neural Networks

์ธ๊ณต ์‹ ๊ฒฝ๋ง์˜ ๋ณธ๊ฒฉ์ ์ธ ์—ฐ๊ตฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์€ ๋น„๊ต์  ์ตœ๊ทผ์ด๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ๊ฐœ๋ฐœ๋˜๊ธฐ ์ „์— ์‚ฌ๋žŒ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด๋ก ์€ ๋‚ด๋†“์•˜๋‹ค.

  1. 1957๋…„์— Frank Rosenblatt๋Š” ์•ŒํŒŒ๋ฒณ์„ ์ธ์‹ํ•˜๋Š” ๊ธฐ๊ณ„๋ฅผ ๊ณ ์•ˆํ–ˆ๋‹ค.
  2. 1986๋…„์— ์—ญ์ „ํŒŒ๋ฅผ ํ†ตํ•ด ์ตœ์ ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ฐพ๋Š” ์—ฐ๊ตฌ๊ฐ€ ํ™œ๋ฐœํžˆ ์ด๋ฃจ์–ด์กŒ๋‹ค.
  3. 1998๋…„์— LeCun, Bottou, Bengio, Haffner๊ฐ€ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(gradient descent)๋ฅผ ์ฒ˜์Œ์œผ๋กœ ๊ธ€์ž ์ธ์‹์— ์ ์šฉํ•ด ๋ณด์•˜๋‹ค.
  4. 2012๋…„์— Alex Krizhevsky๊ฐ€ AlexNet์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. ์ด๋Š” ํ˜„๋Œ€ CNN ๋ชจ๋ธ์˜ ๊ทผ๊ฐ„์ด ๋œ ์ค‘์š”ํ•œ ๋ชจ๋ธ์ด๋‹ค. 5, 2021๋…„ ํ˜„์žฌ, CNN์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์˜ ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

Convolutional Neural Networks

Convolutional Neural Networks (์ดํ•˜ CNN) ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

  1. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์™€ ํ•„ํ„ฐ ๊ฐ€ ์กด์žฌํ•œ๋‹ค.


2. ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ•„ํ„ฐ๊ฐ€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ •ํ•œ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ํ›‘์–ด๋‚˜๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•„ํ„ฐ์— ์ž…๋ ฅ๋œ ์ˆซ์ž์™€ ํ•ด๋‹น๋˜๋Š” ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํ”ฝ์…€์˜ ์ˆซ์ž์™€ ๋‚ด์ ํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.


3. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ํ•œ๋ฒˆ ๋๋‚ด๊ฒŒ ๋˜๋ฉด ๊นŠ์ด๊ฐ€ 1์ธ ์ถœ๋ ฅ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ์ด ๋œ๋‹ค. ํ•„ํ„ฐ๊ฐ€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํ›‘๋Š” ๊ณผ์ •์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•„ํ„ฐ์— ์˜ํ•ด์„œ ์—ฐ์†์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๋งŒ์•ฝ ํ•„ํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ 6๊ฐœ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ ์ถœ๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๊นŠ์ด๋Š” 6์ด ๋œ๋‹ค.


4. CNN์˜ ๋งˆ์ง€๋ง‰ ์ธต์€ ํ•ญ์ƒ fully connected layer, ์ฆ‰ ์ตœ์ข… ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ 1์ฐจ์›์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ ˆ์ด์–ด๊ฐ€ ์ ์šฉ์ด ๋œ๋‹ค.


5. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธต(ํ•„ํ„ฐ)๋ฅผ ๋งŽ์ด ์Œ“์„์ˆ˜๋ก ๋ชจ๋ธ์€ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๋ณต์žกํ•œ ๋””ํ…Œ์ผ์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์—์„œ๋Š” ์ธต์„ 1๊ฐœ, 3๊ฐœ, 5๊ฐœ๋ฅผ ์Œ“์•˜์„๋•Œ ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๋Š” ์ •๋„๋ฅผ ๋น„๊ตํ•˜๊ณ  ์žˆ๋‹ค.

Parameters of CNN

๋‹ค์Œ์€ CNN ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค.

  1. Stride: ํ•„ํ„ฐ๊ฐ€ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํ›‘๊ณ  ์ง€๋‚˜๊ฐˆ๋•Œ ๋ช‡ ์นธ๋งŒํผ ์ด๋™ํ•˜๋Š”์ง€ ์ง€์ •ํ•˜๋Š” ์ธ์ˆ˜์ด๋‹ค.
  2. Pad: ์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์„œ๋ฆฌ์— ์–ผ๋งˆ๋งŒํผ์˜ ํ”ฝ์…€์„ ์ถ”๊ฐ€ํ• ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์ธ์ˆ˜์ด๋‹ค. ์ด๋•Œ, ์ถ”๊ฐ€๋œ ํ”ฝ์…€์€ ์ถœ๋ ฅ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด ๊ฐ’์ด 0์œผ๋กœ ์„ค์ •๋œ๋‹ค.

๋‹ค์Œ ์‹์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ๋ฅผ N, ํ•„ํ„ฐ์˜ ํฌ๊ธฐ ๋ฅผ F, stride ๋ฅผ S, pad ๋ฅผ P ๋ผ๊ณ  ํ•  ๋•Œ ์ถœ๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ M์„ ์•Œ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ณต์‹์ด๋‹ค.

$ M = {(N+2P-F)/S}+1 $

Other layers

convolutional layer์€ ์•ž์„œ ์„ค๋ช…ํ–ˆ๋‹ค์‹œํ”ผ ํ•„ํ„ฐ์— ์ž…๋ ฅ๋œ ์ˆซ์ž์™€ ํ•ด๋‹น๋˜๋Š” ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํ”ฝ์…€์˜ ์ˆซ์ž์™€ ๋‚ด์ ํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ณ„์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค. convolutional layer์™ธ์—๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘๊ฐ€์ง€์˜ layer ์ด ์กด์žฌํ•œ๋‹ค.

  1. Pooling layer: ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ณ„์‚ฐ์„ ๋‹จ์ˆœํ™” ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋ ˆ์ด์–ด์ด๋‹ค.


2. Maxpooling layer: ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์™€ ํ•„ํ„ฐ์˜ ์ผ์น˜ํ•˜๋Š” ํ”ฝ์…€์˜ ๋‚ด์  ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋Œ€์‹  ํ•„ํ„ฐ ์•ˆ์— ๋‚˜ํƒ€๋‚˜๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๊ฐ€์žฅ ํฐ ํ”ฝ์…€ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ ˆ์ด์–ด์ด๋‹ค.

๋‹ค์Œ์€ ์ฐจ ์‚ฌ์ง„์— ์•ž์„œ ์„ค๋ช…ํ•œ ๋ ˆ์ด์–ด๋“ค์„ ๋ชจ๋‘ ์ ์šฉํ–ˆ์„๋•Œ์˜ ๋ชจ์Šต์ด๋‹ค.

  • ํ•„ํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์ตœ๋Œ€ํ•œ ์ธต์„ ๋งŽ์ด ์Œ“๋Š”๋‹ค.
  • Maxpooling layer๊ณผ fully connected layer์„ ๋นผ๊ณ  ์˜ค์ง convolutional layer๋งŒ ์ ์šฉํ•œ๋‹ค.

Comments