CNN ๋ชจ๋ธ

์žฅ์ฑ„๋ฏผยท2025๋…„ 7์›” 22์ผ

๐Ÿ“ ์ถœ๋ ฅ ํฌ๊ธฐ ๊ณ„์‚ฐ ๊ณต์‹

โœ๏ธ CNN ๊ณ„์‚ฐ ์›๋ฆฌ

๐Ÿ“ฆ 1. ๊ธฐ๋ณธ ์›๋ฆฌ: ํ•„ํ„ฐ = ํŒจํ„ด ๊ฐ์ง€๊ธฐ

  • CNN์˜ ํ•„ํ„ฐ๋Š” ์ž‘์€ ํฌ๊ธฐ์˜ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ
  • ์ด ํ•„ํ„ฐ๋ฅผ ์ด๋ฏธ์ง€ ์œ„์—์„œ ์Šฌ๋ผ์ด๋”ฉํ•˜๋ฉด์„œ, ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํŠน์ • ๋ถ€๋ถ„๊ณผ ๋‚ด์ (dot product)์„ ์ˆ˜ํ–‰

๐Ÿงฌ 2. CNN์ด ํ•™์Šตํ•˜๋Š” ๊ณผ์ •

์‹ค์ œ CNN์—์„œ๋Š” ์‚ฌ๋žŒ์ด ์œ„ ํ•„ํ„ฐ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์ง€ ์•Š์Œ
๐Ÿ‘‰ ๋Œ€์‹ , ํ•„ํ„ฐ์˜ ๊ฐ’(๊ฐ€์ค‘์น˜)์„ ํ•™์Šต!

์ดˆ๊ธฐ์—๋Š” ํ•„ํ„ฐ๊ฐ€ "๋ฌด์ž‘์œ„ ๊ฐ’"์ž„
ํ•˜์ง€๋งŒ ํ•™์Šต์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ:
์–ด๋–ค ํ•„ํ„ฐ๋Š” "์ˆ˜์ง์„ "์— ๋ฏผ๊ฐํ•ด์ง€๊ณ 
์–ด๋–ค ํ•„ํ„ฐ๋Š” "๋‘ฅ๊ทผ ์œค๊ณฝ"์— ๋ฏผ๊ฐํ•ด์ง€๊ณ 
์–ด๋–ค ํ•„ํ„ฐ๋Š” ์งˆ๊ฐ์ด๋‚˜ ๋ฐ˜๋ณต ํŒจํ„ด์— ๋ฐ˜์‘ํ•˜๋„๋ก ์กฐ์ •๋จ

์ฆ‰, CNN์€ ๋ฐ์ดํ„ฐ ์•ˆ์—์„œ ์ž์ฃผ ๋‚˜ํƒ€๋‚˜๋Š” ํŒจํ„ด์„ ์ž๋™์œผ๋กœ โ€œํƒ์ง€๊ธฐโ€๋กœ ๋งŒ๋“ค์–ด๋ƒ„.


3. ๐Ÿชœ ๊ณ„์ธต์  ๊ตฌ์กฐ

CNN์€ ํ•„ํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์ธต์œผ๋กœ ์Œ“์Œ.

1์ธต: ์—ฃ์ง€, ์„ , ๋ฐฉํ–ฅ
2์ธต: ๋ชจ์„œ๋ฆฌ, ํŒจํ„ด
3์ธต ์ด์ƒ: ๋ˆˆ, ์–ผ๊ตด, ์‚ฌ๋ฌผ์˜ ํ˜•ํƒœ

๋งˆ์น˜ ์‚ฌ๋žŒ ๋ˆˆ์ฒ˜๋Ÿผ ์ €์ˆ˜์ค€ โ†’ ๊ณ ์ˆ˜์ค€ ํŠน์ง•์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•ด ๋‚˜๊ฐ€๋Š” ๊ตฌ์กฐ


๐Ÿงฑ CNN์˜ ํ•ต์‹ฌ ๋ธ”๋ก: Convolution โ†’ ReLU โ†’ Pooling

๐ŸŽฏ ์ „์ฒด ๊ตฌ์กฐ ์š”์•ฝ
[์ž…๋ ฅ ์ด๋ฏธ์ง€]
   โ†“
[Convolution] : ํŠน์ง• ์ถ”์ถœ
   โ†“
[ReLU] : ๋น„์„ ํ˜•์„ฑ ๋ถ€์—ฌ
   โ†“
[Pooling] : ์ •๋ณด ์••์ถ• + ํŠน์„ฑ ์œ ์ง€
   โ†“
[๋‹ค์Œ ์ธต ๋ฐ˜๋ณต]

1๏ธโƒฃ Convolution (ํ•ฉ์„ฑ๊ณฑ)

๐Ÿ“Œ ์—ญํ• 
์ด๋ฏธ์ง€์˜ ์ง€์—ญ์ ์ธ ํŠน์ง•(์—ฃ์ง€, ์„ , ์งˆ๊ฐ ๋“ฑ)์„ ํ•„ํ„ฐ(์ปค๋„)๋กœ ๊ฐ์ง€

