• toc {:toc}

Fully Connected Neural Net

2 ์ฐจ์›์œผ๋กœ ๋œ ์ด๋ฏธ์ง€๋ฅผ 1 ์ฐจ์›์œผ๋กœ ๋ฐ”๊ฟ” ํ•™์Šต

1 ์ฐจ์›์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์—์„œ ๊ณต๊ฐ„์ •๋ณด๊ฐ€ ์†์‹ค๋œ๋‹ค.

โ†’ ์ด๋ฏธ์ง€์˜ ํ˜•์ƒ์€ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœ raw data ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ๋งŽ์€์–‘์˜ ํ•™์Šต๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

โ†’ ์ด๋ฏธ์ง€๊ฐ€ ํšŒ์ „ ๋˜๋Š” ์›€์ง์ด๋ฉด ์ƒˆ๋กœ์šด ์ž…๋ ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์ค˜์•ผ ํ•œ๋‹ค.

โ†’ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋„ˆ๋ฌด ๋งŽ์€ Weight ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

FC layer{: width=โ€œ600โ€}{: .center}



CNN(Convolution Neural Network)

  • CNN ์€ ์ด๋ฏธ์ง€๋ฅผ ์ธ์‹ํ•˜๊ธฐ ์œ„ํ•ด ํŒจํ„ด์„ ์ฐพ๋Š”๋ฐ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ํ•™์Šตํ•˜๊ณ  ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•œ๋‹ค. (ํŠน์ง•์„ ์ˆ˜๋™์œผ๋กœ ์ถ”์ถœํ•  ํ•„์š” ์—†๋‹ค.)
  • ์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„์ •๋ณด๋ฅผ ์œ ์ง€ํ•œ ์ฑ„ ํ•™์Šตํ•œ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์˜ ๊ตฌ์„ฑ์š”์†Œ

๐Ÿ“Œ ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๋ฐฐ์šฐ๊ณ  ํ•ฉ์„ฑ๊ณฑ, ํ’€๋ง ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์„ ์ตํ˜€๋ณด์ž.

Convolution Layer

Conv layer{: width=โ€œ600โ€}{: .center}

  • ํ•ฉ์„ฑ๊ณฑ - ์ž…๋ ฅ๋ฐ์ดํ„ฐ์— ๋„์žฅ (๊ฐ€์ค‘์น˜) ์„ ์ฐ์–ด ์œ ์šฉํ•œ ํŠน์„ฑ๋งŒ ๋“œ๋Ÿฌ๋‚˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ
  • ์ผ๋ถ€์— ๋„์žฅ์„ ์ฐ์–ด ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•ด ๊ฐ๊ฐ
