๐Ÿค– ๋กœํ‚ค ๋ถ€ํŠธ์บ ํ”„ 2์ฐจ ์Šคํ„ฐ๋”” - CNN

์ด๋ฒˆ ์Šคํ„ฐ๋””์—์„œ๋Š” CNN์ด ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ž‘๋™ ์›๋ฆฌ์™€ ์‹ค์Šต์„ ๋‹ค๋ฃจ๋ ค ํ•œ๋‹ค.

CNN์€ Convolutional Neural Network์˜ ์•ฝ์ž๋กœ, ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์™€ ํŒจํ„ด ์ธ์‹์— ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ธ๊ณต ์‹ ๊ฒฝ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

1. ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ์ดํ•ด

์ด๋ฏธ์ง€๋Š” ํ”ฝ์…€๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒฉ์ž ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ด๋‹ค. ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃจ๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ํ˜•ํƒœ์ธ์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค.



๋ณด์‹œ๋‹ค์‹œํ”ผ ์ด๋ฏธ์ง€๋Š” ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ์‚ฌ๊ฐํ˜• ํ”ฝ์…€(Pixel)๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒฉ์ž ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ด๋‹ค.
๊ฐ๊ฐ์˜ ํ”ฝ์…€์€ RGB ๊ฐ’์„ ๊ฐ€์ง„ ์ˆซ์ž ๋ฐ์ดํ„ฐ๋กœ ์ปดํ“จํ„ฐ์— ์ธ์‹๋ฉ๋‹ˆ๋‹ค.

CNN์€ ์ด๋Ÿฌํ•œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๊ณต๊ฐ„์  ํŠน์ง•์„ ์ถ”์ถœํ•˜์—ฌ ํ•™์Šตํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒจํ„ด์„ ์ธ์‹ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด CNN์€ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ํ•ฉ์„ฑ๊ณฑ ์ธต(Convolutional layer)
  • ํ’€๋ง ์ธต(Pooling layer)
  • ๋ฐ€์ง‘ ์ธต(Fully-connected layer)

2. ํ•ฉ์„ฑ๊ณฑ ์ธต

ํ•ฉ์„ฑ๊ณฑ ์ธต์€ CNN์˜ ํ•ต์‹ฌ์œผ๋กœ, ์ด๋ฏธ์ง€์˜ ์ง€์—ญ์ ์ธ ํŒจํ„ด์„ ๊ฐ์ง€ํ•˜๊ณ  ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.


์œ„์˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ํ•ฉ์„ฑ๊ณฑ ์ธต์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ์œ„๋กœ ์ž‘์€ ํฌ๊ธฐ์˜ kernel ๋ฅผ ์Šฌ๋ผ์ด๋”ฉ์‹œํ‚ค๋ฉฐ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋กœ ์ƒˆ๋กœ์šด Feature Map ์„ ์ƒ์„ฑํ•œ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€์˜ ์ง€์—ญ์ ์ธ ํŒจํ„ด์„ ๊ฐ์ง€ํ•˜๊ณ  ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์€ ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์งˆ๊นŒ?

์—ฐ์‚ฐ ๋ฐฉ์‹์€ ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•˜๋‹ค. ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๋ถ„๊ณผ ์ปค๋„์ด ๊ฒน์ณ์งˆ ๋•Œ, ๊ฐ ์œ„์น˜์— ๋Œ€์‘ํ•˜๋Š” ํ”ฝ์…€ ๊ฐ’๋“ค์„ ๊ณฑํ•œ ๋’ค ๋ชจ๋‘ ํ•ฉ์‚ฐํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ๋œ๋‹ค.

์ด ๊ณผ์ •์„ ํ†ตํ•ด ์ด๋ฏธ์ง€์˜ ํŠน์ • ๋ถ€๋ถ„๊ณผ ์ปค๋„์˜ ํ˜•ํƒœ๊ฐ€ ์œ ์‚ฌํ• ์ˆ˜๋ก ๋†’์€ ์ถœ๋ ฅ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์œ ์‚ฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋‚ฎ์€ ์ถœ๋ ฅ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋œ๋‹ค.

