Study Anything ๐ง
[CV] CNN, ํฉ์ฑ๊ณฑ ์ฐ์ฐ, ํจ๋ฉ, ํ๋ง ๋ณธ๋ฌธ
CNN ์ด๋?
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(Convolutional Neural Network, CNN)์
์๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊น๊ณ ํผ๋-ํฌ์๋์ ์ธ ์ธ๊ณต์ ๊ฒฝ๋ง์ ํ ์ข ๋ฅ์ด๋ค.
์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์ธ์, ์ถ์ฒ ์์คํ , ์ด๋ฏธ์ง ๋ถ๋ฅ, ์๋ฃ ์ด๋ฏธ์ง ๋ถ์ ๋ฐ ์์ฐ์ด ์ฒ๋ฆฌ์ ์์ฉ๋์ด ์ฌ์ฉ๋๋ค.
CNN์ ์ ๊ทํ ๋ฐฉ๋ฒ์ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ์กฐ๊ธ ๋ค๋ฅธ๋ฐ, ์ผ๋ฐ์ ์ธ ์ ๊ทํ ๋ฐฉ๋ฒ์ ์์ค ํจ์์ ๊ฐ์ค์น ์ธก์ ์ ์ถ๊ฐํ์ง๋ง CNN์ ๋ฐ์ดํฐ์์ ๊ณ์ธต์ ํจํด์ ํ์ฉํ๊ณ ์๊ณ ๊ฐ๋จํ ํจํด์ ์ฌ์ฉํด ๋ณต์กํ ํจํด์ ์กฐ๋ฆฝํ๋ค.
์ด๋ฐ ํน์ง ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์๋ ์ด๋ฏธ์ง ์ธ์ ์์ ์ฌ์ฉํ๋ ์ด๋ฏธ์ง์ ํด์๋๊ฐ ๋์์ง๋ฉด ์ ๋ ฅ๊ฐ๊ณผ ๊ฐ์ค์น์ ์๊ฐ ์ปค์ง๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ์ฑ๊ณผ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ์ง๋ง, CNN์ ์ฐ๊ฒฐ์ฑ๊ณผ ๋ณต์ก์ฑ์ด ํจ์ฌ ๋ฎ๋ค.
CNN์ ๊ตฌ์กฐ๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํฉ์ฑ๊ณฑ์ธต(covolutional layer)๊ณผ ํ๋ง์ธต(pooling layer)์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
ํฉ์ฑ๊ณฑ์ธต์ ์ ๋ ฅ๋ฐ์ดํฐ์ ํ์์ ์ ์งํ๋ค.
์ด๋ฏธ์ง๋ ๋์ดX๋๋นX์ฑ๋์ 3์ฐจ์์ผ๋ก ํํ๋ ์ ์๋๋ฐ ์ด๊ฒ์ ํ ์(tensor)๋ผ๊ณ ํ๋ค.
์ฑ๋์ ์์์ฝ๋์ ์๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ฏธ์ง์ ์์ ์ฝ๋๊ฐ RGB๋ผ๋ฉด ์ฑ๋์ ํฌ๊ธฐ๋ 3์ด ๋๋ค.
CNN์ ํฉ์ฑ๊ณฑ์ธต์์๋ 3์ฐจ์์ ์ด๋ฏธ์ง ๊ทธ๋๋ก๋ฅผ ์ ๋ ฅ์ฐฝ์ ๋ฐ๊ณ , 3์ฐจ์์ ๋ฐ์ดํฐ๋ก ์ถ๋ ฅํด์ ๋ค์ ๊ณ์ธต์ผ๋ก ์ ๋ฌํ๋ค.
ํฉ์ฑ๊ณฑ์ธต(Convolutional Layer)์ ๋ด๋ฐ์ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋ชจ๋ ํฝ์ ์ ์ฐ๊ฒฐ๋๋ ๊ฒ์ด ์๋๋ผ
ํฉ์ฑ๊ณฑ์ธต ๋ด๋ฐ์ ์์ฉ์์ญ(receptive field)์์ ์๋ ํฝ์ ์๋ง ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์, ์์ ํฉ์ฑ๊ณฑ์ธต์์๋ ์ ์์ค ํน์ฑ์ ์ง์คํ๊ณ ๊ทธ ๋ค์ ํฉ์ฑ๊ณฑ์ธต์์๋ ๊ณ ์์ค ํน์ฑ์ผ๋ก ์กฐํฉํด ๋๊ฐ๋๋ก ํ๋ค.
ํ๋์ ํฉ์ฑ๊ณฑ ๊ณ์ธต์๋ ์ ๋ ฅ๋๋ ์ด๋ฏธ์ง์ ์ฑ๋ ๊ฐ์๋งํผ ํํฐ๊ฐ ์กด์ฌํ๋ฉฐ,
๊ฐ ์ฑ๋์ ํ ๋น๋ ํํฐ๋ฅผ ์ ์ฉํด ํฉ์ฑ๊ณฑ ์ฐ์ฐ(*)์ ์ํํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ก ํฉ์ฑ๊ณฑ ๊ณ์ธต์ ์ถ๋ ฅ ์ด๋ฏธ์ง๊ฐ ์์ฑ๋๋ค.
์๋ฅผ ๋ค์ด, ๋์ดX๋๋นX์ฑ๋์ด 4X4X1์ธ ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋ํด 3X3 ํฌ๊ธฐ์ ํํฐ๋ฅผ ์ ์ฉํ๋ ํฉ์ฑ๊ณฑ ๊ณ์ธต์์๋
์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ด๋ฏธ์ง์ ํํฐ์ ๋ํ ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ํตํด 2X2X1 ํํ์ ์ด๋ฏธ์ง๊ฐ ์์ฑ๋๋ค.
์ด๋ฐ ์ฐ์ฐ์ ํตํด ์ด๋ฏธ์ง์์ ๋ชจ์๋ฆฌ๋ฅผ ๊ฐ์งํ ์ ์๋ค. ์ต๊ทผ ๋ฅ๋ฌ๋์์๋ ์์์ ์ซ์๋ก ํํฐ๋ฅผ ๋ง๋ ๋ค์ ์ญ์ ํ๋ฅผ ํตํด ํ์ต์์ผ์ ๋ฌธ์ ์ ์ ํฉํ ํํฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
ํ์ง๋ง ์ด๊ฒ์๋ ๋ ๊ฐ์ง์ ๋จ์ ์ด ์๋๋ฐ, ์ฒซ ๋ฒ์งธ๋ ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ๊ณ์ ์ํํ๋ฉด ์ด๋ฏธ์ง๊ฐ ๊ณ์ ์์์ง๋ค๋ ๊ฒ์ด๊ณ
๋ ๋ฒ์งธ๋ ๊ฐ์ฅ์๋ฆฌ์ ํฝ์
์ ํ ๋ฒ๋ง ์ฌ์ฉ๋๋ฏ๋ก ์ด๋ฏธ์ง์ ์ค๊ณฝ ์ ๋ณด๋ฅผ ๋ ์ฌ์ฉํ๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ํจ๋ฉ(Padding)์ด ์๋๋ฐ, ํจ๋ฉ์ด๋ ์ด๋ฏธ์ง ์ฃผ์์ ์ถ๊ฐ๋ก ํ๋์ ๊ฒฝ๊ณ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
ํฉ์ฑ๊ณฑ ๊ณ์ธต์ ์ถ๋ ฅ์ด ์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ณต๊ฐ์ ํฌ๊ธฐ์ ๋์ผํ๊ฒ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
๊ฒฝ๊ณ๋ฅผ ๋ง๋๋ ๋ฐ์ ์ฌ์ฉํ๋ ์ซ์๋ก๋ ๋ณดํต 0์ ์ฌ์ฉํ๋ค.
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์์๋ ํฉ์ฑ๊ณฑ์ธต ๋ง๊ณ ๋ ํ๋ง์ธต(Pooling Layer)
'์คํฐ๋ > ML, DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ML] ๋ก์ง์คํฑ ํ๊ท (0) | 2022.03.19 |
---|---|
[ML] ํ๊ท ์๊ณ ๋ฆฌ์ฆ : ์ ํ ํ๊ท (2) - ๋ค์ค ํ๊ท (0) | 2022.03.14 |
[ML] ํ๊ท ์๊ณ ๋ฆฌ์ฆ : ์ ํ ํ๊ท (1) (0) | 2022.03.03 |
[CV] ํผ์ ํธ๋ก , ์ ๊ฒฝ๋ง (0) | 2020.01.11 |