๐Ÿงฎ ์ž‘๋™ ๋ฐฉ์‹
์ž…๋ ฅ ์ด๋ฏธ์ง€ ์œ„์—์„œ ์ž‘์€ ํ•„ํ„ฐ๋ฅผ ์Šฌ๋ผ์ด๋”ฉํ•˜๋ฉฐ ๋‚ด์  ์—ฐ์‚ฐ

๊ฐ ์œ„์น˜๋งˆ๋‹ค ํŠน์ง• ๋งต(feature map) ์ƒ์„ฑ

๐Ÿ“ท ์˜ˆ์‹œ
์ž…๋ ฅ: 32ร—32ร—3 (์ปฌ๋Ÿฌ ์ด๋ฏธ์ง€)

ํ•„ํ„ฐ ํฌ๊ธฐ: 3ร—3ร—3
โ†’ ์ถœ๋ ฅ: 30ร—30ร—1 (ํŠน์ง• ๋งต ํ•˜๋‚˜)

์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•„ํ„ฐ๋ฅผ ์“ฐ๋ฉด โ†’ ์ถœ๋ ฅ ์ฑ„๋„ ์ˆ˜(๊นŠ์ด)๊ฐ€ ๋Š˜์–ด๋‚จ

2๏ธโƒฃ ReLU (Rectified Linear Unit)

๐Ÿ“Œ ์—ญํ• 
๋น„์„ ํ˜•์„ฑ ๋ถ€์—ฌ (์ด๋ฏธ์ง€ ํŠน์ง•์„ ๋” ์ž˜ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด)

์Œ์ˆ˜ ๊ฐ’์„ 0์œผ๋กœ, ์–‘์ˆ˜๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€

ReLU(x) = max(0, x)

โœ… ์ด์œ 
๋งŒ์•ฝ CNN ์ „์ฒด๊ฐ€ ์„ ํ˜• ์—ฐ์‚ฐ๋งŒ ํ–ˆ๋‹ค๋ฉด, ์•„๋ฌด๋ฆฌ ๋งŽ์€ ์ธต์„ ์Œ“์•„๋„ ๊ฒฐ๊ตญ ์„ ํ˜• ๊ฒฐ๊ณผ๋งŒ ๋‚˜์˜ด โ†’ ์˜๋ฏธ ์—†์Œ

ReLU๋Š” ๊ทธ๊ฑธ ๊นจ๊ณ  ๋ณต์žกํ•œ ํŒจํ„ด๋„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

3๏ธโƒฃ Pooling (์„œ๋ธŒ์ƒ˜ํ”Œ๋ง, ๋‹ค์šด์ƒ˜ํ”Œ๋ง)

๐Ÿ“Œ ์—ญํ• 
ํŠน์ง• ๋งต์„ ๋” ์ž‘๊ฒŒ ์ค„์ด๋ฉด์„œ (์••์ถ•)

์ค‘์š”ํ•œ ์ •๋ณด๋Š” ์œ ์ง€

์—ฐ์‚ฐ๋Ÿ‰ ์ค„์ด๊ณ , ๋ถˆ๋ณ€์„ฑ(invariance)๋„ ์ฆ๊ฐ€

๐Ÿงฎ ์ข…๋ฅ˜

์ข…๋ฅ˜์„ค๋ช…
Max Pooling์œˆ๋„์šฐ ๋‚ด์—์„œ ์ตœ๋Œ“๊ฐ’๋งŒ ๋‚จ๊น€ (๊ฐ€์žฅ ํ”ํ•จ)
Average Pooling์œˆ๋„์šฐ ๋‚ด ํ‰๊ท ๊ฐ’์„ ๋‚จ๊น€

๐Ÿ” ๋ฐ˜๋ณต ๊ตฌ์กฐ
์ด ์„ธ ๊ฐœ๋Š” ๋ณดํ†ต ํ•œ ๋ธ”๋ก์ฒ˜๋Ÿผ ๊ณ„์† ๋ฐ˜๋ณต๋ผ:

[Conv โ†’ ReLU โ†’ Pool] โ†’ [Conv โ†’ ReLU โ†’ Pool] โ†’ ...

โœ… ์š”์•ฝ
๋‹จ๊ณ„ ์ด๋ฆ„ ์—ญํ• 
1 Convolution ์ด๋ฏธ์ง€์—์„œ ํŠน์ง• ์ถ”์ถœ
2 ReLU ๋น„์„ ํ˜•์„ฑ ๋ถ€์—ฌ, ํ•™์Šต๋ ฅ ์ฆ๊ฐ€
3 Pooling ์ •๋ณด ์••์ถ•, ์œ„์น˜ ๋ถˆ๋ณ€์„ฑ ์ฆ๊ฐ€


โ“ ์™œ CNN(Convolutional Neural Network)์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?


