๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Theory/AI & ML

[AI/ML] CNN์—์„œ Convolutional layer์˜ ๊ฐœ๋…๊ณผ ์˜๋ฏธ | ์ปจ๋ณผ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง | ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง

by ๋ญ…์ฆค 2023. 3. 23.
๋ฐ˜์‘ํ˜•

๋”ฅ๋Ÿฌ๋‹์—์„œ CNN (Convolutional Neural Network) ์€ ์ฃผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ANN (Artificial Neural Network) ์ด๋‹ค. ๋ฌผ๋ก  ์š”์ฆ˜์€ ํŠธ๋žœ์Šคํฌ๋จธ ๊ธฐ๋ฐ˜์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ CNN ๋˜ํ•œ ์—ฌ์ „ํžˆ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ํŠธ๋žœ์Šคํฌ๋จธ์™€ CNN์˜ ์กฐํ•ฉ์˜ ๋„คํŠธ์›Œํฌ ๋˜ํ•œ ์‹ฌ์‹ฌ์น˜ ์•Š๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
 
์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” CNN์˜ ํ•ต์‹ฌ layer์ธ convolutional layer์˜ ๊ฐœ๋…๊ณผ ์˜๋ฏธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค.
 

* CNN (Convolutional Neural Network)

CNN์€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๊ณ„์ธต์ ์œผ๋กœ ํ•™์Šตํ•˜๋ฉฐ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด Convolution, Pooling, Non-linear activation function ๋“ฑ์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ์ด๋Ÿฌํ•œ CNN์€ Computer vision, graphics ๋“ฑ ์˜์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

 
 

Convolutional Layer

Convolutional Layer : ํ•„ํ„ฐ ํฌ๊ธฐ ๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ณ  ์ถœ๋ ฅ ์ฑ„๋„ ๊ฐœ์ˆ˜ ๋งŒํผ ์„œ๋กœ ๋‹ค๋ฅธ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉ.

 
Convolutional Layer๋Š” CNN์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•(feature)์„ ์ถ”์ถœํ•˜๋Š” ๋ ˆ์ด์–ด์ด๋‹ค. ์ด๋ฏธ์ง€ ๊ฐ™์€ 2์ฐจ์› ๋ฐ์ดํ„ฐ์—์„œ๋Š” ํ•„ํ„ฐ(์ปค๋„)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ํ•„ํ„ฐ ๊ฐ„์˜ ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด, 3x3 ํฌ๊ธฐ์˜ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ 3x3 ๋ถ€๋ถ„๊ณผ ํ•„ํ„ฐ ๊ฐ„์˜ ํ•ฉ์„ฑ๊ณฑ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ํ•™์Šต ์ „์— ํ•„ํ„ฐ๋Š” ๋ฌด์ž‘์œ„๋กœ ์ดˆ๊ธฐํ™”๋˜๋ฉฐ, loss ๊ณ„์‚ฐ์„ ํ†ตํ•ด ์ตœ์ ์˜ ํ•„ํ„ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์ด ๋”ฅ๋Ÿฌ๋‹์—์„œ ๋งํ•˜๋Š” ํ•™์Šต์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
 
์‚ฌ์‹ค ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์ด๋ผ๋Š”๊ฒŒ ๊ธ€๋กœ๋งŒ ๋ด์„œ๋Š” ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๋œ๋‹ค. ๋‚˜๋„ ์ฒ˜์Œ์— ์–ด๋Š์ •๋„ ๋ณด๊ณ  ๋‚ด๊ฐ€ ๋‹ค ์ดํ•ดํ•œ ์ค„ ์•Œ์•˜๋Š”๋ฐ, ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ๊ณ„์† ๋‚ด๊ฐ€ ์ž˜ ๋ชป ์•Œ๊ณ  ์žˆ๋˜ ๊ฒƒ๋“ค์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๋…ผ๋ฌธ, ๋ธ”๋กœ๊ทธ, ์œ ํŠœ๋ธŒ ๋“ฑ์— ๊ต‰์žฅํžˆ ์ข‹์€ ์ž๋ฃŒ๋“ค์ด ๋งŽ์ง€๋งŒ ๊ฒฐ๊ตญ ๋ณธ์ธ์ด ๊ณผ์ • ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ๊ณ„์‚ฐํ•ด๋ด์•ผ Convolutional layer๋ฅผ ์˜จ์ „ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ, ํ•„ํ„ฐ ์‚ฌ์ด์ฆˆ, ์—ฐ์‚ฐ ๊ณผ์ •๋“ค์„ ํ™•์ธํ•ด ๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋‹ค. 
 
๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ์„œ๋Š” ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์˜ ๋””ํ…Œ์ผ์„ ์†Œ๊ฐœํ•˜๊ธฐ ๋ณด๋‹ค๋Š” CNN์—์„œ convolutional layer๊ฐ€ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š”์ง€์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ ๋ณด๋ ค ํ•œ๋‹ค.
 
 

๊ณต๊ฐ„์  ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๋Š” Convolutional Layer (ANN vs CNN)

Convolutional layer ์—ฐ์‚ฐ ์˜ˆ์‹œ

 
์•ž์„œ ์–˜๊ธฐํ–ˆ๋“ฏ์ด CNN์€ ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค ๋„๋ฉ”์ธ์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ANN์ธ Fully Connected Layer(FC layer, MLP) ์™€ CNN ์ด ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๊ธฐ์— CNN์ด ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค์—์„œ ์ž˜ ๋™์ž‘ํ•˜๋Š” ๊ฑธ๊นŒ?
 
FC layer์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ์ž๋กœ ์ญ‰ ํŽด์ง„ ์ƒํƒœ์—์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฆ‰ 1์ฐจ์› ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ธ ๊ฒƒ์ด๋‹ค.
 
๋ฐ˜๋ฉด ์˜์ƒ ๋ฐ์ดํ„ฐ๋Š” 2D ํ˜•ํƒœ์˜ ๊ณต๊ฐ„์  ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. ๊ฐ•์•„์ง€ ์ด๋ฏธ์ง€๋ฅผ ๋– ์˜ฌ๋ ค ๋ณด๋ฉด '๋จธ๋ฆฌ ์œ„์— ๊ท€๊ฐ€ ์žˆ๊ณ  ๋จธ๋ฆฌ์™€ ๋ชธ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ ... ๋“ฑ๋“ฑ' ์ด๋Š” ๋ชจ๋‘ ๊ณต๊ฐ„์  ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋œปํ•œ๋‹ค. ๋•Œ๋ฌธ์— ์˜์ƒ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ž„๋ฒ ๋”ฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณต๊ฐ„์  ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ž˜ ์ถ”์ถœํ•˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
 
CNN์—์„œ์˜ Convolutional layer๋Š” 2D ํ˜•ํƒœ์˜ ํŠน์ •ํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ํ•„ํ„ฐ๋กœ ์ด๋ฏธ์ง€ ์ „์ฒด๋ฅผ ์Šฌ๋ผ์ด๋”ฉ ํ•˜๋ฉด์„œ ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์ด ๊ณผ์ • ์ž์ฒด๊ฐ€ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ๊ณต๊ฐ„์  ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํŠน์ • ์˜์—ญ์˜ ํ…์„œ๋“ค์„ ์„ ํ˜• ๊ณ„์‚ฐ์„ ํ†ตํ•ด ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ๋งŒ๋“ค๊ณ  ์žˆ์œผ๋‹ˆ๊นŒ.
 
3 x 3 ํฌ๊ธฐ์˜ 2D conv์˜ ๊ฒฝ์šฐ ํ•œ ๋ฒˆ์— 9๊ฐœ(3x3) ํ…์„œ์˜ ์ƒ๊ด€ ๊ด€๊ณ„๋งŒ์„ ์ถ”์ถœํ•˜์ง€๋งŒ conv layer๊ฐ€ ๊ฒน๊ฒน์ด ์Œ“์ด๋ฉด ์ ์  ๋” ํฐ ์˜์—ญ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ conv layer๋Š” ๋งŽ์ด ์Œ“์ผ์ˆ˜๋ก ๋” ๋„“์€ ์˜์—ญ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ด๊ณ  ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋งŽ์ด ์••์ถ•ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
 
* ์—„๋ฐ€ํžˆ ๋”ฐ์ง€๋ฉด CNN์—์„œ ๊ฐ€์žฅ ํ”ํžˆ ์“ฐ์ด๋Š” conv layer์˜ ๊ฒฝ์šฐ 2D Conv ๋ผ๊ณ  ํ‘œํ˜„ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” [2D(๊ณต๊ฐ„ ์˜์—ญ) x ์ž…๋ ฅ ์ฑ„๋„ ํฌ๊ธฐ x ์ถœ๋ ฅ ์ฑ„๋„ ํฌ๊ธฐ] ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€์ง€๋Š” layer์ด๋‹ค.
 
