[CS231n/#05] Convolutional Neural Networks
๐ CNN History
๐ธ A bit of history...(NN์ด ์ ์ฐ์ด๊ฒ ๋๊ธฐ๊น์ง)
โช๏ธ ํผ์ ํธ๋ก ์ ๊ตฌํํ ์ต์ด์ ๊ธฐ๊ณ, ์ถ๋ ฅ ๊ฐ์ด 0 ๋๋ 1
โช๏ธ ๊ฐ์ค์น W๋ฅผ updateํ๋ ๊ท์น์ด ์์ผ๋ฉฐ ์ด๋ backprop๊ณผ ์ ์ฌํจ
โช๏ธ backpropagation ๊ธฐ์ ์ด ๋์ค๊ธฐ ์ด์ ๋ถํฐ ์์๋์์
โช๏ธ 1960s : linear layer๋ฅผ ์๊ธฐ ์์ํจ (์ต์ด์ multi layer, backprop ์ด์ , train idea๋ ์์ง ์์)
โช๏ธ 1986 : ์ต์ด backpropagation ์๊ฐ๋จ , ์ต์ด๋ก network๋ฅผ ํ์ต์ํค๋ ๊ฒ์ ๊ดํ ๊ฐ๋ ์ด ์ ๋ฆฝ๋๊ธฐ ์์ํ๋ค.
โช๏ธ ๊ทธ๋ฌ๋ NN์ ๋ ํฌ๊ฒ ๋ง๋ค์ง ๋ชปํ๊ณ , ์๋ก์ด ์ด๋ก ๋ ๋์ค์ง ์์์
โช๏ธ ๋๋ฆฌ ์ฌ์ฉ x ์ด๋ค๊ฐ 2000๋ ๋๊ฐ ๋์ด์ ๋ค์ ํ๋ฐํด์ง
โช๏ธ DNN์ ํ์ต ๊ฐ๋ฅ์ฑ์ ์ ๋ณด์ด๊ณ , ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ ๋ณด์ฌ์ค
โช๏ธ ํ์ฌ ๋ชจ๋ํ ๊ทธ๋ฐ NN์ ์๋์ด์ backprop์ด ๊ฐ๋ฅํ๊ธฐ ์ํด์๋ ์ธ์ฌํ ์ด๊ธฐํ ํ์..
โช๏ธ pretraining, ์ด๊ธฐํ๋ฅผ ์ํด RBM์ ์ด์ฉํ ๊ฐ ํ๋ ๋ ์ด์ด ๊ฐ์ค์น ํ์ต, ๊ทธ๋ฆฌ๊ณ ์ ์ฒด full NN์ด ์ด๊ธฐํ๊ฐ ๋๋ฉด backprop๊ณผ fine tuning์ ํ๋ค.
โช๏ธ NN์ด ์ ๋ช ํด์ง ๊ฒ์ 2012๋ ์ผ๋ก ์์ฑ ์ธ์์์ ์์ฃผ ์ข์ ์ฑ๋ฅ์ ๋ณด์์
โช๏ธ 2012๋ Hinton lab์์ ์์ ์ธ์์ ๊ดํ paper๊ฐ ๋์๋๋ฐ ์ฌ๊ธฐ์ ImageNet ๋ถ๋ฅ์ ์ต์ด๋ก NN ์ฌ์ฉํจ (์ข์ ๊ฒฐ๊ณผ)
โช๏ธ AlexNet์ ๊ฒฝ์ฐ ImageNet์ benchmark์ ์๋ฌ๋ฅผ ๊ทน์ ์ผ๋ก ๊ฐ์์ํด
โช๏ธ ์ดํ ConvNets์ ๋๋ฆฌ ์ฐ์ด๊ฒ ๋จ.
๐ธ CNN์ด ์ด๋ป๊ฒ ์ ๋ช ํด์ก์๊น?
โช๏ธ 1950s Hubel๊ณผ Wiesel์ ์๊ฐํผ์ง์ ๋ด๋ฐ์ ๊ดํ ์ฐ๊ตฌ
โช๏ธ ๊ณ ์์ด์ ๋์ ์ ๊ทน์ ์ฐ๊ฒฐํ์ฌ ๋ค์ํ ์๊ทน์ผ๋ก ์คํ
โช๏ธ ์ด ๋ ๋ด๋ฐ์ด oriented edges์ shapes ๊ฐ์ ๊ฒ์ ๋ฐ์์ ํ๋ ๊ฒ์ ๊ด์ฐฐ
โช๏ธ ๋์ ํผ์ง ๋ด๋ถ์ topographical mapping์ด ์์ผ๋ฉฐ ํผ์ง ๋ด ์๋ก ์ธ์ ํด ์๋ ์ธํฌ๋ค์ ์ง์ญ์ฑ์ ๋๊ณ ์์
โช๏ธ ๋ด๋ฐ๋ค์ด ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ง๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค.
โช๏ธ Retinal ganglion : ์๊ฐ์ ํธ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋๋ฌํ๋ ๊ณณ, retinal ganglion์ ์ํ์ผ๋ก ์๊ธด ์ง์ญ.
โช๏ธ Simple cells : ๊ฐ์ฅ ์์์ ์๊ณ ์ด ์ธํฌ๋ค์ ๋ค์ํ edge๋ค์ ๋ฐฉํฅ, ๋น์ ๋ฐฉํฅ์ ๋ฐ์ํจ.
โช๏ธ ๊ทธ๋ฆฌ๊ณ complex cells๊ณผ simple cells์ ์ฐ๊ฒฐ ๋์ด์๋๋ฐ, complex์ ๊ฒฝ์ฐ ๋น์ ๋ฐฉํฅ, ์์ง์์์ ๋ฐ์ํจ
โช๏ธ ์ด๋ ๊ฒ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋, hypercomplex cell์ ๊ฒฝ์ฐ end point๊ฐ์ ๊ฒ์์ ๊น์ง ๋ฐ์ํ ์ ์์
โช๏ธ (์ฆ ๋ณต์กํ ์๋ก, ๋ฐ์ํ ์ ์๋ ํน์ง๋ค์ด ๋ง์์ง๋..?)
โช๏ธ 1980์ Fukishima๋ simple/complex cells์ ๊ต์ฐจ์์ผ ์ด ์์ด๋์ด๋ฅผ ์ฌ์ฉํ ์ต์ด์ NN์ ์ ์. (neocognitron)
โช๏ธ 1998 : backprop, gradient-based learning ์ ์ฉํ NN
โช๏ธ ๋ฌธ์์ธ์, ์ฐํธ๋ฒํธ ์ซ์ ์ธ์์ ์์ฃผ ์ ๋์, ์ฐํธ ์๋น์ค์์ ์ฐํธ๋ฒํธ ์ธ์์ ๋๋ฆฌ ์ฌ์ฉ๋จ.
โช๏ธ ์ซ์๋ผ๋ ๋ฐ์ดํฐ๋ ๋จ์ํ๊ณ ์ด Network๋ฅผ ๋ ํฌ๊ฒ ๋ง๋ค์ง๋ ๋ชปํ์.
โช๏ธ 2012 CNN์ ํ๋ํ ๋ฐ๋์ ์ผ์ผํด. AlexNet, ์ด์ LeCun์ CNN๋ณด๋ค ๋ ํฌ๊ณ ๊น์ด์ง ๊ฒ์ด ํน์ง์ด๋ค.
โช๏ธ ImageNet dataset๊ณผ ๊ฐ์ ๋๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ์ ์๊ณ , GPU parallel computing ํ๋ ์๋ค.
โช๏ธ ํ์ฌ์๋ ConvNets์ ๊ฑฐ์ ๋ชจ๋ ๊ณณ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ก๋ค. (Detection, Segmentation, ์์จ์ฃผํ ์๋์ฐจ, ์๋ฒ ๋๋ ์์คํ ๋ฑ)
โช๏ธ CNN์ ์ผ๊ตด์ธ์, ๋น๋์ค, ๋จ์ผ ์ด๋ฏธ์ง์ ์ ๋ณด ๋ฐ ์๊ฐ์ ์ ๋ณด, pose recognition, ์ํ ์์ ํด์ ๋ฐ ์ง๋จ ๋ฑ๋ฑ ๋งค์ฐ ๋ค์ํ๊ฒ ์ฌ์ฉ
โช๏ธ Image Captioning : ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ง๋ฉด ์ด๋ฏธ์ง์ ๋ํ ์ค๋ช ์ ๋ฌธ์ฅ์ผ๋ก ๋ง๋ค์ด ๋ด๋ ๊ฒ!
โช๏ธ ์ด์ธ ์์ ์ํ ๋ง๋ค๊ธฐ๋ ๊ฐ๋ฅํ๊ณ Deep Dream, Style Transfer๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ ์ ์ฉ ๊ฐ๋ฅ
๐ CNN ๋์ ์๋ฆฌ
๐ธ Fully Connected Layer
โช๏ธ FC Layer๋ ์ด๋ค ๋ฒกํฐ๋ฅผ ๊ฐ์ง๊ณ ์ฐ์ฐ์ ํ๋ ๊ฒ์ด๋ค.
โช๏ธ ์ ๋ ฅ ๋ฐ์ 32x32x3 ์ด๋ฏธ์ง๋ฅผ ๋ฒกํฐ๋ก(3072x1) ๋ง๋ ๋ค.
โช๏ธ ๊ฐ์ค์น W์ ๋ฒกํฐ๋ฅผ ๊ณฑํ์ฌ(Wx, ๋ด์ ) activation(output)์ ์ป๋๋ค.
โช๏ธ 1๊ฐ์ ์ซ์ ํ๋๋ฅผ ์ป๊ฒ ๋๋๋ฐ, ์ด๋ Neuron์ ํ ๊ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ 10๊ฐ์ ์ถ๋ ฅ (10x1)์ ๊ฐ์ง๊ฒ ๋๋ค.
๐ธ Convolution Layer
โช๏ธ Convolutional Layer๋ FC ๋ ์ด์ด์ ๋ค๋ฅด๊ฒ ๊ธฐ์กด์ ๊ตฌ์กฐ๋ฅผ ๋ณด์กด์ํจ๋ค.
โช๏ธ FC ๋ ์ด์ด์ฒ๋ผ ๋ฒกํฐ๋ก ์ญ ๋๋ฆฌ๊ธฐ ๋ณด๋ค๋, ์ด๋ฏธ์ง์ ๊ตฌ์กฐ๋ฅผ ์ ์งํ๊ฒ ๋๋ค.
โช๏ธ filter๋ ๊ฐ์ค์น์ด๋ฉฐ ์ด ํํฐ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ผ์ด๋ฉํ๋ฉด์ ๊ณต๊ฐ์ ์ผ๋ก ๋ด์ ์ ์ํํ๋ค.
๐ธ Convolution ์ํ ์๋ฆฌ
โช๏ธ ํํฐ๋ ์ ๋ ฅ์ด ๊น์ด (Depth, ์ฑ๋ ์) ๋งํผ ํ์ฅ๋๋ค. ์ด๋ฏธ์ง๊ฐ 32x32x3์ผ ๋ 3์ด depth์ ํด๋นํจ
โช๏ธ ํํฐ 5x5๋ ๋ค๋ฅธ size๋ ๊ฐ๋ฅ (ex. 3x3)
โช๏ธ ์ด ์ด๋ฏธ์ง ์ผ์ด์ค์ ๊ฒฝ์ฐ filter๋ NxNx3์ด ๋์ด์ผ ํจ
โช๏ธ ํํฐ๋ฅผ ๊ฐ์ง๊ณ ์ ์ฒด ์ด๋ฏธ์ง์ ๋ด์ ์ํจ๋ค. ์ฌ๋ผ์ด๋์ฒ๋ผ ์ด๋ฏธ์ง ์ด๋ค ๊ณต๊ฐ์ ๊ฒน์ณ ๋๊ณ ๋ด์ ์ ์ํํ๋ค.
โ๏ธ Question & Answer ์ ๋ฆฌ
โช๏ธ W๋ฅผ Transpose ํ๋ ๊ฒ์ ์ํ์ ์ผ๋ก ํํํ๊ธฐ ์ํ ๊ฒ, ํน ๋ฒกํฐ๋ฅผ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์ ํ๋ ๊ฒ์ด๋ค.
โช๏ธ W๋ฅผ 5x5x3์ด์ง๋ง ๊ฒฐ๊ตญ ๋ด์ ์ ์ํํ๋ ค๋ฉด 1x75๊ฐ ๋ ๊ฒ์ด๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ ํด์ ๋ฒกํฐ๊ฐ ๋ด์ ์ ์งํํ๋ค.
โช๏ธ convolution์ ์ ํธ์ฒ๋ฆฌ ๋ถ์ผ(ํํฐ๋ฅผ ๋ค์ง์ ํ ์ฐ์ฐ)์ convolution๊ณผ ์๋ฏธ๊ฐ ์์ ํ ๊ฐ์ง๋ ์๋ค.
๐ธ Convolution์์ ์ฌ๋ผ์ด๋ฉ ์๋ฆฌ
โช๏ธ convolution์ ์ด๋ฏธ์ง์ ์ผ์ชฝ ์๋จ๋ถํฐ ์์ํ๊ณ ํํฐ์ ๋ชจ๋ ์์๋ฅผ ๊ฐ์ง๊ณ ๋ด์ ์ ์ํํ๋ฉด ํ๋์ ๊ฐ์ ์ป๊ฒ ๋๋ค.
โช๏ธ ๊ทธ๋ฆฌ๊ณ ์ด Output์ activation map์ ํด๋นํ๋ ์์น์ ์ ์ฅํ๋ค.
โช๏ธ ๊ทธ๋ฆฌ๊ณ ์ ๋ ฅ ์ด๋ฏธ์ง์ ์ถ๋ ฅ activation map์ ์ฐจ์์ด ๋ค๋ฅผ ์ ์๋ค. ์ด๋ ์ฌ๋ผ์ด๋ฉ์ ์ด๋ป๊ฒ ํ๋๋์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค.
โช๏ธ ํ๋์ ํํฐ๋ฅผ ๊ฐ์ง๊ณ ์ ์ฒด ์ด๋ฏธ์ง์ conv ์ฐ์ฐ์ ์ํํ์ฌ activation map์ด๋ผ๋ ์ถ๋ ฅ ๊ฐ์ ์ป์
โช๏ธ ๋ณดํต ์ฌ๋ฌ ๊ฐ์ ํํฐ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ด ์ด์ ๋ ํํฐ๋ง๋ค ๋ค๋ฅธ ํน์ง์ ์ถ์ถํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์ด๋ค.
โช๏ธ 5x5x3 ํํฐ๊ฐ 6๊ฐ๋ผ๋ฉด 6๊ฐ์ activation map์ ์ป์ ์ ์๋ค.
โช๏ธ ์ด๋ฐ ์์ผ๋ก ์์์ฌ๋ ค์ CNN์ ํ์ฉํ ์ ์๋ค!
โช๏ธ ๊ฐ layer์ output์ ๋ค์ layer์ input์ด ๋๋ค.
โช๏ธ ๊ฐ layer๋ง๋ค ์ฌ๋ฌ ๊ฐ์ ํํฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์ด ํํฐ๋ง๋ค ๊ฐ๊ฐ์ ์ถ๋ ฅ map์ ๋ง๋ ๋ค.
โญ๏ธ ํน์ง์ด ์ด๋ป๊ฒ ์๊ฒผ๊ณ , Layer์ ๊ณ์ธต์ ๋ฐ๋ผ ๋จ์/๋ณต์กํ ํน์ง๋ค์ด ์กด์ฌํ๋ค๋ ๊ฒ์ ์ดํดํด์ผ ํจ!
โช๏ธ ์ฌ๋ฌ ๊ฐ์ layer๋ค์ ์๊ณ ๋์ ๋ณด๋ฉด ๊ฒฐ๊ตญ ๊ฐ ํํฐ๋ค์ด ๊ณ์ธต์ ์ผ๋ก ํ์ตํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
โช๏ธ ์ ์ชฝ์ ํํฐ๋ low-level feature๋ฅผ ํ์ตํ๋๋ฐ, edge ๊ฐ์ ๊ฒ์ ๋ณผ ์ ์๋ค.
โช๏ธ mid-level์ ์ข ๋ ๋ณต์กํ ํน์ง์ ๊ฐ์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค. (corner, blob ๊ฐ์..)
โช๏ธ high-level์ ๊ฒฝ์ฐ๋ ์ข ๋ ๊ฐ์ฒด์ ๋ฎ์ ๊ฒ๋ค์ด output์ผ๋ก ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
โช๏ธ ๋คํธ์ํฌ ์์ชฝ์์๋ ๋จ์ํ ๊ฒ๋ค์ ์ฒ๋ฆฌํ๊ณ ๋ค๋ก ๊ฐ์๋ก ์ ์ ๋ ๋ณต์กํด์ง๋ค.
โช๏ธ ์ฌ๊ธฐ์ ์๊ฐํ๋ ๊ฒ์ ๋ํด์๋ ํ๋์ grid๋ ํ๋์ ๋ด๋ฐ์ด๋ค.
โช๏ธ ์ด ์๊ฐํํ ๋ด๋ฐ์ ๋ชจ์ต์ "์ด๋ฏธ์ง๊ฐ ์ด๋ ๊ฒ ์๊ฒจ์ผ ํด๋น ๋ด๋ฐ์ ํ์ฑ์ ์ต๋ํ ์ํฌ ์ ์๋์ง"๋ฅผ ๋ํ๋ธ๋ค.
โช๏ธ ์ด๋ฏธ์ง๊ฐ ๋ด๋ฐ์ ๋น์ทํ๊ฒ ์๊ฒผ์์๋ก output ๊ฐ์ ํฐ ๊ฐ์ ๊ฐ์ง๋ค.
โช๏ธ ์๊ฐํ๋ ์ญ์ ํ๋ฅผ ํตํด์ ๋ณผ ์ ์๋ค.
๐ธ Activation Example
โช๏ธ ์ฌ๋ผ์ด๋์ ๊ทธ๋ฆผ๋ค์ ๊ฐ ํํฐ๊ฐ ๋ง๋ ์ถ๋ ฅ๊ฐ์ด๋ฉฐ, 5x5 ํํฐ๋ค 32๊ฐ๋ฅผ ์๊ฐํํ ๊ฒ์
โช๏ธ ๋นจ๊ฐ์ ๋ค๋ชจ๋ฐ์ค์ ํํฐ๋ edge๋ฅผ ์ฐพ๊ณ ์๋ ๊ฒ์ด๋ค. ์ด ํํฐ๋ฅผ ์ฌ๋ผ์ด๋ฉ ์์ผ์ ํํฐ์ ๋น์ทํ ๊ฐ๋ค์ ๊ฒฝ์ฐ๋ ๊ฐ์ด ๋ ์ปค์ง๋ค.
โช๏ธ activation์ ์ด๋ฏธ์ง๊ฐ ํํฐ๋ฅผ ํต๊ณผํ ๊ฒฐ๊ณผ๊ฐ ๋๊ณ , ์ด๋ฏธ์ง ์ค ์ด๋ ์์น์์ ํํฐ๊ฐ ํฌ๊ฒ ๋ฐ์ํ๋์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
๐ธ CNN ๊ณผ์
โช๏ธ ์ฒ์ conv layer ํ non-linear layer๋ฅผ ํต๊ณผํ๋ค.(ex. ReLU)
โช๏ธ pooling์ activation maps์ ์ฌ์ด์ฆ๋ฅผ ์ค์ธ๋ค.
๐ธ Spatial dimension
โช๏ธ stride ํฌ๊ธฐ ๋งํผ ์ด๋ํด์ ๋ค์ convolution ์ฐ์ฐ.
โช๏ธ stride = 3์ธ ๊ฒฝ์ฐ, ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ผ์ด๋ฉ ํ์ ๋, ํํฐ๊ฐ ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ ์ปค๋ฒํ ์ ์์ (1-3, 4-6, ๋ง์ง๋ง ์ด์ ๋ฐ์ดํฐ๋ ์ปค๋ฒ x)
โช๏ธ stride = 3์ ์ผ์ด์ค ์ฒ๋ผ ์ด๋ฏธ์ง์ ์ ๋ง์ ๋จ์ด์ง์ง ์๋ ๊ฒฝ์ฐ ์ ๋๋ก ๋์ํ์ง ์์..!
โช๏ธ output size๋ฅผ ๊ณ์ฐํ๋ ์์์ ํตํด์ ์ด๋ฏธ์ง์ ์ ๋ง์ ๋จ์ด์ง๋ ์ฌ์ด์ฆ๋ก stride๋ฅผ ์ค์ ํ ์ ์๋ค. + ์ถ๋ ฅ๊ฐ ์ ๋ณด๋ ์ ์ ์์
๐ธ Zero padding
โช๏ธ ์ด๋ฏธ์ง ๊ฐ์ฅ์๋ฆฌ์ 0์ ์ฑ์ ๋ฃ๋ ๋ฐฉ๋ฒ
โช๏ธ ์ถ๋ ฅ์ ์ฌ์ด์ฆ๋ฅผ ์๋๋๋ก ๋ง๋ค ์ ์๋ค.
โช๏ธ ๊ฐ์ฅ์๋ฆฌ zero padding์ ํ ๊ฒฝ์ฐ, N = 9, F = 3 ์ด๋ฏ๋ก (9 - 3)/ 1 + 1 = 6 + 1 = 7์ด ๋๋ฏ๋ก output์ 7 x 7 ์ด๋ค.
โ๏ธ Question & Answer ์ ๋ฆฌ
โช๏ธ zero-padding์ ํ๋ ์ด์ ๋ ๋ ์ด์ด๋ฅผ ๊ฑฐ์น๋ฉด์๋ ์ ๋ ฅ์ ์ฌ์ด์ฆ๋ฅผ ์ ์งํ๊ธฐ ์ํด์์ด๋ค.
โช๏ธ zero-padding์ ํ์ง ์๋๋ค๋ฉด, ์ถ๋ ฅ ์ฌ์ด์ฆ๊ฐ ๋น ๋ฅด๊ฒ ์ค์ด๋ค๊ฒ ๋๋ค.
โช๏ธ ๊น์ ๋คํธ์ํฌ์ ๊ฒฝ์ฐ ์ ๋ณด๋ฅผ ์๊ณ ์๋ณธ์ด๋ฏธ์ง๋ฅผ ํํํ๊ธฐ์ ๋๋ฌด ์์ ๊ฐ์ ์ฌ์ฉํ๊ฒ ๋๋ค.
โช๏ธ ๋ํ, zero-padding์ ํ๋ฉด, ํํฐ์ ์ค์์ด ๋ฟ์ง ์๋ (ex. ๋ชจ์๋ฆฌ) ๋ถ๋ถ๋ ์ฐ์ฐํ ์ ์๋ค.
โช๏ธ zero-padding์ ํ์ง ์์์ ์ฌ์ด์ฆ๊ฐ ์ค์ด๋๋๋ฐ, ์ด๋ ๋งค๋ฒ ๊ฐ ์ฝ๋์ ์๋ ๊ฐ์ ๊ณ์ฐํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.
๐ธ Stride์ filter ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ ๋ฐฉ๋ฒ
โช๏ธ Filter : ์ฃผ๋ก 3x3, 5x5, 7x7์ ์ฌ์ฉํจ
โช๏ธ Stride : ์ฃผ๋ก filter๊ฐ 3x3 ์ธ ๊ฒฝ์ฐ์๋ 1, 5x5 ์ธ ๊ฒฝ์ฐ์๋ 2, 7x7 ์ธ ๊ฒฝ์ฐ์๋ 3์ ์ฌ์ฉํ๋ค.
๐ธ Parameter ์ ๊ตฌํ๊ธฐ
โช๏ธ parameter ์ = ((ํํฐ ์ฌ์ด์ฆ)*(Depth) + 1 (bias))*(# of filters)
๐ธ Summary slide & hyperparameter common settings
+) โช๏ธ 1x1 convolution๋ ์๋ฏธ๊ฐ ์๋ค. ์ด ๋, ๊ณต๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ด์ฉํ์ง ์๋๋ค.
๐ธ Convolution Layer (brain/neuron ๊ด์ )
โช๏ธ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ๊ฐ์ ์์ด๋์ด์ด๋ค.
โช๏ธ ์ฐจ์ด์ ์ ๋ด๋ฐ์ ๊ฒฝ์ฐ local connectivity๊ฐ ์๋ค. (conv layer์ฒ๋ผ ์ฌ๋ผ์ด๋ฉx, ํน์ ๋ถ๋ถ์๋ง ์ฐ๊ฒฐ)
โช๏ธ ๋ด๋ฐ์ ๊ฒฝ์ฐ ํ ๋ถ๋ถ๋ง ์ฒ๋ฆฌํ๊ณ , ๊ทธ๋ฐ ๋ด๋ฐ์ด ๋ชจ์ฌ ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ๋ค.
โช๏ธ ์ด๋ฅผ ์ ๋ฆฌํ๋ฉด spatial structure๋ฅผ ์ ์งํ ์ฑ๋ก layer์ ์ถ๋ ฅ์ธ activation map์ ๋ง๋๋ ๊ฒ์ด๋ค.
๐ธ ์ค์ ์ฉ์ด ์ ๋ฆฌ
โช๏ธ 5x5 ํํฐ๊ฐ ์์ ๋ ์ด๋ ํ ๋ด๋ฐ์ receptive field๊ฐ 5x5๋ผ๊ณ ํ ์ ์๋ค.
โช๏ธ Receptive field : ํ ๋ด๋ฐ์ด ํ ๋ฒ์ ์์ฉํ ์ ์๋ ์์ญ
โช๏ธ 5x5 ํํฐ๊ฐ ์ฌ๋ผ์ด๋ฉํ๋ฉด์ ๊ณ์ฐ์ ํ ๋, ํํฐ ๊ฐ์ด ํญ์ ๊ฐ๋ค! โญ๏ธโญ๏ธ
๐ธ Output value
โช๏ธ ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ํํฐ๊ฐ 5๊ฐ์ ์ข ๋ฅ์ผ ๋, 5๊ฐ์ ์ ์ ์ ํํ๊ฒ ๊ฐ์ ์ง์ญ์์ ์ถ์ถ๋ ์๋ก ๋ค๋ฅธ ํน์ง์ด๋ผ ๋ณผ ์ ์๋ค.
โช๏ธ ๊ฐ ํํฐ๋ ์๋ก ๋ค๋ฅธ ํน์ง์ ์ถ์ถํ๋ค!
๐ธ Pooling Layer
โช๏ธ Pooling layer๋ representation๋ค์ ๋ ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ํด์ค๋ค.
โช๏ธ representation์ ์ค์ด๋ ์ด์ ๋ ํ๋ผ๋ฏธํฐ ์๋ฅผ ์ค์ด๊ธฐ ์ํ, ๊ทธ๋ฆฌ๊ณ ์ผ์ข ์ ๊ณต๊ฐ์ ์ธ ๋ถ๋ณ์ฑ์ ์ป๊ธฐ ์ํจ์ด๋ค.
โช๏ธ pooling layer๋ down sample์ ํ๋ค. (๊ณต๊ฐ์ , row, col ๋ฐฉํฅ์ผ๋ก, depth์๋ ์ํฅ์ ์ฃผ์ง ์์)!
โช๏ธ ์ผ๋ฐ์ ์ผ๋ก ํ๋ง์ Max Pooling์ด ์ฌ์ฉ๋๋ค.
โช๏ธ pooling๋ ํํฐ ํฌ๊ธฐ๋ฅผ ์ ํ ์ ์๋ค.
โช๏ธ pooling์ ๋ํ ๊ฒน์น์ง ์๊ฒ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. (๋ชฉ์ ์ down sample์ด๋ฏ๋ก)
โช๏ธ pooling๋ ์ผ์ข ์ stride ๊ธฐ๋ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
โ๏ธ ์ Max pooling์ average pooling๋ณด๋ค ์ฃผ๋ก ์ฌ์ฉํ ๊น?
โช๏ธ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ๋ ๊ฐ๋ค์ "์ผ๋ง๋ ์ด ๋ด๋ฐ์ด ๊ฐ ์์น์์ ํ์ฑ๋์๋์ง"์ด๋ค.
โช๏ธ ๋ฐ๋ผ์ Max pooling์ ์ด๋ค ์ ํธ์ ๋ํด ์ผ๋ง๋ ๊ทธ ํํฐ๊ฐ ํ์ฑํ ๋์๋์ง๋ฅผ ์๋ ค์ค๋ค๊ณ ๋ณผ ์ ์๋ค.
โช๏ธ ์ฆ ์ธ์์ ๋ํด์ ์๊ฐํ ๋, ์์น๋ณด๋ค ๊ทธ ๊ฐ์ด ์ผ๋ง๋ ํฐ์ง ์ค์ํ๋ค.
๐ธ Pooling Layer Design Choice
โช๏ธ pooling layer๋ ๋ณดํต padding์ ํ์ง ์๋๋ค.
โช๏ธ down sampling์ด ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ฉฐ, convolution์ฒ๋ผ ์ฝ๋์ ๊ฐ์ ๊ณ์ฐํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
โช๏ธ ๋ณดํต ํํฐ ์ฌ์ด์ฆ๋ 2x2, 3x3์ ์ฌ์ฉํ๊ณ stride๋ 2๋ฅผ ์ฌ์ฉํ๋ค.
๐ธ ์์ฝ
โช๏ธ Typical architectures์์ -๋ ์ฐ๊ฒฐ๋์ด ์์์ ์๋ฏธํจ
โช๏ธ FC, Pooling์ ์ค์ด๋ ์ถ์ธ์ด๋ค.
โช๏ธ class score๋ฅผ ๊ตฌํ ๋, softmax๋ฅผ ์ฌ์ฉํ๋ค.