๋˜ํ•œ, kernel์˜ ํฌ๊ธฐ์™€ ๋ณดํญ(stride)์€ ํ•ฉ์„ฑ๊ณฑ ์ธต์˜ feature map์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ธ๋ฐ, ์ปค๋„์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ž‘์ˆ˜๋ก ์ด๋ฏธ์ง€์˜ ๋””ํ…Œ์ผํ•œ ํŠน์ง•๋“ค์„ ์žก์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฐ์‚ฐ๋Ÿ‰์ด ๋Š˜์–ด๋‚˜๊ณ , ๋ณดํญ(stride)๊ฐ€ ์ž‘์„์ˆ˜๋ก ์ถœ๋ ฅ๋˜๋Š” feature map์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์ปค๋„์˜ ํฌ๊ธฐ์™€ ๋ณดํญ์„ ์ž˜ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

3. ํ™œ์„ฑํ™” ํ•จ์ˆ˜์™€ ๋น„์„ ํ˜•์„ฑ

ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์ด ๋๋‚œ ํ›„์—๋Š” ๋ณดํ†ต ํ™œ์„ฑํ™” ํ•จ์ˆ˜(Activation Function) ๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3.1 ๐Ÿ’ก ๋น„์„ ํ˜•์„ฑ์ด๋ž€ ์™œ ํ•„์š”ํ• ๊นŒ?

์ž…๋ ฅ๊ฐ’์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•˜๊ณ  ๋”ํ•˜๋Š” ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์€ ๋ณธ์งˆ์ ์œผ๋กœ ์„ ํ˜• ์—ฐ์‚ฐ์ด๋‹ค. ์„ ํ˜• ์—ฐ์‚ฐ๋งŒ ์•„๋ฌด๋ฆฌ ์—ฌ๋Ÿฌ ์ธต์œผ๋กœ ๊นŠ๊ฒŒ ์Œ“์•„๋„, ๊ฒฐ๊ตญ์€ ์ˆ˜ํ•™์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๋‹จ์ˆœํ•œ ์„ ํ˜• ์—ฐ์‚ฐ์œผ๋กœ ์••์ถ•๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค.
ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ณต์žกํ•œ ์ด๋ฏธ์ง€ ํŒจํ„ด์€ ๋‹จ์ˆœํ•œ ์ง์„  ํ˜•ํƒœ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ๊ตฝ์–ด์ง„ ๊ฒฝ๊ณ„์„ ์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ReLU์™€ ๊ฐ™์€ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์˜๋„์ ์œผ๋กœ ๋น„์„ ํ˜•์„ฑ ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋Œ€ํ‘œ์ ์ธ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ๋Š” ReLU ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. 0 ์ดํ•˜์˜ ๊ฐ’์€ ๋ฌด์‹œํ•˜๊ณ , 0๋ณด๋‹ค ํฐ ๊ฐ’์€ ๊ทธ๋Œ€๋กœ ํ†ต๊ณผ์‹œํ‚ค๋Š” ๋งค์šฐ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์ง€๋งŒ, ๋”ฅ๋Ÿฌ๋‹์—์„œ ๋น„์„ ํ˜•์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ํ•™์Šต ์†๋„๋ฅผ ๋น„์•ฝ์ ์œผ๋กœ ๋†’์—ฌ์ฃผ์–ด ๋ชจ๋ธ์ด ๋ณต์žกํ•œ ํ•™์Šต ํŒจํ„ด์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

4. ํ’€๋ง ์ธต(Pooling layer)