You can't use 'macro parameter character #' in math modeWx+b $$ ๊ณ„์‚ฐ ํ›„ ๋ชจ๋‘ ํ•ฉํ•ด Output์„ ์‚ฐ์ถœํ•œ๋‹ค. - ๊ฐ€์ค‘์น˜์™€ ์ ˆํŽธ์€ ๋™์ผํ•œ ๊ฒƒ์„ ์‚ฌ์šฉํ•œ๋‹ค. - ํŠน์„ฑ ๋งต(feature map) - ํ•ฉ์„ฑ๊ณฑ ๊ณ„์‚ฐ์„ ํ†ตํ•ด ์–ป์€ ์ถœ๋ ฅ - ํŠน์„ฑ ๋งต ํ•˜๋‚˜ ํ•˜๋‚˜๊ฐ€ ์ถ”์ถœ๋œ feature๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. - ์ด๋ฏธ์ง€๋Š” ๋ณดํ†ต ๊ฐ€๋กœX์„ธ๋กœX์ฑ„๋„์ˆ˜ ๋กœ 3์ฐจ์›์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ฐ€๋กœ, ์„ธ๋กœ๋Š” ํ”ฝ์…€์˜ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•˜๊ณ  ์ฑ„๋„์ˆ˜๋Š” Red, Green, Blue 3์›์ƒ‰์˜ ์ƒ‰๊น”์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. - Fully Connected Layer์™€์˜ ์ฐจ์ด โ‡’ FC Layer์™€ ๊ฐ™์€ ๊ฒฝ์šฐ 3๊ฐœ์˜ ์ฑ„๋„์„ ๊ณ„์‚ฐ์„ ์œ„ํ•ด์„œ ๋ชจ๋‘ 1์ฐจ์›์œผ๋กœ ๋Š˜์–ด๋œจ๋ ค์•ผ ํ•˜์ง€๋งŒ Conv Layer์˜ ๊ฒฝ์šฐ ์ฑ„๋„์˜ ํ˜•ํƒœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ![Conv feature](https://user-images.githubusercontent.com/64977390/208243858-aa899249-4b9e-4d36-9290-6f12d428971d.png){: width="600"}{: .center} - Conv Layer๋ฅผ ํ†ตํ•ด์„œ ์œ ์šฉํ•œ ํŠน์„ฑ(Feature)๋“ค์„ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. - ๋งŽ์€ Conv๋ฅผ ๊ฑฐ์น ์ˆ˜๋ก ๋” ์ž์„ธํ•˜๊ณ  ํ•จ์ถ•๋œ ํŠน์ง•๋“ค์„ ๋ฝ‘์•„๋‚ธ๋‹ค. ## ํ•„ํ„ฐ์™€ ์ปค๋„ ![Filter, Kernel](https://user-images.githubusercontent.com/64977390/208243877-61c8c35a-6d6e-4e82-b323-7988c15f5ac5.png){: width="600"}{: .center} - CNN์—์„œ ํ•„ํ„ฐ์™€ ์ปค๋„์€ ๊ฑฐ์˜ ํ˜ผ์šฉ๋˜์–ด ์‚ฌ์šฉ๋œ๋‹ค. ๊ฑฐ์˜ ๊ฐ™์€ ๋ง์ด๋ผ ๋ด๋„ ๋œ๋‹ค. - ์—„๋ฐ€ํžˆ ๊ตฌ๋ถ„ํ•˜๋ฉด ํ•„ํ„ฐ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปค๋„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  ๊ฐœ๋ณ„ ์ปค๋„์€ ํ•„ํ„ฐ๋‚ด์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. - ์œ„ ๊ทธ๋ฆผ์—์„œ ๋‹ค๋ฅธ ์ƒ‰์˜ ํŒ ํ•˜๋‚˜ํ•˜๋‚˜๋Š” ์ปค๋„์„ ์˜๋ฏธํ•˜๊ณ  ์ปค๋„๋กœ ๊ตฌ์„ฑ๋œ ์ „์ฒด๋ฅผ 1๊ฐœ์˜ ํ•„ํ„ฐ๋ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ•„ํ„ฐ๋“ค์ด ์—ฌ๋Ÿฌ ๊ฐœ ๊ตฌ์„ฑํ•ด Conv๊ณ„์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค. ### ์ปค๋„ - Kernel Size : ๊ฐ€๋กœx์„ธ๋กœ ๋ฉด์ ์„ ์˜๋ฏธํ•œ๋‹ค. - ์ปค๋„์˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ์ž…๋ ฅ์ด๋ฏธ์ง€์—์„œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ## ํŒจ๋”ฉ๊ณผ ์ŠคํŠธ๋ผ์ด๋“œ - 5x5 input์„ 3x3 Conv๋ฅผ ํ†ตํ•ด ๋‚˜์˜จ Feature map์€ 3x3์ด ๋œ๋‹ค. Conv Layer๋ฅผ ๊ฑฐ์น ์ˆ˜๋ก Feature map์€ ์ ์  ๋” ์ž‘์•„์ง€๊ฒŒ ๋œ๋‹ค. ### ์ž…๋ ฅ๊ณผ ๋™์ผํ•œ ์ถœ๋ ฅ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š”? โ‡’ ๋” ํฐ ์ž…๋ ฅ์— ํ•ฉ์„ฑ๊ณฑ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ![Padding](https://user-images.githubusercontent.com/64977390/208243900-59717245-3f48-4e41-af1d-f7c3783c09cf.png){: width="300"}{: .center} - ํŒจ๋”ฉ : ์ž…๋ ฅ ๋ฐฐ์—ด ์ฃผ์œ„๋ฅผ ๊ฐ€์ƒ์˜ ์›์†Œ๋กœ ์ฑ„์šฐ๋Š” ๊ฒƒ - ์„ธ์ž„ ํŒจ๋”ฉ : ์ž…๋ ฅ๊ณผ ํŠน์„ฑ ๋งต์˜ ํฌ๊ธฐ๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ ์ฃผ์œ„์— 0์œผ๋กœ ํŒจ๋”ฉํ•˜๋Š” ๊ฒƒ - ๋ฐธ๋ฆฌ๋“œ ํŒจ๋”ฉ : ํŒจ๋”ฉ ์—†์ด ์ˆœ์ˆ˜ํ•œ ์ž…๋ ฅ ๋ฐฐ์—ด์—์„œ๋งŒ ํ•ฉ์„ฑ๊ณฑ์„ ํ•ด ํŠน์„ฑ ๋งต์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ### ํŒจ๋”ฉ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด? โ‡’ ๊ฐ ๋ชจ์„œ๋ฆฌ์˜ ๊ฐ’๋“ค์€ 1๋ฒˆ์”ฉ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค. โ‡’ ์ค‘์‹ฌ๋ถ€์˜ ๊ฐ’๋“ค์— ์น˜์ค‘๋œ ํŠน์„ฑ ๋งต์ด ๋‚˜์˜จ๋‹ค. โ‡’ ์ด๋ฅผ ํŒจ๋”ฉํ•˜๋ฉด ์ฐธ์—ฌํ•˜๋Š” ๋น„์œจ์˜ ์ฐจ์ด๊ฐ€ ์ค„์–ด๋“ ๋‹ค. (2ํ”ฝ์…€์„ ํŒจ๋”ฉ ์‹œ ์ฐธ์—ฌ๋น„์œจ์ด ๊ฐ™์•„์ง„๋‹ค.) ## ์ŠคํŠธ๋ผ์ด๋“œ - ์ŠคํŠธ๋ผ์ด๋“œ : ์ปค๋„์ด ์ด๋™ํ•˜๋Š” ํฌ๊ธฐ. default=1 - ์ŠคํŠธ๋ผ์ด๋“œ๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด Feature map์˜ ํฌ๊ธฐ๋ฅผ ๋Œ€๋žต ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ธ๋‹ค. - Convolution ์—ฐ์‚ฐ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. --- ## ํ’€๋ง - ํ’€๋ง : ํ•ฉ์„ฑ๊ณฑ ์ธต์—์„œ ๋งŒ๋“  ํŠน์„ฑ ๋งต์˜ ๊ฐ€๋กœ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ์—ญํ•  ์ˆ˜ํ–‰ - ํ•ฉ์„ฑ๊ณฑ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ ์œ„๋ฅผ ์ง€๋‚˜๊ฐ€๋ฉด์„œ ๋„์žฅ์„ ์ฐ์ง€๋งŒ ํ’€๋ง์€ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋‹ค. - ์ตœ๋Œ€ ํ’€๋ง(Max Pooling) : ๋„์žฅ์„ ์ฐ์€ ์˜์—ญ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์„ ํƒ - ํ‰๊ท  ํ’€๋ง(Average Pooling) : ๋„์žฅ์„ ์ฐ์€ ์˜์—ญ์—์„œ ํ‰๊ท ๊ฐ’์„ ๊ณ„์‚ฐ - ํ’€๋ง์€ ๊ฒน์น˜์ง€ ์•Š๊ณ  ์ด๋™ํ•œ๋‹ค. [ํ’€๋ง์˜ ํฌ๊ธฐ = ์ŠคํŠธ๋ผ์ด๋“œ] - ์‚ฌ์šฉ ์ด์œ  : ํ•ฉ์„ฑ๊ณฑ์—์„œ ์ŠคํŠธ๋ผ์ด๋“œ๋ฅผ ํฌ๊ฒŒ ํ•˜์—ฌ ํŠน์„ฑ ๋งต์„ ์ค„์ด๋Š” ๊ฒƒ๋ณด๋‹ค ํ’€๋ง์ธต์—์„œ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ๊ฒฝํ—˜์ ์œผ๋กœ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋‚ด๊ธฐ ๋•Œ๋ฌธ ![Pooling](https://user-images.githubusercontent.com/64977390/208243926-ad70e9e5-602c-4ea8-bc4e-04e1056cee5a.png){: width="600"}{: .center} ์ถœ์ฒ˜: [https://towardsai.net/p/l/introduction-to-pooling-layers-in-cnn](https://towardsai.net/p/l/introduction-to-pooling-layers-in-cnn) - ์ฐจ์ด๋ฅผ ๋Œ€๋น„์‹œํ‚จ feature๊ฐ€ ๊ตฌ๋ณ„ํ•˜๋Š”๋ฐ ์œ ๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต MaxPooling์„ ์‚ฌ์šฉ ## Convolution layer์˜ Output ํฌ๊ธฐ ๊ณ„์‚ฐ -