* ์œ„์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด Layer1 ๋…น์ƒ‰์˜ 3x3 ์˜์—ญ์€ Layer2์˜ ํ•˜๋‚˜์˜ ํ”ฝ์…€๋กœ, Layer2 ๋…ธ๋ž€์ƒ‰ 3x3 ์˜์—ญ์€ Layer3์˜ ํ•˜๋‚˜์˜ ํ”ฝ์…€๋กœ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค. ์ฆ‰  Layer1์—์„œ 5x5 ํฌ๊ธฐ์˜ ํ…์„œ๊ฐ€ conv layer๋ฅผ 2๊ฐœ ์ง€๋‚˜๊ณ  ๋‚˜๋ฉด 1x1 ํฌ๊ธฐ๋กœ ํ•จ์ถ•๋˜๋Š” ๊ฒƒ์ด๊ณ  ์ด ๊ณผ์ •์—์„œ ๊ณต๊ฐ„์  ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์ถ”์ถœ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ์˜ˆ์‹œ ์ด๋ฏธ์ง€์—์„œ ์ฑ„๋„ ์ถ•์€ ์ƒ๋žต๋˜์–ด ์žˆ์œผ๋‹ˆ ๋จธ๋ฆฌ ์†์—์„œ ์ฑ„๋„ ์ถ•๊นŒ์ง€ ํ™•์žฅํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค.
 
 

๊ณต๊ฐ„์  ํฌ๊ธฐ๋Š” ์ž‘์•„์ง€๋„๋ก, ์ฑ„๋„์˜ ํฌ๊ธฐ๋Š” ์ปค์ง€๋„๋ก ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ด์œ 

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ์˜์ƒ ๋ฐ์ดํ„ฐ์˜ ๊ณต๊ฐ„์  ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์—(ํ•จ์ถ•์ ์œผ๋กœ) ๊ณต๊ฐ„์  ํฌ๊ธฐ๋Š” ์ž‘์•„์ง€๊ณ , ๋‹ค์–‘ํ•œ ํŠน์ง•์„ ์—ฌ๋Ÿฌ ์ฑ„๋„๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ฑ„๋„ ํฌ๊ธฐ๋Š” ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ CNN์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
 
์˜ˆ๋ฅผ ๋“ค์–ด 3 x 200 x 200 (Channel x Height x Width) ์‚ฌ์ด์ฆˆ์˜ ์ด๋ฏธ์ง€์™€ ๋ช‡ ๊ฐœ์˜ 3x3 ์‚ฌ์ด์ฆˆ convolutional layer๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌผ๋ก  ์ด๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ฑ„๋„ ๊ฐ’์ด ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ํ•„ํ„ฐ ์‚ฌ์ด์ฆˆ๋Š” ์ž…๋ ฅ ์ฑ„๋„ ํฌ๊ธฐ์™€ ์ถœ๋ ฅ ์ฑ„๋„ ํฌ๊ธฐ๊ฐ€ ๋ฐ˜์˜๋œ ์‚ฌ์ด์ฆˆ ์ผ ๊ฒƒ์ด๋‹ค. ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๋ฉฐ 3 x 200 x 200 ์‚ฌ์ด์ฆˆ ์˜€๋˜ ์ด๋ฏธ์ง€๋Š” 32 x 198 x 198 -> 64 x 100 x 100 -> ... -> 512 x 20 x 20 ๊ณผ ๊ฐ™์ด ๋ณ€ํ•ด๊ฐˆ ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ํฌ๊ธฐ ์˜€๋˜ ๊ณต๊ฐ„์  ํฌ๊ธฐ๋Š” ์ ์  ์ž‘์•„์ง€๊ณ , RGB 3๊ฐœ์˜€๋˜ ์ฑ„๋„ ๊ฐ’์€ ์ ์  ์ปค์ง€๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š”๋ฐ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ด์œ ๋Š” ๋ญ˜๊นŒ?
 