๋‹ค์Œ์œผ๋กœ ํ’€๋ง ์ธต์€ ํ•ฉ์„ฑ๊ณฑ ์ธต์—์„œ ์ถ”์ถœ๋œ feature map์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์ด๋ฉด์„œ ์ค‘์š”ํ•œ ํŠน์ง•์„ ๋ณด์กดํ•  ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
CNN์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ’€๋ง ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • Max Pooling : ์ฃผ์–ด์ง„ ํ’€๋ง ์œˆ๋„์šฐ ๋‚ด์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’๋งŒ ๋‚จ๊ธฐ๋Š” ๋ฐฉ์‹.
  • Average Pooling : ์œˆ๋„์šฐ ๋‚ด์˜ ๊ฐ’๋“ค์˜ ํ‰๊ท ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹


5. ๋ฐ€์ง‘ ์ธต(Fully-connected layer)

๋ฐ€์ง‘ ์ธต(Fully-connected layer)์€ ์ถ”์ถœ๋œ feature๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ข… ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋ถ„๋ฅ˜ ๋ชจ๋ธ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์— ์ฃผ๋กœ ์œ„์น˜ํ•˜๋ฉฐ, ์ด์ „ ์ธต์—์„œ ๋ฝ‘์•„๋‚ธ ์—ฌ๋Ÿฌ ์ฐจ์›์˜ ์ง€์—ญ์  ํŠน์„ฑ๋“ค์„ 1์ฐจ์›์œผ๋กœ ์ญ‰ ํŽด์ฃผ๋Š” Flatten ์ธต์„ ๋จผ์ € ๊ฑฐ์นœ๋‹ค. ์ดํ›„ 1์ฐจ์›์œผ๋กœ ๋ณ€ํ™˜๋œ ๋ชจ๋“  ํŠน์ง•๋“ค์ด ๋ฐ€์ง‘ ์ธต์˜ ๋…ธ๋“œ๋“ค๊ณผ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์ตœ์ข… ํ™•๋ฅ (์˜ˆ: ๊ฐ•์•„์ง€์ผ ํ™•๋ฅ  80%, ๊ณ ์–‘์ด์ผ ํ™•๋ฅ  20%)์„ ๊ณ„์‚ฐํ•ด ๋ƒ…๋‹ˆ๋‹ค. ๋ถ€๋ถ„์ ์ธ ํŠน์ง•๋งŒ์œผ๋กœ๋Š” ์ „์ฒด๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์—†๊ธฐ์—, ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ข…ํ•ฉ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

6. ์‹ค์ œ CNN์˜ ํ•™์Šต ์ž‘๋™ ๋ฐฉ์‹

๊ทธ๋ ‡๋‹ค๋ฉด CNN์€ ์–ด๋–ป๊ฒŒ ์ •๋‹ต์„ ๋งž์ถฐ ๋‚˜๊ฐ€๋Š”๊ฑธ๊นŒ? ๊ฐ•์™€์ง€์™€ ๊ณ ์–‘์ด๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ชจ๋ธ์„ ์˜ˆ๋กœ ๋“ค์–ด๋ณด์ž!

