[AI]๐Ÿง  CNN(Convolutional Neural Network) ์ •๋ฆฌ

๊น€์„ฑ์œค(Jack)ยท2025๋…„ 7์›” 12์ผ

AI

๋ชฉ๋ก ๋ณด๊ธฐ
1/9

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN)์€ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , FCN(Fully Connected Network)์˜ ์—ฐ์‚ฐ๋Ÿ‰ ๋ฐ ์˜ค๋ฒ„ํ”ผํŒ… ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฟ ์•„๋‹ˆ๋ผ ์Œ์„ฑ, ์‹œ๊ณ„์—ด ๋“ฑ ๋‹ค์–‘ํ•œ ๋„๋ฉ”์ธ์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ 1. CNN์˜ ํ•„์š”์„ฑ

๊ธฐ์กด ์‹ ๊ฒฝ๋ง์˜ ํ•œ๊ณ„

  • ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ FCN์— ์ž…๋ ฅํ•˜๋ฉด ์—ฐ์‚ฐ๋Ÿ‰์ด ํญ์ฆ

  • ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์˜ค๋ฒ„ํ”ผํŒ… ์œ„ํ—˜ ์ฆ๊ฐ€

CNN์˜ ํ•ด๊ฒฐ์ฑ…

  • ๋ณ€์ˆ˜ ๊ณต์œ (Weight Sharing) : ํ•˜๋‚˜์˜ ํ•„ํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ ์žฌ์‚ฌ์šฉ

  • ํฌ์†Œ ์—ฐ๊ฒฐ(Sparse Connectivity) : ์ž…๋ ฅ ์ „์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์ผ๋ถ€ ์˜์—ญ๋งŒ ์—ฐ๊ฒฐ (๋กœ์ปฌ ํŠน์„ฑ ์ถ”์ถœ)

๐Ÿ“Œ 2. CNN์˜ ํ•ต์‹ฌ ๊ฐœ๋…

์ˆ˜์‹์œผ๋กœ ๋ณธ ๊ฐœ๋… ํ™•์žฅ

  • ์ผ๋ฐ˜์ ์ธ ๋‰ด๋Ÿฐ ์—ฐ์‚ฐ:

    y=a(z+b)y = a(z + b)

  • CNN์€ ์ด๋ฅผ 2์ฐจ์› ๊ตฌ์กฐ๋กœ ํ™•์žฅํ•˜์—ฌ, ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ง•์„ ์ถ”์ถœ:

  • ์ž…๋ ฅ ์ด๋ฏธ์ง€ + ํ•„ํ„ฐ = Feature Map

  • ์ด ๊ณผ์ •์„ ํ†ตํ•ด ํŠน์ • ํŒจํ„ด(๋ชจ์„œ๋ฆฌ, ์„ , ์งˆ๊ฐ ๋“ฑ)์„ ๊ฐ์ง€

๐Ÿ“Œ 3. CNN์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ

๐Ÿงฉ 1) Convolution Layer (ํ•ฉ์„ฑ๊ณฑ ์ธต)

  • ํ•„ํ„ฐ(Kernel):
    โ‡’\Rarr ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ
    โ‡’\Rarr ๊ฐ ํ•„ํ„ฐ๋Š” ์ž…๋ ฅ์˜ ํŠน์ง•์„ ์ถ”์ถœ (์˜ˆ: ๊ฒฝ๊ณ„, ๋ชจ์–‘)
    โ‡’\Rarr ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•„ํ„ฐ ์‚ฌ์šฉ โ†’\rarr ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฑ„๋„ ์ƒ์„ฑ

  • ํ•„ํ„ฐ ์ ์šฉ ์กฐ๊ฑด:
    โ‡’\Rarr ์ž…๋ ฅ ์ฑ„๋„ ์ˆ˜ = ํ•„ํ„ฐ ์ฑ„๋„ ์ˆ˜์—ฌ์•ผ ํ•จ

  • Padding:
    โ‡’\Rarr ์ด๋ฏธ์ง€ ๊ฒฝ๊ณ„ ์ •๋ณด๋ฅผ ๋ณด์กดํ•˜๊ณ  ์ถ•์†Œ ๋ฐฉ์ง€
    โ‡’\Rarr ์ผ๋ฐ˜์ ์œผ๋กœ same(ํฌ๊ธฐ ์œ ์ง€) or valid(ํฌ๊ธฐ ์ถ•์†Œ)

  • Stride:
    โ‡’\Rarr ํ•„ํ„ฐ๊ฐ€ ์›€์ง์ด๋Š” ๊ฐ„๊ฒฉ
    โ‡’\Rarr ๋„ˆ๋ฌด ํฌ๋ฉด ์ •๋ณด ์†์‹ค, ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ์—ฐ์‚ฐ๋Ÿ‰ ๊ณผ๋‹ค

