๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Data Science/Computer Vision

[ML] Convolutional Neural Network(CNN)

๋ฐ˜์‘ํ˜•

๐Ÿ”‰ํ•ด๋‹น ์ž๋ฃŒ ๋‚ด์šฉ์€ ์ˆœ์ฒœํ–ฅ๋Œ€ํ•™๊ต ๋น…๋ฐ์ดํ„ฐ๊ณตํ•™๊ณผ ๊น€์ •ํ˜„ ๊ต์ˆ˜๋‹˜์˜ ์ˆ˜์—…์ž๋ฃŒ์— ๊ธฐ๋ฐ˜ํ•˜์˜€์œผ๋ฉฐ ์ˆ˜์—…์ž๋ฃŒ์˜ ์ €์ž‘๊ถŒ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ˆ˜์—…์ž๋ฃŒ๋ฅผ ์ง์ ‘ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ์ˆ˜์—…์ž๋ฃŒ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋ณธ์ธ์ด ์ง์ ‘ ์ž‘์„ฑํ•˜์˜€์œผ๋ฏ€๋กœ ์ €์ž‘๊ถŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ์„ ํ•„ํžˆ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. 

 

์ปดํ“จํ„ฐ ๋น„์ ผ ์ฆ‰, ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ํฐ ์ผ์กฐ๋ฅผ ํ•œ ๋ชจ๋ธ์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ๋ฐ”๋กœ CNN(Convolutional Neural Network) ๋ชจ๋ธ์ด๋‹ค.(์• ์„ํ•˜๊ฒŒ๋„ ์—ฌ๊ธฐ์„œ์˜ CNN์€ ๋ฏธ๊ตญ์˜ ์ƒ๋ฐฉ์†ก ๋‰ด์Šค ์ „๋ฌธ ํ…”๋ ˆ๋น„์ „ ๐Ÿ“บ๋ฐฉ์†ก์‚ฌ CNN๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค.) ์ตœ๊ทผ์— CNN์€ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๋ฅผ ๋„˜์–ด์„œ RNN์˜ Seq2Seq ๋ชจ๋ธ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ Image Captioning ์ฆ‰, ๊ธฐ๊ณ„๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ํ…์ŠคํŠธ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ๊นŒ์ง€ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” ํฅ๋ฏธ๋กœ์šด ๋ฐ•์ง€ํ˜ธ๋‹˜์˜ ํฌ์ŠคํŒ… ๊ธ€์ด ์žˆ๋Š”๋ฐ, ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์ž. ์ˆ˜์‹ ์—†์ด ์ตœ๋Œ€ํ•œ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์ง‘์ค‘์ด ์•ˆ๋œ๋‹ค๋ฉด ์ € ํฌ์ŠคํŒ…์„ ํ†ตํ•ด ๋จธ๋ฆฌ๋ฅผ ๋ฆฌํ”„๋ ˆ์‰ฌ ์‹œ์ผœ๋ณด์ž!๐Ÿ˜€

 

CNN๋ชจ๋ธ์€ ์ด CNN์ด ์•„๋‹ˆ์•ผ!

 

์•ž์œผ๋กœ ์†Œ๊ฐœํ•  ๋‚ด์šฉ๋“ค์˜ ๋ชฉ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

 

1. CNN์€ ์™œ ๋“ฑ์žฅํ•˜์˜€๋Š”๊ฐ€?

2. CNN์˜ 'C'๋Š” ์ง„์งœ 'Convolution'์ธ๊ฐ€?

3. CNN์˜ ํŠน์„ฑ

4. CNN์ด ๋™์ž‘ํ•˜๋Š” ๊ณผ์ •

1. CNN์€ ์™œ ๋“ฑ์žฅํ•˜์˜€๋Š”๊ฐ€?

๋ณธ๊ฒฉ์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ CNN์ด ๋“ฑ์žฅํ•œ ์ด์œ ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ์šฐ๋ฆฌ๋Š” ๊ทธ๋™์•ˆ ๋”ฅ๋Ÿฌ๋‹์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” DNN(Deep Neural Network)์— ๋Œ€ํ•ด ๋ฐฐ์›Œ์™”๊ณ  ํ…์„œํ”Œ๋กœ์šฐ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ณผ์ •๊นŒ์ง€ ์ง„ํ–‰ํ•ด๋ณด์•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์—๋„ ์ด DNN์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋ ๊นŒ?

 

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด, ์•ˆ๋œ๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” DNN์„ ์ด์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋น„ํšจ์œจ์ ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ผ๋ฐ˜ ์ˆ˜์น˜ํ˜•, ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” Tabular ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‹ค ๊ณ ๋ คํ•˜์—ฌ ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์ด๋ฏธ์ง€์˜ ๊ฐ™์€ ๊ฒฝ์šฐ, ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์น˜ ์ž‘์€ ์ˆ˜๋งŽ์€ ์ •์‚ฌ๊ฐํ˜•์˜ ๋ชจ์ž„์œผ๋กœ ๊ฐ€์ •ํ–ˆ์„ ๋•Œ,(์ด๋ฅผ ํ”ฝ์…€๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค) ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋„ค๋ชจ์นธ(ํ”ฝ์…€)๋“ค์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