๋งŒ์•ฝ ๊ฐ•์•„์ง€ ์ด๋ฏธ์ง€๊ฐ€ ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ ์ถœ๋ ฅ์ด ์ด์ƒ์ ์ธ ์ •๋‹ต์ด [1,0] ์ด๊ณ , ๊ณ ์–‘์ด๋Š” [0,1] ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

  1. ์˜ˆ์ธก๊ณผ ์˜ค์ฐจ ๋ฐœ์ƒ : ์‹ค์ œ๋กœ ๊ฐ•์•„์ง€ ์‚ฌ์ง„์ด ๋“ค์–ด์™”์„ ๋•Œ ์ตœ์ข… ์ถœ๋ ฅ๊ฐ’์ด [0.7,0] ์ด ๋‚˜์™”๋‹ค๊ณ  ํ•ด๋ณด๋ฉด 0.3์ด๋ผ๋Š” ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด๋‹ค.
  2. ์—ญ์ „ํŒŒ : ๋ชจ๋ธ์€ ์ด ์˜ค์ฐจ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ์€ ์ถœ๋ ฅ์ธต์—์„œ๋ถ€ํ„ฐ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ด๋•Œ "์ด ์˜ค์ฐจ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๊ฐ ์ปค๋„์˜ ๊ฐ€์ค‘์น˜๋“ค์ด ์–ผ๋งˆ๋‚˜ ์ž˜๋ชปํ–ˆ๋Š”์ง€(๊ธฐ์—ฌํ–ˆ๋Š”์ง€)" ๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ ์ปค๋„์—๊ฒŒ ์ฑ…์ž„์„ ๋ฌป๋Š” ๊ณผ์ •์ด ๋ฐ”๋กœ ์—ญ์ „ํŒŒ์ด๋‹ค.
  3. ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ : ์—ญ์ „ํŒŒ๋ฅผ ํ†ตํ•ด ๊ฐ ์ปค๋„์˜ ์ฑ…์ž„(๊ธฐ์šธ๊ธฐ, Gradient)์ด ๊ณ„์‚ฐ๋˜๋ฉด, ๊ฐ ์ปค๋„์˜ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ•์•„์ง€ ์ด๋ฏธ์ง€์˜ ๊ณ ์œ ํ•œ ํŠน์ง•์„ ๋” ์ž˜ ์žก์•„๋‚ผ ์ˆ˜ ์žˆ๋„๋ก kernel์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋ฏธ์„ธํ•˜๊ฒŒ ์กฐ์ •ํ•œ๋‹ค. ์ด ์—…๋ฐ์ดํŠธ ๊ณผ์ •์˜ ํ•ต์‹ฌ์€ ์ปค๋„์˜ ๊ฐ€์ค‘์น˜ ํŒจํ„ด์ด ๊ฐ•์•„์ง€์˜ ์ง€์—ญ ํŠน์„ฑ(Local Feature)๊ณผ ์ ์  ์œ ์‚ฌํ•ด์ง€๋„๋ก ๋ณ€ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ์ˆ˜๋งŽ์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต ํ•™์Šตํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ๊ฐ์˜ ์ปค๋„๋“ค์€ ๊ฐ•์•„์ง€์™€ ๊ณ ์–‘์ด์˜ ํŠน์ง•์„ ์ž˜ ๊ตฌ๋ถ„ํ•˜๋Š” ํ•„ํ„ฐ๋กœ ๋ณ€ํ™”๋œ๋‹ค.

๐Ÿง  ๋งˆ๋ฌด๋ฆฌ: ์ธ๊ฐ„์˜ ๋‡Œ์™€ CNN์˜ ํ‰ํ–‰์ด๋ก 

๋ˆˆ์„ ํ†ตํ•ด ๋“ค์–ด์˜จ ์‹œ๊ฐ ์ •๋ณด๋Š” ์‹œ์ƒ์— ์žˆ๋Š” LGN์„ ๊ฑฐ์ณ์„œ ์ ์  ๋” ๋ณต์žกํ•œ ์ƒ์œ„ ๋ ˆ๋ฒจ์˜ ์ฒ˜๋ฆฌ ์ง€์—ญ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ผ๊ฐ„๋‹ค. ์ธ๊ฐ„์˜ ์‹œ๊ฐ ์ •๋ณด ์ฒ˜๋ฆฌ ๊ณผ์ •์€ ์ƒ์œ„ ์˜์—ญ์œผ๋กœ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜๋ก ์ฒ˜๋ฆฌํ•˜๋Š” feature์˜ ๋ณต์žก๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ„๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค.
๋งˆ์น˜ CNN์˜ ํ•ฉ์„ฑ๊ณฑ ์ธต์ด ๊นŠ์–ด์งˆ ์ˆ˜๋ก ๋ณต์žกํ•œ ํ˜•ํƒœ์˜ feature๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํŠน์„ฑ๊ณผ ์•„์ฃผ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
CNN๊ณผ ์‚ฌ๋žŒ์˜ ๋‡Œ๋Š” ์–ด๋А์ •๋„ ์œ ์‚ฌ์„ฑ์„ ๋ณด์ด๋Š” ์ ์ด ํฅ๋ฏธ๋กญ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€