๋”ฅ ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋ฅผ ํ•™์Šตํ•ด์„œ ์–ป๊ณ  ์‹ถ์€ ๊ฒƒ์€ ๊ฒฐ๊ตญ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ํ’€๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ์™€์˜ ์ƒ๊ด€๊ด€๊ณ„์ด๋‹ค. ํ’€์–ด์•ผ ํ•  ๋ฌธ์ œ๊ฐ€ ๊ฐ•์•„์ง€, ๊ณ ์–‘์ด ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ด๋ณด์ž. ํ•™์Šต์„ ํ†ตํ•ด CNN์€ ๊ฐ•์•„์ง€์™€ ๊ณ ์–‘์ด์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๊ณ  ์ด๋ฏธ์ง€์—์„œ ์ถ”์ถœํ•œ ํŠน์ง•์„ ํ† ๋Œ€๋กœ ๊ฐ•์•„์ง€, ๊ณ ์–‘์ด, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋ณด๊ณ  ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
 
๋ฌธ์ œ ํ•ด๊ฒฐ์— key๊ฐ€ ๋˜๋Š” ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋ฏธ์ง€์˜ ๋‹ค์–‘ํ•œ ํŠน์ง•๋“ค์„ ๋ถ„๋ฆฌํ•ด์„œ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ ๋ถ„๋ฆฌํ•ด์„œ ์ถ”์ถœํ•œ ํŠน์ง•๋“ค์„ ๊ฐ๊ฐ์— ์ฑ„๋„์— ๋‹ด๊ธฐ ์œ„ํ•ด ์ฑ„๋„๊ฐ’์„ ํ‚ค์šฐ๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ ์ด๋ฏธ์ง€์—์„œ ํŠน์ • task๋ฅผ ํ‘ธ๋Š” ๋ฐ์— ์ค‘์š”ํ•œ ํŠน์ง•์ด ์žˆ์œผ๋ฉด ๊ทธ ํŠน์ง•์„ ๋ฐ˜์˜ํ•˜๋Š” ํŠน์ • ์ฑ„๋„๊ฐ’์ด ๊ฐ•ํ•˜๊ฒŒ activate๋˜๋Š” ๊ฒƒ์ด๋ผ๋Š” ๋œป์ด๋‹ค.
 
CNN ์•ž๋‹จ์—์„œ์˜ ๊ฐ ์ฑ„๋„๋“ค์€ ๊ฐ€๋กœ์„ , ์„ธ๋กœ์„ , ํŠน์ • ํŒจํ„ด๊ณผ ๊ฐ™์€ ์ €์ˆ˜์ค€์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ฒŒ ๋˜๊ณ  CNN ๋’ท๋‹จ(์ถœ๋ ฅ๊ณผ ๊ฐ€๊นŒ์šด)์—์„œ์˜ ๊ฐ ์ฑ„๋„๋“ค์€ ๊ฐ•์•„์ง€์˜ ๊ท€, ๋‹ค๋ฆฌ, ๊ผฌ๋ฆฌ์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€์—์„œ ์˜๋ฏธ์žˆ๋Š” ๊ณ ์ˆ˜์ค€์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. 3 x 200 x 200 ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€๊ฐ€ CNN์„ ํ†ต๊ณผํ•˜๊ณ  512 x 20 x 20 ํฌ๊ธฐ์˜ feature map์ด ๋˜์—ˆ๋‹ค๋ฉด 512๊ฐœ์˜ ์ฑ„๋„์€ ์ด๋ฏธ์ง€์˜ ์—ฌ๋Ÿฌ ํŠน์ง•๋“ค์„ 512๊ฐœ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. (์–ด๋–ค ์ฑ„๋„์€ ๊ฐ•์•„์ง€์˜ ๋ˆˆ, ์–ด๋–ค ์ฑ„๋„์€ ๊ผฌ๋ฆฌ,...) ๋ฌผ๋ก  512๊ฐœ์˜ ์ฑ„๋„์ด ๋ชจ๋‘ ์˜๋ฏธ์žˆ๋Š” ์ฑ„๋„์€ ์•„๋‹ˆ์ง€๋งŒ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ๋Š” ์ด๋ฏธ์ง€์—์„œ ํŠน์ง•์„ ์ถฉ๋ถ„ํžˆ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด ๋†“์€ ์ฑ„๋„ ํฌ๊ธฐ๋กœ feature ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
 