O

I

K

N

S

P

O=\frac {I-K+2P} S +1

You can't use 'macro parameter character #' in math mode ์ถœ๋ ฅ ์ด๋ฏธ์ง€์˜ ์ฑ„๋„ ์ˆ˜๋Š” ์ปค๋„์˜ ๊ฐฏ์ˆ˜($N$)์™€ ๊ฐ™๋‹ค. ## MaxPolling์˜ Output ํฌ๊ธฐ ๊ณ„์‚ฐ -

O

I

S

P_s

O=\frac {I-P_s} S +1

You can't use 'macro parameter character #' in math mode ์ถœ๋ ฅ ์ด๋ฏธ์ง€์˜ ์ฑ„๋„ ์ˆ˜๋Š” ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ์ฑ„๋„ ์ˆ˜์™€ ๋™์ผํ•˜๋‹ค. # ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์˜ ์ „์ฒด ๊ตฌ์กฐ ![Overall Architecture](https://user-images.githubusercontent.com/64977390/208243948-dace34bf-7aec-4b17-8d98-78884f9d7e49.png) ์ถœ์ฒ˜ : [http://taewan.kim/post/cnn/](http://taewan.kim/post/cnn/) CNN์˜ ์ „์ฒด ๊ตฌ์กฐ๋Š” Feature๋ฅผ ์ถ”์ถœํ•˜๋Š” Feature extraction, ์ดํ›„ FC layer๋ฅผ ํ†ตํ•œ Classification์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.