์ง€๊ตฌ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

 

์œ„ ์ง€๊ตฌ ์‚ฌ์ง„์„ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์‚ฌ์ง„ ์† ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜๋งŽ์€ ์ •์‚ฌ๊ฐํ˜•๋“ค(ํ”ฝ์…€๋“ค)๋กœ ๋‚˜๋ˆ„์–ด ๋ณธ๋‹ค๊ณ  ํ•  ๋•Œ, ์ง€๊ตฌ๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ๋‹ด๊ณ  ์žˆ๋Š” ๋งŽ์€ ํ”ฝ์…€๋“ค์ด ์กด์žฌํ•  ๊ฒƒ์ด์ง€๋งŒ, ๋ฐ˜๋ฉด์— ๋Œ€๋ถ€๋ถ„์˜ ์ •์‚ฌ๊ฐํ˜•๋“ค์€ ์‚ฌ์ง„ ์† ๊ฒ€์€ ๋ฐฐ๊ฒฝ์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ”ฝ์…€๋“ค์ผ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์—ˆ์„ ๋•Œ, ๋งŒ์•ฝ DNN์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฒ€์€ ๋ฐฐ๊ฒฝ์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ”ฝ์…€์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค๋„ ๋ชจ๋‘ ํ•™์Šต์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์˜ ํ˜„์žฌ ๋ชฉ์ ์ด ๋ฌด์—‡์ธ๊ฐ€? ์‚ฌ์ง„ ์† ์ด๋ฏธ์ง€๊ฐ€ '์ง€๊ตฌ'๋ผ๋Š” ๊ฒƒ์„ ์ธ์‹ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด ์•„๋‹Œ๊ฐ€? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฒ€์€ ๋ฐฐ๊ฒฝ์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ”ฝ์…€๋“ค์„ ํ•™์Šตํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ธํ•ด DNN์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ํ•™์Šต ์‹œ ๋น„ํšจ์œจ์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ Convolution์„ ํ™œ์šฉํ•œ CNN ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Convolution์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

2. CNN์˜ 'C'๋Š” ์ง„์งœ 'Convolution'์ธ๊ฐ€?

์ œ๋ชฉ์„ ๋ณด๊ณ  ์˜์•„ํ•ด ํ• ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๋ฐฉ๊ธˆ๊นŒ์ง€ Convolution์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ด๊ฒŒ ์ง„์งœ Convolution์ด๋ผ๋Š” ๋ง์ด ๋Œ€์ฒด ๋ฌด์Šจ ์ด์•ผ๊ธฐ์ธ๊ฐ€?

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ํ˜„์žฌ ๋”ฅ๋Ÿฌ๋‹ ๊ตฌํ˜„ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ CNN ๊ตฌํ˜„ ์‹œ Convolution์ด ์•„๋‹Œ Cross-Correlation์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ Convolution๊ณผ Cross-Correlation์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

2-1. Convolution(ํ•ฉ์„ฑ๊ณฑ)

์šฐ์„  ์ปจ๋ณผ๋ฃจ์…˜์˜ ์ˆ˜ํ•™์  ์ˆ˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

Convolutuon ์ˆ˜์‹

 

์œ„ ์ˆ˜์‹์—์„œ f(T)์€ ์ž…๋ ฅ๋ฐ์ดํ„ฐ(x), g(t-T)์€ ํ•„ํ„ฐ(Filter)ํ•จ์ˆ˜๋ฅผ, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ํ•„ํ„ฐํ•จ์ˆ˜์˜ ํ•ฉ์„ฑ๊ณฑ(Convolution)์ธ  (f*g)(t)๋Š” y ์ฆ‰, ์ถœ๋ ฅ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ•„ํ„ฐ ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ์ดํ›„ ๋ชฉ์ฐจ์ธ 4. CNN์ด ๋™์ž‘ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ž. ์šฐ์„ ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•„ํ„ฐํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ •์˜ํ•˜์ž๋ฉด, ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ ํ•„ํ„ฐํ•จ์ˆ˜๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด ๋ถ€๋ถ„์ ์œผ๋กœ ํ›‘์–ด๊ฐ€๋ฉด์„œ ํ•ด๋‹น ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 