๐Ÿงฉ 2) Pooling Layer (ํ’€๋ง ์ธต)

โ‡’\Rarr ํŠน์ง• ๋งต(feature map)์„ ์••์ถ•ํ•˜๊ณ  ์ค‘์š”ํ•œ ์ •๋ณด๋งŒ ๋‚จ๊ธฐ๋Š” ๊ณผ์ •

  • ๊ฐ€์žฅ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ : MaxPooling

  • ์ผ๋ฐ˜์ ์œผ๋กœ 2x2 ํ•„ํ„ฐ, stride=2

  • ์ „์ฒด ํฌ๊ธฐ๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ์ถ•์†Œ

  • ๋น„ํ•™์Šต์ธต: ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์Œ โ†’ ์—ฐ์‚ฐ๋งŒ ์ˆ˜ํ–‰

๐Ÿ“Œ 4. CNN์˜ ๊ตฌ์กฐ ์„ค๊ณ„

  • CNN์„ ์„ค๊ณ„ํ•  ๋•Œ ๊ณ ๋ คํ•  ์š”์†Œ:
    โ‡’\Rarr ํ•„ํ„ฐ ํฌ๊ธฐ (๋ณดํ†ต 3x3, 5x5)
    โ‡’\Rarr Stride (๋ณดํ†ต 1)
    โ‡’\Rarr Padding (same or valid)
    โ‡’\Rarr ํ•„ํ„ฐ ๊ฐœ์ˆ˜ (์ฑ„๋„ ์ˆ˜ ์ฆ๊ฐ€)

  • ์‹ค์งˆ์ ์ธ ๊ตฌ์กฐ ์„ค๊ณ„์˜ ์„ฑ๋Šฅ ์˜ํ–ฅ์€ ๋…ผ๋ฌธ์ด๋‚˜ ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ•ด ์ตœ์ ํ™”

๐Ÿ“Œ 5. ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ํ๋ฆ„

Input (์ด๋ฏธ์ง€)
โ†“
[Conv โ†’ ReLU โ†’ Pool] ร— N
โ†“
Flatten
โ†“
Fully Connected Layer (FCN)
โ†“
Softmax or Logistic (๋ถ„๋ฅ˜)

  • Conv + Pool์„ ํ•˜๋‚˜์˜ Layer ๋‹จ์œ„๋กœ ๋ณด๊ธฐ๋„ ํ•จ

  • ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ๋Š” ์ฑ„๋„ ์ˆ˜๋Š” ๋งŽ๊ณ , ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” ์ž‘์•„์ง„ feature map์„ ๋ฒกํ„ฐ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ ํ›„ ๋ถ„๋ฅ˜๊ธฐ ์—ฐ๊ฒฐ

โœ… CNN์˜ ์žฅ์  ์š”์•ฝ

๐ŸŽฏ ๋ณ€์ˆ˜ ๊ณต์œ  โ‡’\Rarr ๊ฐ™์€ ํ•„ํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์œ„์น˜์— ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ๊ฐ์†Œ
๐ŸŽฏ ํฌ์†Œ ์—ฐ๊ฒฐ โ‡’\Rarr ์ž…๋ ฅ ์ผ๋ถ€์™€๋งŒ ์—ฐ๊ฒฐ๋˜์–ด ๊ณ„์‚ฐ๋Ÿ‰ ๊ฐ์†Œ, ๊ณผ์ ํ•ฉ ๋ฐฉ์ง€
๐ŸŽฏ ์ง€์—ญ ํŠน์ง• ์ธ์‹ โ‡’\Rarr ๊ณต๊ฐ„ ๊ตฌ์กฐ๊ฐ€ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ์— ์ตœ์ ํ™”

๐Ÿ”š ๋งˆ๋ฌด๋ฆฌ

CNN์€ ๊ตฌ์กฐ์ ์œผ๋กœ ํšจ์œจ์ ์ด๊ณ , ์ด๋ฏธ์ง€๋‚˜ ์‹œ๊ณ„์—ด๊ณผ ๊ฐ™์€ ๊ณต๊ฐ„ ์ •๋ณด๊ฐ€ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์‹ ๊ฒฝ๋ง์ž…๋‹ˆ๋‹ค.

profile
AI ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค

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