Convolutional Neural Networks (ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง)
ํฉ์ฑ๊ณฑ(Convolution) :
- ์ปดํจํฐ ๋น์ (Computer Vision, CV) ๋ถ์ผ์์ ๋ง์ด ์ฐ์ด๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ฐฉ์
- ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(CNN) : ๋ฅด์ฟค ๊ต์, ํฉ์ฑ๊ณฑ์ ์ด์ฉํ ์ ๊ฒฝ๋ง ๋์์ธ
- ์ด๋ฏธ์ง ์ฒ๋ฆฌ์์ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋คํธ์ํฌ ๊ตฌ์กฐ
ํฉ์ฑ๊ณฑ(Convolution)
ํฉ์ฑ๊ณฑ ๊ณ์ธต(Convolution layer)
- ํํฐ(Filter ๋๋ Kernel)๋ฅผ ํ ์นธ์ฉ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๋ฉฐ ํฉ์ฑ๊ณฑ ์ฐ์ฐ
- ์ด๋ํ๋ ๊ฐ๊ฒฉ์ ์คํธ๋ผ์ด๋(Stride)
- ํน์ฑ ๋งต ํฌ๊ธฐ๊ฐ ์ค์ด๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ํจ๋ฉ(Padding ๋๋ Margin)
- 1๊ฐ์ ํํฐ๋ฅผ ์ฌ์ฉ
ํน์ฑ ๋งต์ด ์ค์ด๋ฌ |
ํน์ฑ ๋งต์ ํฌ๊ธฐ๊ฐ ๋์ผ |
์ฌ๋ฌ๊ฐ์ ํํฐ๋ฅผ ์ด์ฉํ ํฉ์ฑ๊ณฑ
- 3์ฐจ์(๊ฐ๋ก, ์ธ๋ก, ์ฑ๋)์ ์ด๋ฏธ์ง
- ์
๋ ฅ๊ณผ ์ถ๋ ฅ
- ์
๋ ฅ ์ด๋ฏธ์ง ํฌ๊ธฐ: (10, 10, 3)
- ํํฐ์ ํฌ๊ธฐ: (4, 4, 3)
- ํํฐ์ ๊ฐ์ :2
- ์ถ๋ ฅ ํน์ฑ ๋งต์ ํฌ๊ธฐ: (10, 10, 2)
CNN์ ๊ตฌ์ฑ
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(CNN)
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(CNN) ์ ํฉ์ฑ๊ณฑ ๊ณ์ธต(Convolution layer)๊ณผ ์์ ์ฐ๊ฒฐ ๊ณ์ธต(Dense layer)์ ํจ๊ป ์ฌ์ฉ
|
- ํฉ์ฑ๊ณฑ ๊ณ์ธต + ํ์ฑํ ํจ์ + ํ๋ง์ ๋ฐ๋ณตํ๋ฉฐ ์ ์ ์์์ง์ง๋ง ํต์ฌ์ ์ธ ํน์ฑ๋ค์ ๋ฝ์๋ - ํ๋ง ๊ณ์ธต(Pooling layer)์ ํน์ฑ ๋งต์ ์ค์๋ถ๋ถ์ ์ถ์ถํ์ฌ ์ ์ฅํ๋ ์ญํ - ํ๋ง ๊ณ์ธต์ ์ง๋๋ฉด ์์ ์ฐ๊ฒฐ ๊ณ์ธต๊ณผ ์ฐ๊ฒฐ์ด ๋์ด์ผ ํ๋๋ฐ ํ๋ง์ ํต๊ณผํ ํน์ฑ ๋งต์ 2์ฐจ์, ์์ ์ฐ๊ฒฐ ๊ณ์ธต์ 1์ฐจ์์ด๋ฏ๋ก ์ฐ์ฐ์ด ๋ถ๊ฐ : ํํํ ๊ณ์ธต(Flatten layer)์ ์ฌ์ฉํด์ 2์ฐจ์์ 1์ฐจ์์ผ๋ก ํผ์น๋ ์์
|
Max pooling์ ์์ |
- 2x2 ํฌ๊ธฐ์ ํ ์ฌ์ด์ฆ(Pool size)๋ก ์คํธ๋ผ์ด๋ 2์ Max pooling ๊ณ์ธต์ ํต๊ณผํ ๊ฒฝ์ฐ 2x2 ํฌ๊ธฐ์ ํน์ฑ ๋งต์์ ๊ฐ์ฅ ํฐ ๊ฐ๋ค์ ์ถ์ถํ๋ ๋ฐฉ์ |
Average pooling์ ์์ |
- Max pooling์์๋ 2x2 ํฌ๊ธฐ์ ํน์ฑ ๋งต์์ ์ต๋ ๊ฐ์ ์ถ์ถํ๋ค๋ฉด Average pooling์ 2x2 ํฌ๊ธฐ์ ํน์ฑ ๋งต์์ ํ๊ท ๊ฐ์ ์ถ์ถํ๋ ๋ฐฉ์ |
Max pooling๊ณผ Average pooling์ ๋น๊ต
ํํํ ๊ณ์ธต(Flatten layer) |
- ํํํ ๊ณ์ธต์ ํต๊ณผํ๊ฒ ๋๋ฉด ์์ ์ฐ๊ฒฐ ๊ณ์ธต์์ ํ๋ ฌ ๊ณฑ์
์ ํ ์ ์๊ณ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ ์ฐ๊ฒฐ ๊ณ์ธต(=Dense=Fully connected) + ํ์ฑํ ํจ์์ ๋ฐ๋ณต์ ํตํด ์ ์ ๋
ธ๋์ ๊ฐ์๋ฅผ ์ถ์, ๋ง์ง๋ง์ Softmax ํ์ฑํ ํจ์๋ฅผ ํต๊ณผ ํ ์ถ๋ ฅ์ธต์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅ |
๋ค์ํ CNN ์ข
๋ฅ
๋ฒค์น๋งํฌ ํ
Transfer Learning (์ ์ด ํ์ต)
- ์ ์ด ํ์ต์ด๋ผ๋ ๊ฐ๋
์ ์ธ๊ฐ์ด ํ์ตํ๋ ๋ฐฉ๋ฒ์ ๋ชจ์ฌ
- ๊ณผ๊ฑฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด์ ์ถ์ ๋ ๊ฒฝํ์ ํ ๋๋ก ๊ทธ๊ฒ๊ณผ ์ ์ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ์ ๊ฒฝ๋ง์ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ ์ ์ด ํ์ต
- ์ ์ด ํ์ต์ ๋น๊ต์ ํ์ต ์๋๊ฐ ๋น ๋ฅด๊ณ (๋น ๋ฅธ ์๋ ด), ๋ ์ ํํ๊ณ , ์๋์ ์ผ๋ก ์ ์ ๋ฐ์ดํฐ์
์ผ๋ก ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋
- ์ ์ดํ์ต์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ ๋ช
ํ ๋คํธ์ํฌ๋ค๊ณผ ๊ฐ์ด ๋ฏธ๋ฆฌ ํ์ต์ํจ ๋ชจ๋ธ(pretrained models)์ ๊ฐ์ ธ์ ์๋ก์ด ๋ฐ์ดํฐ์
์ ๋ํด ๋ค์ ํ์ต์ํค๋ ๋ฐฉ๋ฒ
์ ๋ช
ํ ๋คํธ์ํฌ
Recurrent Neural Networks (์ํ ์ ๊ฒฝ๋ง)
RNN์ ์๋์ธต์ด ์์ฐจ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ํ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๋ ์ธ๊ณต์ ๊ฒฝ๋ง์ ํ ์ข
๋ฅ
์์ฑ, ๋ฌธ์ ๋ฑ ์์ฐจ์ ์ผ๋ก ๋ฑ์ฅํ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํฉํ ๋ชจ๋ธ
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง๊ณผ ๋๋ถ์ด ์ต๊ทผ ๋ค์ด ๊ฐ๊ด ๋ฐ๊ณ ์๋ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ
๊ธธ์ด์ ๊ด๊ณ์์ด ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ฐ์๋ค์ผ ์ ์๋ ๊ตฌ์กฐ
Generative Adversarial Network (์์ฑ์ ์ ๋ ์ ๊ฒฝ๋ง)
์๋ก ์ ๋(Adversarial)ํ๋ ๊ด๊ณ์ 2๊ฐ์ง ๋ชจ๋ธ(์์ฑ ๋ชจ๋ธ๊ณผ ํ๋ณ ๋ชจ๋ธ)์ ๋์์ ์ฌ์ฉํ๋ ๊ธฐ์
|
* GAN์ ์์กฐ์งํ๋ฒ๊ณผ ์ด๋ฅผ ๋ณด๊ณ ์ ๋ฐํ๋ ๊ฒฝ์ฐฐ์ ๊ด๊ณ๋ก ์ค๋ช
ํ ์ ์์ต๋๋ค. - ์์ฑ๋ชจ๋ธ (์์กฐ์งํ๋ฒ): ๊ฒฝ์ฐฐ๋ ๊ตฌ๋ถ ๋ชปํ๋ ์ง์ง๊ฐ์ ์์กฐ์งํ๋ฅผ ๋ง๋ค์! - ํ๋ณ๋ชจ๋ธ (๊ฒฝ์ฐฐ): ์ง์ง ์งํ์ ์์กฐ ์งํ๋ฅผ ์ ๊ตฌ๋ถํด๋ด์! - ์ด์๊ฐ์ด ๊ณ์ ์งํ๋๋ฉด ์์กฐ์งํ๋ฒ์ ๋์ฑ ๋ ์ ๊ตํ๊ฒ, ๊ฒฝ์ฐฐ์ ๋์ฑ ๋ ํ๋ณ์ ์ํ๋ฉด์ ์๋ก ๋ฐ์ ์ ๊ด๊ณ๊ฐ ๋์ด ์๋ณธ๊ณผ ๊ตฌ๋ณ์ด ์ด๋ ค์ด ๊ฐ์ง ์ด๋ฏธ์ง๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋ฉ๋๋ค. |
์ถ์ฒ ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