2-2. Cross-Correlation(๊ต์ฐจ์ƒ๊ด€)

 

Cross-Correlation ์ˆ˜์‹

 

์œ„ ์ˆ˜์‹์—์„œ ๊ฐ ํ•จ์ˆ˜์˜ ์˜๋ฏธ๋Š” ์ปจ๋ณผ๋ฃจ์…˜์ผ ๋•Œ์™€ ๋™์ผํ•˜๋‹ค. ๋‘ ์ˆ˜์‹์„ ๋†“๊ณ  ๋ณด์•˜์„ ๋•Œ, ํ•œ ๊ฐ€์ง€ ์ฐจ์ด์ ์ด ๋ณด์ธ๋‹ค. ๋ฐ”๋กœ ํ•„ํ„ฐ ํ•จ์ˆ˜ g()์•ˆ์— ์žˆ๋Š” ๋ถ€ํ˜ธ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ์ ์ด๋‹ค. 

 

Convolution์—์„œ ํ•„ํ„ฐํ•จ์ˆ˜ g()๋Š” ์ž…๋ ฅ๋ฐ์ดํ„ฐ ํ•จ์ˆ˜ f()์—์„œ -๋ฅผ ๋ถ™์—ฌ ๋’ค์ง‘์–ด(y์ถ• ๋Œ€์นญ) t๋งŒํผ ํ‰ํ–‰์ด๋™์„ ์‹œ์ผฐ๋‹ค. ๋ฐ˜๋ฉด์— Cross-Correlation์€ ํ•„ํ„ฐ ํ•จ์ˆ˜ g()๋ฅผ ๋’ค์ง‘์ง€ ์•Š๊ณ  t๋งŒํผ ํ‰ํ–‰์ด๋™์„ ์‹œ์ผฐ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ƒํƒœ๋กœ ์ž…๋ ฅํ•จ์ˆ˜์™€ ํ•„ํ„ฐํ•จ์ˆ˜์˜ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์„ -๋ฌดํ•œ๋Œ€ ~ +๋ฌดํ•œ๋Œ€๋กœ ์ด๋™ํ•˜๋ฉด์„œ ์ ๋ถ„์‹œ์ผœ ๋ฉด์ ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๊ฒน์น˜๋Š” ๋ฉด์ ์„ ๊ตฌํ•˜๋Š” ๋™์˜์ƒ์€ ํ•˜๋‹จ์„ ์ฐธ๊ณ ํ•ด๋ณด์ž. ์ดํ•ดํ•˜๊ธฐ ๋งค์šฐ ์ง๊ด€์ ์ด๋‹ค.

https://www.youtube.com/watch?v=O9-HN-yzsFQ

Cross-correlation VS Convolution

๋”ฐ๋ผ์„œ ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ๋’ค์ง‘์—ˆ๋Š”์ง€ ์•„๋‹Œ์ง€๊ฐ€ ๋‘ ๊ฐœ์˜ ์ฐจ์ด์ ์ด๋‹ค. ํ•˜์ง€๋งŒ CNN์˜ ๋ชฉ์ ์€ ์ด ํ•„ํ„ฐํ•จ์ˆ˜ ๊ฐ’๋“ค(ํŒŒ๋ผ๋ฏธํ„ฐ=CNN์—์„œ์˜ Weight)์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. ๋‹ค์‹œ ๋งํ•ด์„œ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์˜ ๋ฉด์ ์„ ๊ตฌํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ๋’ค์ง‘์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์ƒ๊ด€์ด ์—†๋‹ค. ๊ทธ๋ž˜์„œ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ๋’ค์ง‘๋Š” ์—ฐ์‚ฐ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์˜คํžˆ๋ ค ์—ฐ์‚ฐ๋Ÿ‰์„ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ๋’ค์ง‘์ง€ ์•Š๋Š” Cross-Correlation์„ ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.

3. CNN์˜ ํŠน์„ฑ

