
<aside>
๐ฏ ํ์ต ๋ชฉํ
- CNN์ด ์ ์ด๋ฏธ์ง ์ฒ๋ฆฌ์ ํจ๊ณผ์ ์ธ์ง ์ดํดํ๊ธฐ
- CNN์ ํต์ฌ ๊ตฌ์ฑ ์์์ ์ญํ ๊ณผ ๋์ ๋ฐฉ์ ํ์
ํ๊ธฐ
- PyTorch๋ฅผ ํตํด ๊ตฌํ๋ ๊ฐ๋จํ CNN ๋ชจ๋ธ์ ์ง์ ๋ณด๊ณ ์ดํดํ๊ธฐ
</aside>
<aside>
๋ชฉ์ฐจ
-
**CNN ๊ฐ์ ๐ผ๏ธ**
1.1. ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ํน์ง (๊ณต๊ฐ์ ๊ตฌ์กฐ, ์ง์ญ์ ํจํด)
1.2. ๊ธฐ์กด์ MLP (๋ค์ธต ํผ์
ํธ๋ก ) ๋ฐฉ์์ ํ๊ณ์ (ํ๋ผ๋ฏธํฐ ์, ๊ณต๊ฐ ์ ๋ณด ์์ค)
1.3. CNN์ ์์ด๋์ด: "์ด๋ฏธ์ง๋ ์ง์ญ์ ์ธ ํจํด์ ์กฐํฉ์ด๋ค!" (Locality & Shared Weights)
-
**CNN์ ํต์ฌ ๊ตฌ์ฑ ์์ ๐**
2.1. ํต์ฌ ๋น๋ฉ ๋ธ๋ก ๐งฑ: ํฉ์ฑ๊ณฑ (Convolution) ๊ณ์ธต
2.2. ์ ๋ณด ์์ถ ๐: ํ๋ง (Pooling) ๊ณ์ธต
2.3. ์ต์ข
๊ฒฐ์ ๐ฏ: ์์ ์ฐ๊ฒฐ (Fully Connected) ๊ณ์ธต
-
**CNN ๋ชจ๋ธ ์กฐ๋ฆฝํ๊ธฐ ๐งฉ**
3.1. PyTorch nn.Module
๋ก ์ ์ฒด ๋ชจ๋ธ ์ ์ํ๊ธฐ
3.2. ๋ชจ๋ธ ์ดํดํ๊ธฐ
</aside>
CNN(Convolutional Neural Networks, ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง)์ ํนํ ์ด๋ฏธ์ง ์ธ์ ๋ฐ ์ฒ๋ฆฌ ๋ถ์ผ์์ ํ์ ์ ์ธ ์ฑ๊ณผ๋ฅผ ์ด๋์ด๋ธ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ํ ์ข
๋ฅ์
๋๋ค. CNN์ด ์ ๊ฐ๋ ฅํ๋ฉฐ, ๊ธฐ์กด ๋ฐฉ์๊ณผ ์ด๋ค ์ฐจ๋ณ์ ์ ๊ฐ์ง๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
1.1. ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ํน์ง

์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ธ ์ ํ ๋ฐ์ดํฐ์๋ ๋ค๋ฅธ ๊ณ ์ ํ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ๊ณต๊ฐ์ ๊ตฌ์กฐ (Spatial Structure): ์ด๋ฏธ์ง ๋ด ํฝ์
๋ค์ ๋จ์ํ ์ซ์ ๋ฐฐ์ด์ด ์๋๋๋ค. ์ธ์ ํ ํฝ์
๋ค์ ์๋ก ์ฐ๊ด๋์ด ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ด๊ณ๊ฐ ๋ชจ์ฌ ์ , ์ง๊ฐ, ํํ, ๋ ๋์๊ฐ ๊ฐ์ฒด(object)๋ฅผ ์ด๋ฃน๋๋ค. ํฝ์
์ '์์น' ์ ๋ณด๋ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์ง์ญ์ ํจํด (Local Patterns): ์ด๋ฏธ์ง์ ํน์ ์์ญ์๋ ๋ฐ๋ณต์ ์ผ๋ก ๋ํ๋๋ ์ง์ญ์ ์ธ ํจํด์ด ์กด์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๋ ์ผ๊ตด ์ด๋ฏธ์ง์์๋ ๋, ์ฝ, ์
๊ณผ ๊ฐ์ ํจํด์ด ์ด๋ฏธ์ง ๋ด์ ํน์ ์์ญ์ ๋ํ๋๋ฉฐ, ์ด๋ฌํ ํจํด์ ์ด๋ฏธ์ง์ ๋ค๋ฅธ ์์น์์๋ ์ ์ฌํ๊ฒ ๋ฐ๊ฒฌ๋ ์ ์์ต๋๋ค.
1.2. ๊ธฐ์กด MLP ๋ฐฉ์์ ํ๊ณ์

