8 Sat
๋ฅ๋ฌ๋ CNN ์๋ฒฝ ๊ฐ์ด๋ - Fundamental ํธ
Dense Layer๊ธฐ๋ฐ Image ๋ถ๋ฅ์ ๋ฌธ์ ์
๋ฌธ์ ์ 1
MNIST๋ Fashion_MNIST๋ ์ด๋ฏธ์ง ์ค์์ ๋ถ๋ฅ ๋์์ด ์กด์ฌํ๊ณ ๋ถ๋ฅ ๋์ ์ด์ธ์๋ ๋ชจ๋ ๋ฐฐ๊ฒฝ์์ด ๊ฒ์์์ด๋ค.
์ค์ ์ด๋ฏธ์ง๋ ๋ถ๋ฅ ๋์์ด ์ด๋ฏธ์ง์ ์ด๋์ ์์์ง ๋ชจ๋ฅด๊ณ ๋ถ๋ฅ ๋์ ์ด์ธ์ ๋ค๋ฅธ ์ด๋ฏธ์ง์ ์์์ด ๋ค์ํ๋ค
๋ฌธ์ ์ 2
์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ์ปค์ง ์๋ก ๋๋ฌด ๋ง์ Weight๊ฐ ํ์ํ๋ค
500 x 500์ ์ด๋ฏธ์ง๊ฐ ์๋์ธต ํ๋๋ฅผ ๊ฑฐ์น ๋ Weight 250,000๊ฐ๊ฐ ํ์ํ๋ค
์๋์ธต 10๊ฐ๋ฉด 250M ๊ฐ๊ฐ ํ์ํ๋ค
๋ฌธ์ ์ 3
Dense๋ ์ด๋ฏธ์ง์ ์ง์ญ์ฑ์ ๊ณ ๋ คํ์ง ์๋๋ค
Feature Extractor์ CNN ๊ฐ์
Feature Extraction
์ด๋ฏธ์ง์ ํน์ง์ด ๋ ๋งํ๊ฒ์ ๋ฝ์๋ด๋ ๊ฒ
์ ํต์ ์ธ ๋จธ์ ๋ฌ๋์ ์ด๊ฒ์ ์ฌ๋์ด ์ง์ ํ๋๋ฐ ๋ฅ๋ฌ๋์์๋ ์ด๊ฒ์ ์์ฒด์ ์ผ๋ก ํ๊ฒ ๋๋ค.
Layer ๋ณ Feature
Layer๊ฐ ๊น์ด์ง์๋ก ์ถ์์ ์ธ ํน์ง์ ๋ฝ์๋ด๊ฒ ๋๋ค
๊น์ด์ง์๋ก ์ถ์ํ์ ์ถ์ํ
์ด๊ธฐ Layer์ผ์๋ก ๊ตฌ์ฒด์ ์ด๊ณ ๋จ์ํ ํน์ง์ ๋ฝ์๋ธ๋ค
์ , ์ , ๋ฉด ๋ฑ
CNN ๊ตฌ์กฐ
CNN์ Feature Extractor์ Classifier๋ก ๊ตฌ์ฑ์ด ๋๋ค
Conv, Pool, Activation์ ๋ชจ๋ F.E ์ด๋ค.
์ปจ๋ณผ๋ฃจ์
(Convolution) ์ฐ์ฐ ์ดํด
CNN์
Classification์ ๋ง๋ ์ต์ ์ Feature๋ฅผ ์ถ์ถํ๊ณ
์ต์ ์ Feature ์ถ์ถ์ ์ํ ์ต์ ์ Weight ๊ฐ์ ๊ณ์ฐํ๊ณ
์ต์ ์ Feature ์ถ์ถ์ ์ํ ํํฐ๊ฐ(ํํฐ W)์ ๊ณ์ฐํ๋ค
์ด๋ฏธ์ง ํํฐ
๋ณดํต ์ ๋ฐฉ ํ๋ ฌ์ ์๋ณธ ์ด๋ฏธ์ง์ ์์ฐจ์ ์ผ๋ก ์ฌ๋ผ์ด๋ฉ ํด๊ฐ๋ฉด์ ์๋ก์ด ํฝ์ ๊ฐ์ ๋ง๋ค๋ฉด์ ์ ์ฉํ๋ค
๋ธ๋ฌ ํผํฐ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ๊ท ์ ๋ด์ ๋ํ๋ค => ์ด๋ฏธ์ง๊ฐ ํ๋ ค์ง๋ ํจ๊ณผ
Convolution ์ฐ์ฐ
๊ฐ์์ ์ค๋ช ์ด ๋๋ฌด ์๋์ด์์
์ปค๋(Kernel)๊ณผ ํผ์ฒ๋งต(Feature Map)
ํํฐ์ ์ปค๋์ ๊ตฌ๋ถ
CNN์์ ํํฐ์ ์ปค๋์ ๊ฑฐ์ ํผ์ฉ๋์ด์ ์ฌ์ฉ๋๋ค
๋ช ํํ๋ ํํฐ๋ ์ฌ๋ฌ๊ฐ์ ์ปค๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค
์ปค๋์ ํํฐ๋ด์์ ์๋ก ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์๋ค
conv_out_01=Conv2D(filter=32, kernel_size=3)(input_tensor)
fkernel์ ํฌ๊ธฐ๋ 3 * 3
kernel์ ๊ฐ์๋ 32๊ฐ
์ปค๋ ์ฌ์ด์ฆ ํน์ง
๋ณดํต ์ปค๋์ ์ ๋ฐฉํ๋ ฌ์ด๋ค.
Kernel size๋ผ๊ณ ํ๋ฉด ๋ฉด์ (๊ฐ๋กx์ธ๋ก)์ ์๋ฏธํ๋ค
์ปค๋ ์ฌ์ด์ฆ์ ํฌ๊ธฐ๊ฐ ํฌ๋ฉด ํด ์๋ก ์ ๋ ฅ Feature Map(๋๋ ์๋ณธ ์ด๋ฏธ์ง)์์ ๋ ๋ง์(๋๋ ๋ ํฐ) Feature ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค
ํ์ง๋ง ํฐ ์ฌ์ด์ฆ์ ์ปค๋์ ํจ์ฌ ๋ ๋ง์ ์ฐ์ฐ๋๊ณผ ํ๋ผ๋ฏธํฐ๊ฐ ํ์ํ๋ค
Receptive Field, ์์ฉ์ฅ
์ ๋ ฅ์์ Feature๋ฅผ ๋ง๋๋ ์์ญ์ ๊ธฐ๋ณธ ํฌ๊ธฐ
CNN์ ํํฐ ๊ฐ
์ผ๋ฐ์ ์ผ๋ก Vision์์ญ์์๋ ํน์ ํํฐ๋ฅผ ์ค์ค๋ก ๋ง๋ค๊ฑฐ๋ ๊ธฐ์กด์ ์ค๊ณ๋ ๋ค์ํ ํํฐ๋ฅผ ์ ํํ์ฌ ์ด๋ฏธ์ง์ ์ ์ฉํ๋ค
๋ฅ๋ฌ๋์ CNN์ ์ต์ ์ ํํฐ๊ฐ์ ํ์ต์ ํตํด ์ค์ค๋ก ์ต์ ํํจ
์คํธ๋ผ์ด๋(Stride)์ ํจ๋ฉ(Padding)
์คํธ๋ผ์ด๋
์์ด ๋จ์ด ๋ป์
๊ฑฐ๋๋ค
Filter๋ฅผ ์ ์ฉํ ๋ Sliding Window๊ฐ ์ด๋ํ๋ ๊ฐ๊ฒฉ์ ์๋ฏธ
๊ธฐ๋ณธ์ 1์ด์ง๋ง 2๋ก ์ค์ ํ๊ฒ ๋๋ฉด Feature map์ ํฌ๊ธฐ๋ฅผ ์ ๋ฐ์ ๋๋ก ์ค์ธ๋ค.
stride๋ฅผ ํค์ฐ๋ฉด ๊ณต๊ฐ์ ์ธ feature ํน์ฑ์ ์์คํ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง ๋ถํ์ํ ํน์ฑ์ ์ ๊ฑฐํ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ ์๋ ์๊ณ Convolution ์ฐ์ฐ ์๋๋ฅผ ํฅ์ ์ํฌ ์ ์๋ค
ํจ๋ฉ
์ด๋ฏธ์ง์ ํฌ๊ธฐ(๋๋ Feature map)๊ฐ ์์์ง๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ๊ธฐ๋ฒ
Filter ์ ์ฉ ์ ๋ณด์กดํ๋ ค๋ Feature map ํฌ๊ธฐ์ ๋ง๊ฒ ์ ๋ ฅ์ ์ข์ฐ ๋๊ณผ ์ํ ๋์ ์ด๊ณผ ํ์ ์ถ๊ฐํ๋ค
Conv2D(padding='same')
์ ํ๋ฉด feature map์ ์ ์งํ ์ ์๊ณConv2D(padding='valid')
๋ฅผ ํ๋ฉด ๋ณ๋์ ํจ๋ฉ์ ์ ์ฉํ์ง ์๋๋ค์๋ฅผ ๋ฌด์์ผ๋ก ์ฑ์ธ์ง์ ๋ํด ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค
0๋ฏ๋ก ๋ชจ๋ ์ฑ์ฐ๋ Zero Padding
๋ชจ์๋ฆฌ ์ฃผ๋ณ๊ฐ์ด 0์ด ๋์ด ๋ ธ์ด์ฆ๊ฐ ์ฝ๊ฐ ์ฆ๊ฐ๋๋ ์ฐ๋ ค๋ ์์ ์ ์์ง๋ง ํฐ ์ํฅ์ ์๋ค
ํ๋ง(Pooling)
Conv๊ฐ ์ ์ฉ๋ Feature map์ ์ผ์ ์์ญ ๋ณ๋ก ํ๋์ ๊ฐ์ ์ถ์ถํ์ฌ Feature map์ ์ฌ์ด์ฆ๋ฅผ ์ค์ด๋ ๊ธฐ๋ฒ
์๋ํ๋ฉด filter๊ฐ ์ ์ฉํ ๋ ์ค๋ณต๋์ ์ ์ฉ๋๋ ํฝ์ ๊ฐ๋ค์ด ์๋ค.
๋ณดํต Poolingํฌ๊ธฐ์ Stride๋ฅผ ๋์ผํ๊ฒ ๋ถ์ฌํ์ฌ ๋ชจ๋ ๊ฐ์ด ํ๋ฒ๋ง ์ฒ๋ฆฌ ๋ ์ ์๋๋ก ํ๋ค
ํน์ง
feature๋ค์ด ์๋ก ๋ค๋ฅธ ์ด๋ฏธ์ง์์ ์์น๊ฐ ๋ฌ๋ผ์ง๋ฉด์ ๋ค๋ฅด๊ฒ ํด์๋๋ ํ์์ ์คํ์์ผ์ค๋ค
feature map์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฏ๋ก computation ์ฐ์ฐ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค
max pooling์ ๊ฒฝ์ฐ ๋ณด๋ค sharpํ feature๋ฅผ ์ถ์ถํ๊ณ average์ ๊ฒฝ์ฐ smoothํ feature๋ฅผ ์ถ์ถํ๋ค
์ผ๋ฐ์ ์ผ๋ก๋ sharpํ feature๊ฐ classification์ ์ ๋ฆฌํด์ max pooling์ ๋ง์ด ์ฌ์ฉํ๋ค
stride/padding/pooling
stride๋ฅผ ์ฆ๊ฐ์ํค๋๊ฒ๊ณผ pooling ๋ชจ๋ ์ถ๋ ฅ feature map์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋๋ฐ ์ฌ์ฉํ๋ค
pooling์ ๊ฒฝ์ฐ ํน์ ์์น์ feature๊ฐ์ด ์์ค ๋๋ ์ด์๋ก ์ต๊ทผ์๋ ์ฌ์ฉํ์ง ์์
์ต๊ทผ ๋ฐํ๋๋ ๋ ผ๋ฌธ์์ stride๋ก feature map ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ์ด pooling ๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ธฐ ์์ํ๋ค
ResNet๋ถํฐ๋ ์ต๋ํ Pooling์ ์์ ํ๊ณ Stride๋ฅผ ์ด์ฉํ์ฌ Network๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝํฅ์ด ๊ฐํด์ง๋ค
Last updated
Was this helpful?