๊ฐ๋
: Convolutional Neural Network (ํฉ์ฑ๊ณฑ ์ ๊ฒฝ ๋ง)
์ด๋ฏธ์ง ์ฒ๋ฆฌ์ ์ปดํจํฐ ๋น์ ๋ถ์ผ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ
CNN ์ํคํ ์ฒ
1. ์ ๋ ฅ ๊ณ์ธต : ์๋ณธ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์ ๋ ฅ
2. ํฉ์ฑ๊ณฑ ๊ณ์ธต : ์ด๋ฏธ์ง ํน์ง ์ถ์ถ, ๊ณต๊ฐ ์ ๋ณด ์ ์ง
3. ํ๋ง ๊ณ์ธต : ํน์ง ๋งต ํฌ๊ธฐ ๊ฐ์, ์ค์ํ ์ ๋ณด ์ ์ง
4. ์์ ์ฐ๊ฒฐ์ธต : ์ต์ข ๋ถ๋ฅ ์ํ
5. ์ถ๋ ฅ์ธต : ํ๋ฅ ๋ถํฌ๋ก ๋ณํํ์ฌ ์ต์ข ์์ธก
1. ์ ๋ ฅ์ธต (Input layer)
- ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ 3D ํ ์ ๋ฐ์ดํฐ์ด๋ฉฐ, (๊ฐ๋ก ํฌ๊ธฐ X ์ธ๋ก ํฌ๊ธฐ X ์ฑ๋ ์)๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๋ด๊ณ ์์
2. ํฉ์ฑ๊ณฑ ๊ณ์ธต (Convolution layer)
- ์ค๋ช : ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ปค๋ (= ํํฐ) ๊ฐ์ ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ํตํด ํน์ง์ ์ถ์ถํ๋ ๊ณผ์
- ๋ชฉ์ : 3์ฐจ์ ์ด๋ฏธ์ง ์ ๋ณด์์ ์ด๋ฏธ์ง์ ํน์ง์ ๋ฝ์๋ด๋ ๊ณ์ธต = ์ด๋ฏธ์ง ํน์ง ์ถ์ถ
- ์ด๋ ์ถ์ถ๋ ํน์ง์ Feature map ์ด๋ผ๊ณ ํ๋ค
Kernel
- ์ปค๋ (Kernel) = ํํฐ (Filter)
- ์ด๋ฏธ์ง์์ ํน์ง (์ฃ์ง, ํจํด, ์ง๊ฐ ๋ฑ..)์ ๊ฐ์งํ๋ ์์ ํ๋ ฌ
์ปค๋์ CNN์ด ํ์ตํ๋ ๊ฐ์ค์น์ ํด๋นํ๋ฉฐ, ํ์ต์ ํตํด ์ต์ ์ ๊ฐ์ ์ฐพ๋๋ค.
๋ฐ๋ผ์ CNN์์ ํ์ตํ๋ ํ๋ผ๋ฏธํฐ, ๋งค์ฐ ์ค์ํ ํต์ฌ ์์์ด๋ค!
* ๊ทธ๋ผ ์ปค๋ ๊ฐ์ ๋๊ฐ ๊ฒฐ์ ํ๋ ๊ฒ์ธ์งโ
์ฌ๋์ด ๊ฒฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด ํ์ต์ ํตํด ์ต์ ์ ๊ฐ์ค์น๋ก ์๋ ์กฐ์ ํ๋ ๊ฒ์ด๋ค
= ์ผ๋ฐ์ ์ธ ์ ๊ฒฝ๋ง์ ๊ฐ์ค์น ์ญํ ์ ์ํํ๋ค๊ณ ์ดํด~!
์ฆ, ํ์ต ๊ณผ์ ์์ ์์ค ํจ์์ ์ญ์ ํ๋ฅผ ํตํด ๊ฐ์ค์น (= ์ปค๋ ๊ฐ)์ด ์ ๋ฐ์ดํธ๊ฐ ๋๋ค.
๋ํ, ์ปค๋ ์์ฒด์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ๋ ๋งค์ฐ ์ค์ํ ํ์ดํผ ํ๋ฆฌ๋ฏธํฐ ์ค ํ๋์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก 3x3, 5x5 ํฌ๊ธฐ์ ์ปค๋์ด ๊ฐ์ฅ ๋ง์ด ์ ํ๋์ง๋ง, ๋ณต์กํ ํน์ง์ ํ์ตํ๊ธฐ ์ํด์๋
์ฌ๋ฌ ๊ฐ์ ํํฐ (= ์ปค๋)์ ์๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๋ค.
ํฉ์ฑ๊ณฑ ์ฐ์ฐ (= ํํฐ ์ฐ์ฐ)
- ์ ๋ ฅ ๋ฐ์ดํฐ (์ด๋ฏธ์ง)์ ํํฐ (์ปค๋)๋ฅผ ๊ณฑํ ํ ํฉ์ฐํ์ฌ ์๋ก์ด ์ถ๋ ฅ ๊ฐ (ํน์ง ๋งต, feature map)์ ์์ฑํ๋ ์ฐ์ฐ
ํ์ง๋ง, ์ด๋ ๊ฒ ํ๋ฉด ๊ณต๊ฐ ์ ๋ณด๊ฐ ์ค์ด๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๋ฐ๋ผ์ padding์ ์ฌ์ฉํด์ผ ํ๋ค!
Padding
- ํฉ์ฑ๊ณฑ ์ฐ์ฐ ํ ์ถ๋ ฅ ํฌ๊ธฐ๊ฐ ์ค์ด๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๋ ฅ ๋ฐ์ดํฐ ์ฃผ๋ณ์ ํน์ ๊ฐ (๋ณดํต 0)์ผ๋ก ์ฑ์ฐ๋ ๊ธฐ๋ฒ
- ํจ๋ฉ์ ์ฌ์ฉํ๋ฉด, ์ฐ์ฐ ํ์๋ ์ ๋ณด์ ํฌ๊ธฐ๋ฅผ ์ ์งํ ์ ์์ = ์ ๋ณด ์์ค ๋ฐฉ์ง
์์ ์ด๋ฏธ์ง๋ ํ์ฌ Zero-Padding (์ ๋ก ํจ๋ฉ)์ ์ ์ฉํด ์
๋ ฅ ํฌ๊ธฐ๋ฅผ ์ ์งํ๋ฉด์
ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ์ํํ๊ณ ์์
3. ํ๋ง ๊ณ์ธต (Pooling layer)
- ์ ๋ ฅ ๋ฐ์ดํฐ์์ ๋ํ๊ฐ ์ถ์ถ์ ํตํด ํฌ๊ธฐ๋ฅผ ์ค์ด์ง๋ง, ์ค์ํ ์ ๋ณด๋ ์ ์ง
- ์ฅ์
- ๊ณ์ฐ๋์ด ์ ์ด์ง
- ๊ณผ์ ํฉ ๋ฐฉ์ง (= ๋ชจ๋ธ ์ฑ๋ฅ ๊ฐ์ ) : ๋ชจ๋ธ์ด ๋ถํ์ํ ๋ ธ์ด์ฆ์ ๊ณผ์ ํฉํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์
- ์์น ๋ณํ์ ๊ฐํจ : ์ด๋ฏธ์ง๊ฐ ์ด๋ํ๋ ๊ฒ๊ณผ ๊ฐ์ ์์ ์์น ๋ณํ์๋ ํน์ง์ด ์ ์ง๋๋ ํจ๊ณผ
* ์ฌ์ง ์ถ์๋ฅผ ํตํด ๋ ์ข์ ์ด๋ฏธ์ง๋ฅผ ์ป์ ์ ์์ผ๋ฉฐ, ๋ํ์ ์ผ๋ก Max-pooling ์ฌ์ฉ
Max-pooling
- ๊ฐ ์์ญ์ ์ต๋๊ฐ ์ ํ
- ๊ฐ์ฅ ๋๋ ทํ ํน์ง์ ์ ์งํ ์ ์์
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ
max pooling ์ธ์๋ Average pooling๋ ์์ผ๋ฉฐ,
ํน์ง์ ๋ถ๋๋ฝ๊ฒ ์ ์งํด์ค๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ค์ํ ์ ๋ณด๋ฅผ ๊ฐ์กฐํ๋ ํจ๊ณผ๊ฐ ์ ๋ค๋ ํน์ง์ ๊ฐ๊ณ ์๋ค.
์ต๊ทผ์๋ global average pooling (์ ์ฒด ํน์ง ๋งต์์ ํ๊ท ๊ฐ 1๊ฐ ์ถ๋ ฅ)๋ ๋ง์ด ํ์ฉ๋๋ค.
* pooling์ ํ์ต ํ๋ผ๋ฏธํฐ๊ฐ ์๋ค! ์ด ์๋ฏธ๋โ
pooling์ ํ์ต ๊ณผ์ ์์ด ๊ทธ๋ฅ ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ์๋ํ๋ ๊ฒ์ด๋ค = ๋จ์ ์ฐ์ฐ๋ง ์ํ!
์ฆ, weight๋ bias์ ๊ฐ์ ํ์ต ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ตํ์ง ์์
4. Flatten layer
- ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ 1์ฐจ์ ๋ฒกํฐ๋ก ๋ณํํ๋ ๊ณ์ธต
- ์ด๋ฅผ ํตํด Dense layer์ ์ ๋ ฅ๋ ์ ์๋ค
CNN์ convolution layer์์ ์ถ์ถํ ํน์ง์ 1์ฐจ์ ๋ฒกํฐ๋ก ๋ณํํ์ฌ Dense layer์ ์ ๋ฌํ๋ ๊ณผ์ !!!
5. Fully Connected Layer (Dense Layer)
- ์ผ๋ฐ์ ์ธ ์ธ๊ณต์ ๊ฒฝ๋ง์ฒ๋ผ ๋ด๋ฐ์ด ๋ชจ๋ ์ ๋ ฅ๊ณผ ์ฐ๊ฒฐ๋ ์ธต
- ํฉ์ฑ๊ณฑ์ ํตํด ์ถ์ถํ ํน์ง์ ๋ฐํ์ผ๋ก ์ต์ข ๋ถ๋ฅ๋ฅผ ์ํ
CNN์ ๋ง์ง๋ง ๋จ๊ณ์์ Dense layer์ ํตํด ์ต์ข
๋ถ๋ฅ ์ํ!!!!
์ฌ๊ธฐ์ Action Function ์ ์ฉ
6. Output layer - SoftMax
- softmax ์ ์ฉ
- ๋ด๋ฐ ๊ฐ์๋ ๋ผ๋ฒจ ๊ฐ์์ ๋์ผ (์ถ๋ ฅ ๋ด๋ฐ์ ๊ฐ์ = ํด๋์ค ๊ฐ์)
๋ถ๋ฅ ๋ฌธ์ ์์ ๋ชจ๋ธ ๊ฒฐ๊ณผ๊ฐ์ ํ๋ฅ ๊ฐ์ผ๋ก ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ ํจ์!!!
'IT > AI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์์ฑํAI] Prompt Engineering (0) | 2025.03.25 |
---|