์ ํต์ ์ธ ์ ๊ฒฝ๋ง์ธ ๋ค์ธต ํผ์
ํธ๋ก (MLP, Multi-Layer Perceptron) ๋๋ ์์ ์ฐ๊ฒฐ ์ ๊ฒฝ๋ง์ผ๋ก ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ค๊ณ ํ ๋ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ์ ์ง๋ฉดํฉ๋๋ค.
- ํ๋ผ๋ฏธํฐ ์์ ํญ์ฆ (Parameter Explosion): MLP๋ ์
๋ ฅ ๋ฐ์ดํฐ์ ๋ชจ๋ ์์(ํฝ์
)๋ฅผ ๋ค์ ๋ ์ด์ด์ ๋ชจ๋ ๋ด๋ฐ๊ณผ ์ฐ๊ฒฐํฉ๋๋ค. ์ด๋ฏธ์ง๋ฅผ 1์ฐจ์ ๋ฒกํฐ๋ก ํผ์ณ์ ์
๋ ฅ์ผ๋ก ์ฌ์ฉํ๋๋ฐ, ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ์ฐ๊ฒฐ ๊ฐ์ค์น(ํ๋ผ๋ฏธํฐ)์ ์๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 100x100 ํฝ์
์ ์์ ์ปฌ๋ฌ(RGB) ์ด๋ฏธ์ง๋ง ํด๋ ์
๋ ฅ ๋ด๋ฐ ์๋ 100 * 100 * 3 = 30,000๊ฐ๊ฐ ๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์๋์ธต์ ๋ด๋ฐ ์๊ฐ 1,000๊ฐ๋ผ๋ฉด, ์ฒซ ์ฐ๊ฒฐ์๋ง 30,000 * 1,000 = 3์ฒ๋ง ๊ฐ์ ํ๋ผ๋ฏธํฐ๊ฐ ํ์ํฉ๋๋ค. ์ด๋ ๊ณ์ฐ ๋น์ฉ๊ณผ ๊ณผ์ ํฉ(overfitting) ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํฉ๋๋ค.
- ๊ณต๊ฐ ์ ๋ณด ์์ค (Loss of Spatial Information): ์ด๋ฏธ์ง๋ฅผ 1์ฐจ์ ๋ฒกํฐ๋ก ํผ์น๋ ๊ณผ์ ์์ ํฝ์
๊ฐ์ ๊ณต๊ฐ์ (2D) ๊ตฌ์กฐ ์ ๋ณด๊ฐ ์์ค๋ฉ๋๋ค. MLP๋ ์ด๋ค ํฝ์
์ด ์๋ก ๊ฐ๊น์ด ์์๋์ง, ์ด๋ค ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ ์์๋์ง ๊ณ ๋ คํ์ง ๋ชปํ๊ณ ๋
๋ฆฝ์ ์ธ ๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค. ์ด๋ ์ด๋ฏธ์ง์ ์ค์ํ ํน์ง์ ๋์น๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
1.3. CNN์ ์์ด๋์ด: "์ด๋ฏธ์ง๋ ์ง์ญ์ ์ธ ํจํด์ ์กฐํฉ์ด๋ค!"