๊ณต๋ถํ๋ฉด์ ๋ง์ฃผํ ๋ด์ฉ๋ค์ ์์ฝ ๋ฐ ์ ๋ฆฌ๋ฅผ ํตํด ๋ค์ํ ์ฌ๋๋ค์๊ฒ ๊ณต์ ํ๊ณ ๊ณต์ ๋ฅผ ํ๋ฉด์ ์ค๊ฐ๋ ํน์ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํจ์ ๋๋ค. ๋ง์ด ํผ๋๋ฐฑํด ์ฃผ์๊ณ ๋นํํด ์ฃผ์ญ์์ค.
CNN(Convolutional Neural Networks)๋ Kernel์ ํตํด ๋น์ ํ ๋ฐ์ดํฐ์ธ ์ด๋ฏธ์ง์ฒ๋ฆฌ์ ์ ์ฉํ ๊ธฐ๋ฒ์ผ๋ก Detection, Semantic Segmentation ๋ฑ ๋ง์ ๋ถ์ผ๋ก ํ์ฅ๋๊ณ ์์ต๋๋ค.
๐ ์ฐ๋ฆฌ๋ ์ปดํจํฐ์ ํฝ์ ๋จ์๋ก ์๋์ ๊ฐ์ด ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ฒ ๋ฉ๋๋ค.
์ด๋ฌํ ์ด๋ฏธ์ง๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผ
1. ๋ฌธ์ ๋ฅผ ์ ์ํ๋ค. : Target์ด ์ฐ์ํ์ด๋ ์ด์ฐํ์ด๋ ์ด๋ฏธ์ง ๋ณต์์ด๋ 2. ์ด๋ฏธ์ง์ ์ฐจ์์ ์ ์ ํ๋ค. : 28x28, channel = 3 3. kernel์ ์ ์ํ๋ค. : Kernel_size, padding, stride ๋ฑ 4. Layer๋ฅผ ๊ตฌ์ฑํ๋ค. : Dropout, Maxpooling 5. Target์ ์์ธกํ๋ค.
๐์ฐจ์์ 2๊ฐ์ง๊ฐ ์๋ค. ์๋ Arithmetic์์ ์ค์ํ ์ญํ ์ ํ๋ ์ฃผ์ ๊น๊ฒ ๋ด์ฃผ์ญ์ผ.
๐ธChannel wise
ํ๋ผ๋ฏธํฐ์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๋ ์ฐจ์์ผ๋ก Input_channel๊ณผ Output_channel์ด ์๋ค. ํด๋น ์์ ์์๋ input_channel์ 128, output_channel์ 64๊ฐ ๋๋ค.
๐ธSpatial wise
๊ณต๊ฐ์์ ์ฐจ์์ ๋งํ๊ณ ๋,์ฝ,์ ๋ฑ์ ์์น ํํ์ด๋์ด์๋ ์ ๋ณด๋ค. ์์ ์์๋ W:40๊ณผ H:50์ด ๋๋ค.
์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๊ฐ์ฒด๊ฐ ๋๊ณ Neural Network๊ฐ ์ฌ๊ธฐ์ ํด๋นํ๋ค. 3X3๋ฑ์ ํฌ๊ธฐ๋ฅผ ์ ํ๊ฒ ๋๋ฉด ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ฐจ์ ์ผ๋ก ์ฐ์ฐํ๋ฉฐ Output์ ๊ฒฐ์ ํ๋ค.(Kernel์ ์ฑ๋ ์ ๋งํผ ์กด์ฌํ๋ค.)
padding
Kernel์ด ํ์ํ๊ธฐ์ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์์ฃผ๋ ๊ฒ์ผ๋ก kernel_size๋ฅผ ๊ณ ๋ คํด ๋ง์ถฐ์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค.
stride
Kernel์ ์ด๋์ํค๋ step์ ๋งํ๋ค. 2๋ฅผ ์ฃผ๊ฒ๋๋ฉด 2๋จ๊ณ ์ด๋์ ํ๊ฒ ๋๋ค.
๐ฉ๐ปโ๐ป ์ดํ ์ค๋ช ํ modern cnn์์๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์ด๊ณ Layer๋ ๋ ๊น๊ฒ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ผ๋ก ์๊ฐ๊ฐ ๋ฉ๋๋ค. 1x1์ด ๊ฐ์ ธ๋ค ์ฃผ๋ ํจ๊ณผ๋ฅผ ์ดํด๋ง ํ๊ณ ๋์ด ๊ฐ์ฃผ์ธ์!
์ฌ๊ธฐ 32x32x128์ ์ด๋ฏธ์ง๋ฅผ 28x28x64๋ก ์ฐจ์์ ์ถ์ํ๋ค๊ณ ์๋ฅผ ๋ค๊ฒ ์ต๋๋ค.
์์ ๊ณต์์ ๋ฐ๋ผ ์์ ๊ตฌํ๊ฒ ๋๋ค๋ฉด
ํ์ง๋ง ์ฌ๊ธฐ์ 1by1 Conv๋ฅผ ์ถ๊ฐํ๊ฒ ๋๋ค๋ฉด
์ด๋ ๊ฒ 2๊ฐ์ Layer๊ตฌ์ฑ์ ํตํด ๊ตฌํ์ด ๊ฐ๋ฅํฉ๋๋ค.(1by1์ ๋ฐ๊ฟ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.)
ํ์ง๋ง ํ๋ผ๋ฏธํฐ์ ์๋ ํฌ๊ฒ ๋ณํ๊ฐ 20๋ง๊ฒ์์ 10๋ง๊ฐ๋ก ํ์ฐํ ์ค์ฌ์ฃผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์ฐ์ค,.,,,,
์ข๋ค