1๏ธโƒฃ ๊ณต๊ฐ„์  ํŠน์ง• ์ถ”์ถœ์— ํŠนํ™”

  • ์ด๋ฏธ์ง€ ๋‚ด ์—ฃ์ง€, ์„ , ๋ชจ์„œ๋ฆฌ, ์งˆ๊ฐ ๋“ฑ ์ง€์—ญ์  ํŒจํ„ด(local features)์„ ์ž๋™์œผ๋กœ ๊ฐ์ง€
  • ํ•„ํ„ฐ(์ปค๋„)๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ คํ•œ ํŠน์ง• ์ถ”์ถœ ๊ฐ€๋Šฅ
  • โ†’ ์ด๋ฏธ์ง€๋‚˜ ์˜์ƒ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋œ ๊ตฌ์กฐ

2๏ธโƒฃ ํŒŒ๋ผ๋ฏธํ„ฐ ํšจ์œจ์„ฑ (MLP ๋Œ€๋น„)

  • ์ž…๋ ฅ ์ด๋ฏธ์ง€๊ฐ€ 224ร—224ร—3์ผ ๊ฒฝ์šฐ, MLP์—์„  ์ˆ˜์ฒœ๋งŒ ๊ฐœ ํŒŒ๋ผ๋ฏธํ„ฐ ํ•„์š”
  • CNN์€ ํ•„ํ„ฐ๋ฅผ ์ „์ฒด ์˜์—ญ์— ๊ณต์œ  (weight sharing)ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
    • ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ์ ์Œ
    • ์—ฐ์‚ฐ ์†๋„ ๋น ๋ฆ„
    • ๊ณผ์ ํ•ฉ ์œ„ํ—˜ ๋‚ฎ์Œ

3๏ธโƒฃ ์œ„์น˜ ๋ถˆ๋ณ€์„ฑ (Translation Invariance)

  • ์ด๋ฏธ์ง€ ๋‚ด ๊ฐ์ฒด์˜ ์œ„์น˜๊ฐ€ ์กฐ๊ธˆ ๋‹ฌ๋ผ์ ธ๋„ ๊ฐ™์€ ํŠน์ง•์œผ๋กœ ์ธ์‹ ๊ฐ€๋Šฅ
  • Convolution + Pooling ์—ฐ์‚ฐ ๋•๋ถ„์— ์œ„์น˜ ๋ณ€ํ™”์— ๊ฐ•ํ•จ
  • ์˜ˆ: ๊ณ ์–‘์ด ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ โ€œ๊ณ ์–‘์ดโ€๋กœ ์ธ์‹

4๏ธโƒฃ ๊ณ„์ธต์  ํŠน์ง• ํ•™์Šต (Hierarchical Feature Learning)

  • ์ธต์ด ๊นŠ์–ด์งˆ์ˆ˜๋ก ์ ์  ๋” ๋ณต์žกํ•œ ํŠน์ง•์„ ํ•™์Šตํ•จ
์ธต ๋‹จ๊ณ„ํ•™์Šตํ•˜๋Š” ํŠน์ง•
์–•์€ ์ธต์—ฃ์ง€, ์„ , ์ƒ‰ ๋Œ€๋น„ ๋“ฑ ๊ธฐ๋ณธ ํ˜•ํƒœ
์ค‘๊ฐ„ ์ธต๋ชจ์–‘, ์งˆ๊ฐ, ๋‹จ์ˆœ ํŒจํ„ด ๋“ฑ
๊นŠ์€ ์ธต์–ผ๊ตด, ์‚ฌ๋ฌผ ๋“ฑ ๊ณ ์ˆ˜์ค€ ๊ฐœ๋…

5๏ธโƒฃ ๋‹ค์–‘ํ•œ ์‹œ๊ฐ ๋ฌธ์ œ์— ์ ์šฉ ๊ฐ€๋Šฅ

CNN์€ ๋‹ค์–‘ํ•œ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์คŒ:

  • ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ (Image Classification)
  • ๋ฌผ์ฒด ํƒ์ง€ (Object Detection)
  • ์–ผ๊ตด ์ธ์‹ (Face Recognition)
  • ์ž์œจ์ฃผํ–‰ ๋น„์ „ (Autonomous Driving)
  • ์˜๋ฃŒ ์˜์ƒ ๋ถ„์„ (Medical Imaging)
  • ์˜์ƒ ์ƒ์„ฑ (Generative Models, e.g. GAN)

6๏ธโƒฃ ์ž๋™ ํŠน์ง• ์ถ”์ถœ (End-to-End Feature Learning)

  • ์ „ํ†ต์ ์ธ ๋ฐฉ์‹(SIFT, HOG ๋“ฑ)์€ ์‚ฌ๋žŒ์ด ์ˆ˜๋™์œผ๋กœ ํŠน์ง• ์„ค๊ณ„
  • CNN์€ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํŠน์ง•์„ ์ž๋™์œผ๋กœ ํ•™์Šต
  • โ†’ ์œ ์—ฐ์„ฑ ๋†’๊ณ , ๋ฌธ์ œ์— ๋”ฐ๋ผ ํ™•์žฅ ๊ฐ€๋Šฅ

https://rubber-tree.tistory.com/116

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