์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- opencv
- PCA
- DBSCAN
- Lambda
- numpy
- ADsP
- ๋ฐ์ดํฐ๋ถ์
- ADP
- ๋ ๋ฆฝํ๋ณธ
- datascience
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- iloc
- Python
- ํฌ๋กค๋ง
- ํ์ด์ฌ
- t-test
- ๋์ํ๋ณธ
- ์๋ํด๋ผ์ฐ๋
- ์ค๋ฒ์ํ๋ง
- ๋น ๋ฐ์ดํฐ
- ํ ์คํธ๋ถ์
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- ์ฃผ์ฑ๋ถ๋ถ์
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- pandas
- dataframe
- ๊ตฐ์งํ
- ์ธ๋์ํ๋ง
- LDA
Data Science LAB
[Deep Learning] ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง CNN (Convolution Neural Network) ์ ๋ฆฌ ๋ณธ๋ฌธ
[Deep Learning] ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง CNN (Convolution Neural Network) ์ ๋ฆฌ
ใ ใ ใ ใ 2022. 12. 10. 03:221. CNN ์ด๋?
: ๋ฅ๋ฌ๋์ ๊ฐ์ฅ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ฃผ๋ก ์ด๋ฏธ์ง ์ธ์์ ๋ง์ด ์ฌ์ฉ๋จ, ๊ธฐ๋ณธ์ ์ธ ์์ด๋์ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ ํน์ง์์ ๋ณต์กํ ํน์ง์ผ๋ก ์ถ์ํํ๋ ๊ฒ
- ์ธ๊ฐ์ ์์ ๊ฒฝ ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฐฉํ ๊ธฐ์
- ํน์ง๋งต์ ์์ฑํ๋ ํํฐ๊น์ง๋ ํ์ต์ด ๊ฐ๋ฅํด ๋น์ (vision) ๋ถ์ผ์์ ์ฑ๋ฅ์ด ์ฐ์ํจ
- ์ด๋ฏธ์ง๋ฅผ ์ธ์ํ๊ธฐ ์ํด ํจํด์ ์ฐพ๋๋ฐ ํนํ ์ ์ฉ
- ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ์ตํ๊ณ ํจํด์ ์ฌ์ฉํด ์ด๋ฏธ์ง ๋ถ๋ฅ
- ์ด๋ฏธ์ง์ ๊ณต๊ฐ ์ ๋ณด๋ฅผ ์ ์งํ ์ฑ ํ์ต์ ํ๊ฒ ํ๋ ๋ชจ๋ธ (2D ๊ทธ๋๋ก ์์ )
- ์ฌ๋์ด ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ๊ธฐ์ตํ ํ์ ๋ฌด์์ธ ์ง ๋ง์ถ๋ ๊ฒ๊ณผ ์ ์ฌํจ
2. CNN ๊ตฌ์กฐ
Fully Connected Layer ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์ธ๊ณต์ ๊ฒฝ๋ง์ ์ ๋ ฅ๋ฐ์ดํฐ๋ 1์ฐจ์ ๋ฐฐ์ด ํํ๋ก ํ์ ๋๋ค. ํ ์ฅ์ด ์ปฌ๋ฌ ์ฌ์ง์ 3์ฐจ์ ๋ฐ์ดํฐ์ด๋ค. ๋ฐฐ์น ๋ชจ๋์ ์ฌ์ฉ๋๋ ์ฌ๋ฌ์ฅ์ ์ฌ์ง์ 4์ฐจ์ ๋ฐ์ดํฐ์ด๋ค. ์ฌ์ง ๋ฐ์ดํฐ๋ก ์์ ์ฐ๊ฒฐ ์ ๊ฒฝ๋ง์ ํ์ต์์ผ์ผ ํ ๊ฒฝ์ฐ์๋ 3์ฐจ์ ๋ฐ์ดํฐ๋ฅผ 1์ฐจ์์ผ๋ก ํ๋ฉดํํด์ผ ํ๋ค. ์ฌ์ง ๋ฐ์ดํฐ๋ฅผ ํ๋ฉดํ ์ํค๋ ๊ณผ์ ์์ ๊ณต๊ฐ ์ ๋ณด๊ฐ ์์ค๋ ์ ๋ฐ์ ์๋๋ฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ฏธ์ง ๊ณต๊ฐ ์ ๋ณด ์ ์ค๋ก ์ธํ ์ ๋ณด ๋ถ์กฑ์ผ๋ก ์ธ๊ณต ์ ๊ฒฝ๋ง์ ํน์ง์ ์ถ์ถ ๋ฐ ํ์ต์ด ๋นํจ์จ์ ์ด๊ฒ ๋๋ค. ์ด๋ฏธ์ง์ ๊ณต๊ฐ ์ ๋ณด๋ฅผ ์ ์งํ ์ฑ๋ก ํ์ต์ด ๊ฐ๋ฅํ ๋ชจ๋ธ์ด ๋ฐ๋ก CNN ์ด๋ค.
CNN์ ์์ ๊ฐ์ด ์ด๋ฏธ์ง์ ํน์ง์ ์ถ์ถํ๋ ๋ถ๋ถ๊ณผ ํด๋์ค๋ฅผ ๋ถ๋ฅํ๋ ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์๋ค. ํน์ง ์ถ์ถ(Feature extraction/learning) ์์ญ์ Covnolution Layer์ Pooling Layer๋ฅผ ์ฌ๋ฌ ๊ฒน ์๋ ํํ๋ก ๊ตฌ์ฑ๋๋ค. Convolution Layer๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ํํฐ๋ฅผ ์ ์ฉํ ํ ํ์ฑํ ํจ์๋ฅผ ๋ฐ์ํ๋ ํ์ ์์์ด๋ค. Convolution Layer ๋ค์์ ์์นํ๋ Pooling Layer๋ ์ ํ์ ์ธ ๋ ์ด์ด๋ค.
CNN์ ๋ง์ง๋ง ๋ถ๋ถ์๋ ์ด๋ฏธ์ง ๋ถ๋ฅ (Classification)๋ฅผ ์ํ Fully Connetcted Layer๊ฐ ์ถ๊ฐ๋๋ค. ์ด๋ฏธ์ง์ ํน์ง์ ์ถ์ถํ๋ ๋ถ๋ถ๊ณผ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋ ๋ถ๋ถ ์ฌ์ด์ ์ด๋ฏธ์ง ํํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์ด ํํ๋ก ๋ง๋๋ Flatten ๋ ์ด์ด๊ฐ ์์นํ๋ค.
ํฉ์ฑ๊ณฑ ๊ณ์ธต (Convolution Layer)
: ์ฐจ์์ ๋ฐ๋ผ ์ ๋ ฅ๊ฐ i๋ฅผ ์ค์บํ ๋ ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ์ํํ๋ ํํฐ๋ฅผ ์ฌ์ฉํ๋ค.
- Filter ์ ์ฉ
: ํ๋์ ํฉ์ฑ๊ณฑ ๊ณ์ธต์๋ ์ด๋ฏธ์ง ์ฑ๋์ ๊ฐ์(ํ๋ฐฑ์ 1, ์ปฌ๋ฌ๋ 3) ๋งํผ ํํฐ๊ฐ ์กด์ฌํ๋ฉฐ, ๊ฐ ์ฑ๋์ ํ ๋น๋ ํํฐ๋ฅผ ์ ์ฉํ์ฌ ํฉ์ฑ๊ณฑ ๊ณ์ธต์ ์ถ๋ ฅ ์ด๋ฏธ์ง๊ฐ ์์ฑ๋๋ค.
- Stride
: ์ด๋ฏธ์ง์ ๋ํด ํํฐ๋ฅผ ์ ์ฉํ ๋๋ ํํฐ์ ์ด๋๋์ ์๋ฏธํ๋ stride๋ฅผ ์ค์ ํด์ ํ๋ค. stride๊ฐ 2์ด๋ฉด ํํฐ๋ 2์นธ์ฉ ์ด๋ํ๋ฉฐ ํฉ์ฑ๊ณฑ ๊ณ์ฐ
- Padding
์ ๋ ฅ ์ด๋ฏธ์ง์ ๋ํด ํฉ์ฑ๊ณฑ์ ์ํํ๋ฉด, ์ถ๋ ฅ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ ์ ๋ ฅ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ณด๋ค ์์์ง๊ฒ ๋๋ค. ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ์ํํ๋ฉด์ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ ์ ์ ๋ ์์์ง๊ฒ ๋๊ณ , ์ด๋ฏธ์ง์ ๊ฐ์ฅ์๋ฆฌ์ ์์นํ ํฝ์ ์ ์ ๋ณด๋ ์ ์ ์ฌ๋ผ์ง๊ฒ ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ํจ๋ฉ(Padding)์ด๋ค. ํจ๋ฉ์ ์ ๋ ฅ ์ด๋ฏธ์ง์ ๊ฐ์ฅ์๋ฆฌ์ ํน์ ๊ฐ์ผ๋ก ์ค์ ๋ ํฝ์ ๋ค์ ์ถ๊ฐํจ์ผ๋ก์จ ์ ๋ ฅ ์ด๋ฏธ์ง์ ์ถ๋ ฅ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ๊ฐ๊ฑฐ๋ ๋น์ทํ๊ฒ ๋ง๋๋ ์ญํ ์ ํ๋ค.
์ด๋ฏธ์ง์ ๊ฐ์ฅ์๋ฆฌ์ 0์ ๊ฐ์ ๊ฐ๋ ํฝ์ ์ ์ถ๊ฐํ๋ ๊ฒ์ zero-padding ์ด๋ผ๊ณ ํ๋ฉฐ, CNN์์๋ ์ฃผ๋ก ์ด๋ฌํ zero-padding์ด ์ด์ฉ๋๋ค.
Pooling Layer
: ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ๊ณ์ ์ ์งํ ์ฑ Fully Connected Layer๋ก ๊ฐ๊ฒ ๋๋ค๋ฉด ์ฐ์ฐ์ด ๊ธฐํ ๊ธ์์ ์ผ๋ก ๋์ด๋๊ฒ ๋๋ค. ๋ฐ๋ผ์ ํฉ์ฑ๊ณฑ ๊ณ์ธต ๋ค์์ ์ ์ฉ๋๋ ๋ค์ด ์ํ๋ง ์์ ์ Pooling์ด๋ผ๊ณ ํ๋ค.
์ต๋ ํ๋ง | ํ๊ท ํ๋ง |
๊ฐ ํ๋ง ์์ ์ ํ์ฌ ๋ทฐ(view)์์ ์ต๋๊ฐ์ ์ ํํฉ๋๋ค. | ๊ฐ ํ๋ง ์์ ์ ํ์ฌ ๋ทฐ(view)์ ๊ฐ๋ค์ ํ๊ท ์ ์ทจํฉ๋๋ค. |
• ํ์ง๋ ํน์ง์ ๋ณด์กด • ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ |
• ํผ์ณ๋งต์ ๋ค์ด์ํ๋ง • LeNet์ ์ฌ์ฉ |
-> ์ฃผ๋ก Max Pooling ์ด ์ฌ์ฉ๋๋ฉฐ, Pooling Layer๋ฅผ ์ด์ฉํ๋ ๊ฒฝ์ฐ, ์ด๋ฏธ์ง ๊ตฌ์ฑ ์์๋ค์ ์ด๋ ๋ฐ ํ์ ์ ์ํด CNN์ ์ถ๋ ฅ๊ฐ์ด ์ํฅ์ ๋ฐ๋ ๋ฌธ์ ๋ฅผ ์ํํ ์ ์๋ค. ๋ํ ์ค๋ฒํผํ ๋ฌธ์ ๋ฅผ ์ด๋์ ๋ ๋ฐฉ์ง ๊ฐ๋ฅํ๋ค.
Fully Connected Layer (FC)
: ๊ฐ ์ ๋ ฅ์ด ๋ชจ๋ ๋ด๋ฐ์ ์ฐ๊ฒฐ๋ ํํํ ์ ๋ ฅ์์ ์๋ํ๋ค. ์กด์ฌํ๋ค๋ฉด, FC ๊ณ์ธต์ ์ผ๋ฐ์ ์ผ๋ก CNN ๊ตฌ์กฐ์ ๋๋ถ๋ถ์์ ๋ฐ๊ฒฌ๋๋ฉฐ, ํด๋์ค ์ ์์ ๊ฐ์ ๋ชฉํ๋ฅผ ์ต์ ํํ๋ ๋ฐ์ ์ฌ์ฉ๋ ์ ์๋ค.
3. ํํฐ ํ์ดํผํ๋ผ๋ฏธํฐ
: ์ ๋ ฅ ๋ณผ๋ฅจ ํฌ๊ธฐ์ ๊ธธ์ด , ํํฐ์ ๊ธธ์ด , ์ ๋กํจ๋ฉ(zero-padding)์ ์ P, ์คํธ๋ผ์ด๋ S์ ๋ํ์ฌ, ํผ์ฒ๋งต์ ์ถ๋ ฅํฌ๊ธฐ O๋ ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ง๋ค.
'๐ง Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Deep Learning] ๋ฐฐ์น ์ ๊ทํ (Batch Normalization, BN) (0) | 2022.12.09 |
---|---|
[Deep Learning] ๋ฅ๋ฌ๋์์ super().__init__ ์ฌ์ฉ (ํด๋์ค ์์) (0) | 2022.12.07 |
[Deep Learning] Tensorflow์์ Sequential ๋ชจ๋ธ ์์ฑํ๋ ๋ฒ (0) | 2022.11.24 |
[Deep Learning] ์ถ๋ ฅ์ธต ์ค๊ณ (softmax, ํญ๋ฑ ํจ์) (0) | 2022.11.23 |
[Deep Learning] ํ์ฑํ ํจ์ ์ข ๋ฅ ๋ฐ ๋น๊ต ์ ๋ฆฌ (0) | 2022.11.21 |