๊ฒฐ๊ตญ ๊ฐ•์•„์ง€ vs ๊ณ ์–‘์ด ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ด๋ฏธ์ง€ ํ•œ ์žฅ์ด ์ž…๋ ฅ๋˜๋ฉด ์ตœ์ข… ์ถœ๋ ฅ์€ 0(๊ฐ•์•„์ง€) ๋˜๋Š” 1(๊ณ ์–‘์ด) ์ค‘ ํ•˜๋‚˜ ์—ฌ์•ผ ํ•œ๋‹ค. ์ด ์˜์‚ฌ๊ฒฐ์ •์„ ์œ„ํ•ด CNN์€ ์ด๋ฏธ์ง€ ์†์—์„œ ์—ฌ๋Ÿฌ ํŠน์ง•๋“ค์„ ์ถ”์ถœํ•˜๊ณ  ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜๋„๋ก ํ•™์Šต๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์˜๋ฏธ๋งŒ ์ž˜ ํŒŒ์•…ํ•ด๋‘์–ด๋„ computer vision ๊ด€๋ จ ๋…ผ๋ฌธ์„ ๋ณด๊ฑฐ๋‚˜ ๋”ฅ๋Ÿฌ๋‹ ๊ด€๋ จ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ์— ๊ต‰์žฅํžˆ ํฐ ๋„์›€์ด ๋œ๋‹ค.
 
 

Transformer ์™€ CNN์˜ ์ฐจ์ด ?

์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์„ค๋ช…ํ•˜๋ฉด ์•ž์„œ ์„ค๋ช…ํ•œ CNN์€ conv layer๋ฅผ ๊ฒน๊ฒน์ด ์Œ“์•„๋†“์€ ํ˜•ํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ ํŠน์„ฑ์„ ์ž˜ ์ถ”์ถœํ•˜์ง€๋งŒ globalํ•œ ํŠน์ง•์€ ์ž˜ ์ถ”์ถœํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๊ฒฐ๊ตญ ํ•˜๋‚˜์˜ conv filter ์•ˆ์— ํฌํ•จ๋œ ์˜์—ญ์—์„œ๋งŒ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์ถ”์ถœ๋˜๊ณ  ์ด๋ฏธ์ง€์—์„œ ๊ณต๊ฐ„์ ์œผ๋กœ ๋งŽ์ด ๋–จ์–ด์ ธ ์žˆ๋Š” ํ”ฝ์…€์€ CNN ๋’ท๋‹จ์—์„œ ๊ฒจ์šฐ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๊ฒŒ ๋ ํ…Œ๋‹ˆ๊นŒ.
 
Transformer๋Š” ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ผ๊ณ  ๋ณด๋ฉด๋œ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ํŠน์ • ์‚ฌ์ด์ฆˆ๋กœ ๋‹ค ์ž˜๋ผ์„œ ํ•˜๋‚˜์˜ ์˜์—ญ๊ณผ ๋‚˜๋จธ์ง€ ๋ชจ๋“  ์˜์—ญ๊ณผ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๋Š”(self-attention) ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋””ํ…Œ์ผํ•œ ๋‚ด์šฉ์€ ์ƒ๋žต...
 


๋‚˜๋ฆ„๋Œ€๋กœ ์—ด์‹ฌํžˆ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ–ˆ๋Š”๋ฐ ์–ด๋Š ๋ถ„์•ผ์ด๊ฑด ๊ธฐ์ดˆ๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋ฉด์„œ๋„ ์„ค๋ช…ํ•˜๊ธฐ๋Š” ๋˜ ์‰ฝ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. Convolutional Layer์˜ ๊ฒฝ์šฐ ๊ณต๊ฐ„์ถ•, ์ฑ„๋„์ถ•์„ ํฌํ•จํ•œ 3์ฐจ์›์œผ๋กœ ์ดํ•ด๋ฅผ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ค๋ช…ํ•˜๊ธฐ๋„ ์ดํ•ดํ•˜๊ธฐ๋„ ๋”์šฑ ์‰ฝ์ง€๊ฐ€ ์•Š๋‹ค. 
 
CNN ๊ด€๋ จ ์ •๋ณด๋“ค์„ ์ฐพ๋‹ค๋ณด๋ฉด ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์„ ์„ค๋ช…ํ•˜๋Š” ์ž๋ฃŒ๋Š” ๋งŽ์€๋ฐ ์ •์ž‘ CNN์—์„œ convolutional layer๊ฐ€ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š”์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์ž˜ ์—†์–ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ดค๋Š”๋ฐ, ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ๋‚ด์šฉ์ด์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.
 
 

๋ฐ˜์‘ํ˜•