CNN์˜ Convolution์— ๋Œ€ํ•ด์„œ๋„ ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด์•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ DNN์— ๋น„ํ•ด CNN์˜ ์žฅ์ ์€ ๋ฌด์—‡์ผ๊นŒ?

 

  • DNN์— ๋น„ํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ ํ˜„์ €ํžˆ ์ ๋‹ค. ์ฆ‰ DNN๋ณด๋‹ค ๊ณผ๋Œ€์ ํ•ฉ ๋ฌธ์ œ๋ฅผ ๋œ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.
  • ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€์—์„œ ๋ถ€๋ถ„์ ์ธ ํŠน์„ฑ์„ ์ถ”์ถœํ•œ๋‹ค. ์ด ๋•Œ ์ด ํ•„ํ„ฐํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ด๋ฏธ์ง€์˜ ์—ฌ๋Ÿฌ๊ฐœ ํŠน์ง•์„ ์ถ”์ถœํ•œ๋‹ค๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์˜๋ฏธ์ด๋‹ค.
  • Weight Sharing: ํ•„ํ„ฐ์˜ Weight๊ฐ’์„ ๊ณ ์ •์‹œํ‚จ ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ์ด๋™(shift)์‹œ์ผœ์„œ ์ด๋ฏธ์ง€์˜ ์ง€์—ญ์ ์ธ ํŠน์„ฑ์„ ์ถ”์ถœํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ•„ํ„ฐ๋ฅผ shift ํ•˜๋ฉด์„œ ๊ฒน์ณ์ง€๋Š” ๋ถ€๋ถ„์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•˜๋ฉฐ ์ด ๋•Œ ํ•„ํ„ฐ๊ฐ’๋“ค์„ ๊ณต์œ ํ•œ๋‹ค๊ณ  ํ•˜์—ฌ Weight Sharing ํŠน์„ฑ์ด ์กด์žฌํ•œ๋‹ค.
  • Pooling(SubSampling) : ์ผ์ข…์˜ Downsampling์ด๋‹ค. ํ•„ํ„ฐํ•จ์ˆ˜๋กœ ์ถ”์ถœํ•œ ํŠน์ง• ๊ฐ’๋“ค ์ค‘ ์ผ์ •ํ•œ ๊ธฐ์ค€(max, average ๋“ฑ)์œผ๋กœ ๋Œ€ํ‘ฏ๊ฐ’์„ ์ถ”์ถœํ•œ๋‹ค.(์ฐธ๊ณ ๋กœ Pooling๋„ ํ•„ํ„ฐํ•จ์ˆ˜์ฒ˜๋Ÿผ size๊ฐ€ ์กด์žฌ) ๋˜ํ•œ Downsampling์ด๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ์†Œ(์ฐจ์›์˜ ๊ฐ์†Œ) ์—ญํ• ์„ ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

4. CNN์ด ๋™์ž‘ํ•˜๋Š” ๊ณผ์ •

CNN์€ ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฑธ๊นŒ? ๋‹จ๊ณ„์ ์œผ๋กœ ํ•˜๋‚˜์”ฉ ์•Œ์•„๊ฐ€๋ณด์ž.(์ด๋ฏธ์ง€ ์ถœ์ฒ˜

#์‹ค์ œ๋กœ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” Cross-Correlation ๊ณผ์ •์ด์ง€๋งŒ ํŽธ์˜์ƒ, ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋ธ ์ด๋ฆ„ ์ž์ฒด๊ฐ€ Convolutional Neural Network์ด๊ธฐ ๋•Œ๋ฌธ์— ์•ž์œผ๋กœ๋Š” ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก Cross-Correlation์„ Convolution์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

4-1. Filter(=Kernel) ๊ณผ์ •

Filter๋กœ ์ด๋ฏธ์ง€ ํŠน์ง•์„ ์ถ”์ถœํ•œ๋‹ค.

 

๊ฐ€์žฅ ๋จผ์ € ํ•˜๋Š” ๋‹จ๊ณ„๋Š” ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ '๋น„ํ–‰๊ธฐ'๋ผ๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ input์œผ๋กœ ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ์„ค์ •ํ•œ ๋žœ๋ค๊ฐ’๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ํ•„ํ„ฐํ•จ์ˆ˜๋กœ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•œ๋‹ค. ๋ณดํ†ต ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ๊ฐ€ ํ•„ํ„ฐ ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ํฌ๋ฉฐ ๋งŒ์•ฝ "์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ = ํ•„ํ„ฐ ์‚ฌ์ด์ฆˆ" ๊ฐ€ ๋œ๋‹ค๋ฉด FNN(Feed-forward Neural Network) ์ฆ‰, ์ผ๋ฐ˜์ ์ธ DNN ๋ฐฉ์‹๊ณผ ๋™์ผํ•ด์ง„๋‹ค. 

 

๋˜ํ•œ ์œ„์—์„œ๋„ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ํ•„ํ„ฐ ๊ฐœ์ˆ˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹ค์ œ๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€์˜ ์—ฌ๋Ÿฌ ํŠน์„ฑ์„ ๋™์‹œ์— ์ถ”์ถœํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋นˆ๋ฒˆํ•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ฏธ์ง€์˜ ๋ถ€๋ถ„๊ณผ ํ•„ํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ Convolutionํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?

 

์ž…๋ ฅ ์ด๋ฏธ์ง€์™€ ํ•„ํ„ฐ๊ฐ€ ๊ณ„์‚ฐ๋˜๋Š” ๋ฐฉ์‹

 

์œ„ ์›€์ง์ด๋Š” ๊ทธ๋ฆผ์—์„œ ์™ผ์ชฝ 5*5 ์‚ฌ์ด์ฆˆ์˜ Image์—์„œ ๋นจ๊ฐ„์ƒ‰ ๊ธ€์”จ๋กœ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์กฐ๊ทธ๋งฃ๊ฒŒ ์จ์žˆ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ํ•„ํ„ฐ์ด๋‹ค. ์ฆ‰ ํ•„ํ„ฐ๋Š” 3*3 ์‚ฌ์ด์ฆˆ๋กœ [[1,0,1], [0,1,0], [1,0,1]] ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์ด๋Ÿฐ 3*3 ์‚ฌ์ด์ฆˆ์˜ ํ•„ํ„ฐ๋กœ 5*5 ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ๋ถ€๋ถ„์„ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ํ›‘๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋ฒˆ ํ›‘์„ ๋•Œ๋งˆ๋‹ค ์ฆ‰, ์ด๋ฏธ์ง€์˜ 3*3 ์‚ฌ์ด์ฆˆ์˜ ํ•œ ๋ถ€๋ถ„์„ ํ›‘์„ ๋•Œ๋งˆ๋‹ค Convolved Feature์ด๋ผ๋Š” ์ถ”์ถœ๋œ ํŠน์ง• ๋งคํŠธ๋ฆญ์Šค์— ๊ฐ’์ด ํ•˜๋‚˜์”ฉ ๊ณ„์‚ฐ๋œ๋‹ค. 

 

์ข€ ๋” ์ž์„ธํžˆ ์—ฐ์‚ฐ์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ๋ณด๊ธฐ ์œ„ํ•ด ๊ทธ๋ฆผ ํ•˜๋‚˜๋ฅผ ๋” ์‚ดํŽด๋ณด์ž.

 

https://anhreynolds.com/blogs/cnn.html

 

์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํŒŒ๋ž€์ƒ‰ ๋„ค๋ชจ์นธ์œผ๋กœ ๋˜์–ด ์žˆ๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์—์„œ ํ•„ํ„ฐ ์‚ฌ์ด์ฆˆ๋งŒํผ์˜ ๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ๊ฐ’๊ณผ ๋ณด๋ผ์ƒ‰ ํ•„ํ„ฐ๊ฐ’์„ ์—ฐ์‚ฐํ•ด์ค€๋‹ค. ์—ฐ์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ถ€๋ถ„ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๊ฐ’๊ณผ ํ•„ํ„ฐ๊ฐ’ ๊ฐ๊ฐ ๋™์ผํ•œ ์œ„์น˜์— ๋งคํ•‘๋˜๋Š” ๊ฐ’๋“ค๋ผ๋ฆฌ ๊ณฑํ•ด์„œ ํ•ฉ(summation)ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์‹ค์ œ 31์ด ๋‚˜์˜ค๋Š”์ง€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์ง์ ‘ ์ข…์ด์— ํ•œ ๋ฒˆ ๊ณ„์‚ฐํ•ด๋ณด์ž. 

 

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

 

์ฐธ๊ณ ๋กœ, ๋ถ€๊ฐ€์ ์ธ ์ด์•ผ๊ธฐ์ง€๋งŒ ์„ ๋ช…ํ•œ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋ธ”๋Ÿฌ๋ง(ํ๋ฆฟํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ)์‹œ์ผœ์ฃผ๊ธฐ ์œ„ํ•ด์„œ ํ•„ํ„ฐ ์ดˆ๊ธฐ๊ฐ’์„ Gaussian ๋ถ„ํฌ๋กœ ์„ค์ •ํ•˜์—ฌ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ํ๋ฆฟํ•œ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜์‹œํ‚ค๊ธฐ๋„ ํ•œ๋‹ค.

4-2. Convolution + Pooling

๋‹ค์Œ์€ ์ปจ๋ณผ๋ฃจ์…˜๊ณผ Pooling ๊ณผ์ •์ด๋‹ค. ๋ณดํ†ต ํ•œ ๋ฒˆ์˜ Convolution๊ณผ Pooling์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚˜๋ฉด CNN์—์„œ ํ•œ ๊ฐœ์˜ ์ธต(layer)์ด ์™„์„ฑ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์—ฌ๋Ÿฌ๋ฒˆ์˜ ์ปจ๋ณผ๋ฃจ์…˜๊ณผ ํ’€๋ง ๊ณผ์ •์—์„œ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋Š” ์ฐจ์› ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค.

 

https://medium.com/machine-learning-bites/deeplearning-series-convolutional-neural-networks-a9c2f2ee1524

 

์šฐ์„  ์œ„ ๊ทธ๋ฆผ์—์„œ f๋Š” ํ•„ํ„ฐ ์‚ฌ์ด์ฆˆ, s๋Š” stride, p๋Š” padding(padding์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ํ•˜๋‹จ์—์„œ ๋‹ค๋ฃจ๊ฒ ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ padding=0์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.)

 

๊ทธ๋ฆผ ์† 32*32 ์‚ฌ์ด์ฆˆ์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์—์„œ 6๊ฐœ์˜ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ด ํŠน์ง•์„ ์ถ”์ถœํ•œ๋‹ค. ์ถ”์ถœํ•œ ํŠน์ง• ์ด๋ฏธ์ง€์˜ size๋Š” 28*28์ด๋ฉฐ ์ถ”์ถœํ•œ ํŠน์ง• ๊ฐœ์ˆ˜๋Š” 6๊ฐœ์ด๋‹ค.(ํ•„ํ„ฐ๊ฐœ์ˆ˜ 6๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ถœ๋˜๋Š” ํŠน์ง• ๊ฐœ์ˆ˜๋„ 6๊ฐœ์ž„์„ ๊ธฐ์–ตํ•˜์ž)

<Stride๋ž€?>

์—ฌ๊ธฐ์„œ Stride์— ๋Œ€ํ•œ ๊ฐœ๋…์— ๋Œ€ํ•ด ์งš๊ณ  ๋„˜์–ด๊ฐ€์ž. Stride๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ชฉ์ ์€ ํ•„ํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ค๋ฉด์„œ Weight sharing์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ค‘๋ณต๋œ ๊ฐ’์ด ๊ณ„์†์ ์œผ๋กœ ๋‚˜์˜ค๊ณ  ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. Stride์— ๋Œ€ํ•œ ์ง๊ด€์ ์ธ ์ดํ•ด๋ฅผ ์œ„ํ•œ ๊ทธ๋ฆผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

https://indoml.com/2018/03/07/student-notes-convolutional-neural-networks-cnn-introduction/

 

์™ผ์ชฝ๊ณผ ๊ฐ™์€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•  ๋•Œ, 3*3 ์‚ฌ์ด์ฆˆ์˜ ํ•„ํ„ฐ๋ฅผ Stride=2 ์ผ๋•Œ, ์ ์šฉํ•œ ๊ทธ๋ฆผ์ด๋‹ค. ์™ผ์ชฝ์˜ ๋นจ๊ฐ„์ƒ‰ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„์„ ๋ณด๋ฉด ์ ์„ ์œผ๋กœ ๋œ ๋ถ€๋ถ„์— ์ฒซ ๋ฒˆ์งธ๋กœ ํ•„ํ„ฐ๋ง์„ ์ง„ํ–‰ํ•˜๊ณ  ๋‹ค์Œ ํ•„ํ„ฐ๋ง์„ ์ง„ํ–‰ํ•  ๋•Œ ์ฒ˜์Œ์— ์ง„ํ–‰ํ–ˆ๋˜ ์ด๋ฏธ์ง€์˜ ๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ์—์„œ '2์นธ' ๋งŒํผ ๋„์–ด์„œ ํ•„ํ„ฐ๋ง์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.(Stride size๋ฅผ 3 by 1๊ณผ ๊ฐ™์ด ์ง๊ฐํ˜•ํƒœ๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค)

 

์ด์ œ ๋‹ค์‹œ ์ปจ๋ณผ๋ฃจ์…˜ ๊ณผ์ •์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ์ปจ๋ณผ๋ฃจ์…˜์„ ์ˆ˜ํ–‰ํ•œ ํ›„ Poolingํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. Pooling์€ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ์ถ”์ถœ๋œ ํŠน์ง• ๋ฐ์ดํ„ฐ ๊ฐ’๋“ค์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ๊ธฐ์ค€(์ตœ๋Œ“๊ฐ’, ํ‰๊ท ๊ฐ’)์œผ๋กœ ๋Œ€ํ‘ฏ๊ฐ’์„ ์ถ”์ถœํ•œ๋‹ค. 

 

์ด๋ ‡๊ฒŒ ์ปจ๋ณผ๋ฃจ์…˜๊ณผ ํ’€๋ง๊ณผ์ •์„ ํ•˜๋‚˜์˜ layer๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ CNN์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋œ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— Padding์ด๋ผ๋Š” ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ๋„ ์‚ดํŽด๋ณด์ž.

<Padding์ด๋ž€?>

ํŒจ๋”ฉ์€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๋Š˜๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ž€, ์ตœ์ดˆ๋กœ ์ž…๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ  ์ค‘๊ฐ„์— CNN layer๋ฅผ ๊ฑฐ์ณ์„œ ๋‚˜์˜ค๊ฒŒ ๋œ ํŠน์ง•๋“ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค. 

 

Padding์ด ์ถ”๊ฐ€๋œ ์ƒํƒœ์—์„œ ํ•„ํ„ฐํ•˜๋Š” ๊ณผ์ •

 

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

 

๋˜ํ•œ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ตฌํ˜„ ์‹œ padding์ธ์ž์— 'SAME'์ด๋ผ๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ size์™€ ํ•„ํ„ฐ๋ง์„ ๊ฑฐ์นœ ํ›„์˜ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ size๊ฐ€ ๊ฐ™๋„๋ก ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๊ทธ๋งŒํผ ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ padding์ด 'VALID'๋ผ๋Š” ๊ฒƒ์€ padding ํฌ๊ธฐ๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•ด์ค€๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์ฐธ๊ณ ๋กœ, Stride์™€ Padding์€ ์ผ์ข…์˜ Feature engineering ๊ธฐ์ˆ ๋กœ์„œ ์ปจ๋ณผ๋ฃจ์…˜์ด๋‚˜ ํ’€๋ง ๊ณผ์ • ์–ด๋””์—์„œ๋‚˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. 

4-3. Flatten

์—ฌ๋Ÿฌ๋ฒˆ์˜ ์ปจ๋ณผ๋ฃจ์…˜ layer๋ฅผ ๊ฑฐ์นœ ํ›„  Matrix๋กœ ๋œ ์ตœ์ข… ํŠน์ง• ๋ฐ์ดํ„ฐ๋“ค์ด ๋„์ถœ๋˜์—ˆ์„ ๊ฒƒ์ด๋‹ค. ์ด์ œ ์ด๋ฅผ Flatten ์ฆ‰, ์—ด ๋ฒกํ„ฐ๋กœ ์ญ‰~ ํŽด์ฃผ์–ด์„œ FNN์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ค€๋น„ํ•œ๋‹ค. ์ฆ‰, ์ตœ์ข…์ ์ธ ๊ฒฐ๊ณผ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋„๋ก one-hot vector ํ˜•ํƒœ๋กœ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•จ์ด ์ฃผ๋œ ๋ชฉ์ ์ด๋‹ค. ์•„๋‹ˆ ๊ทธ๋Ÿฐ๋ฐ ๊ฐ‘์ž๊ธฐ FNN์ด ์™œ ๋“ฑ์žฅํ• ๊นŒ? ์‚ฌ์‹ค CNN์•ˆ์—๋Š” FNN์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด์ฐŒ๋ฌ๊ฑด ๋ณธ์งˆ์ ์ธ ๋ชฉ์ ์ธ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ FNN๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ํ•„ํ„ฐ, ์ปจ๋ณผ๋ฃจ์…˜, ํ’€๋ง ๋“ฑ๊ณผ ๊ฐ™์€ ์ด์ „๊นŒ์ง€์˜ ์ž‘์—…๋“ค์€ ๋ฐ”๋กœ ํฌ์ŠคํŒ… ์ดˆ๊ธฐ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ CNN์˜ '์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๋‹ด๊ธด ํ”ฝ์…€๋“ค๋งŒ ์ด์šฉ'์„ ๋„๋งก์•„ ํ•œ ์…ˆ์ด ๋œ๋‹ค.

 

Flatten์œผ๋กœ Fully Connected layer๋ฅผ ๋งŒ๋“ค ์ค€๋น„ํ•˜๊ธฐ

 

์œ„ ์ฒ˜๋Ÿผ Flatten์„ ์ˆ˜ํ–‰ํ•ด์ค€ ํ›„ ๊ธฐ์กด์˜ FNN์ฒ˜๋Ÿผ ์ƒˆ๋กญ๊ฒŒ Weight, bias๊ฐ’์„ ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•ด์ฃผ๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ ํ•™์Šต์„ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ softmax ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด multi-class classfication์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.(softmax๋งŒ ํ™œ์„ฑํ•จ์ˆ˜๋กœ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์€ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๋Š” ๋‹ค์ค‘๋ถ„๋ฅ˜๊ฐ€ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋กœ ๋“ฑ์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค)

4-4. Dropout

Dropout์ด๋ž€, ์ผ์ข…์˜ '๋…ธ๋“œ(=unit)๋ฒ„๋ฆฌ๊ธฐ' ์ด๋‹ค. ์œ„ CNN์˜ ๋‹จ๊ณ„์ ์ธ ๊ทธ๋ฆผ์—์„œ๋Š” ๋“ฑ์žฅํ•˜์ง€ ์•Š์•˜์ง€๋งŒ FNN ๊ณผ์ •์—์„œ Dropout์ด๋ผ๋Š” feature engineering ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค. ๋ฌผ๋ก  ํ•„์ˆ˜์ ์ธ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ Dropout์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค.

 

  • ๋…ธ๋“œ๋ฅผ ์ผ๋ถ€ ์‚ญ์ œํ•ด ๊ณผ๋Œ€์ ํ•ฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.
  • ๋…ธ๋“œ ์ œ๊ฑฐ ์‹œ ๋žœ๋คํ•œ ํ™•๋ฅ ๋กœ ์ œ๊ฑฐํ•œ๋‹ค.
  • Dropout ์ˆ˜ํ–‰ ํ›„, Train ๋ฐ์ดํ„ฐ์—์„œ๋Š” Cost๊ฐ€ ์ฆ๊ฐ€ํ•˜์ง€๋งŒ Test ๋ฐ์ดํ„ฐ์—์„œ๋Š” Cost๊ฐ€ ๊ฐ์†Œํ•œ๋‹ค.
  • Pooling๊ณผ๋Š” ์ผ์ข…์˜ '๋ฒ„๋ฆฌ๊ธฐ' ๋ผ๋Š” ๊ด€์ ์—์„œ ๋น„์Šทํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, Pooling์€ ์ผ์ •ํ•œ ๊ธฐ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ’์„ ๋ฒ„๋ฆฌ์ง€๋งŒ Dropout์€ ๋žœ๋คํ•˜๊ฒŒ ๊ฐ’(๋…ธ๋“œ)์„ ๋ฒ„๋ฆฐ๋‹ค.

์ฐธ๊ณ ๋กœ, ๊ณผ๋Œ€์ ํ•ฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ์„œ '๋ฒ„๋ฆฌ๊ธฐ' ๋ง๊ณ ๋„ '์ถ”๊ฐ€ํ•˜๊ธฐ' ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ์ ๋‹นํ•œ ํฌ๊ธฐ์˜ Noise ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ณผ๋Œ€์ ํ•ฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

https://m.blog.naver.com/PostView.nhn?blogId=laonple&logNo=220818841217&proxyReferer=https:%2F%2Fwww.google.com%2F

 

# Refrerence

tensorflow.blog/2017/12/21/convolution-vs-cross-correlation/

 

Convolution vs Cross-correlation

ํ•ฉ์„ฑ๊ณฑconvolution ํ˜น์€ ์ฝ˜๋ณผ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง์€ ์ฃผ๋กœ ์‹œ๊ฐ ๋ถ„์•ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์œ„ํ‚คํ”ผ๋””์•„์˜ ํ•ฉ์„ฑ๊ณฑ ์ •์˜๋ฅผ ๋ณด๋ฉด “ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์™€ ๋˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ๋ฐ˜์ „ ์ด๋™ํ•œ ๊ฐ’์„ ๊ณฑํ•œ ๋‹ค์Œ, ๊ตฌ๊ฐ„

tensorflow.blog

www.mdpi.com/1424-8220/19/22/4933/htm

 

A Convolutional Neural Network for Impact Detection and Characterization of Complex Composite Structures

This paper reports on a novel metamodel for impact detection, localization and characterization of complex composite structures based on Convolutional Neural Networks (CNN) and passive sensing. Methods to generate appropriate input datasets and network arc

www.mdpi.com

 

๋ฐ˜์‘ํ˜•