Convolution Layer
Convolution Layer์ Fully Connected Layer์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ย ๊ณต๊ฐ๊ตฌ์กฐ๋ฅผ ๋ณด์กดํ๊ณ ์ถ์ดํ๋ค๋ ๊ฒ์ด๋ค. ๊ฐ์ค์น์ ํด๋นํ๋ ํํฐw๋ ๊ฐ๋ก์ ์ธ๋ก์ ํฌ๊ธฐ๋ input์ ํฌ๊ธฐ๋ณด๋ค ํฌ์ง๋ง ์์ผ๋ฉด ๋์ง๋ง, ๊น์ด๋ ๋ฌด์กฐ๊ฑด input๊ฐ๊ณผ ๊ฐ์์ผ ํ๋ค. filter๋ฅผ, ์ผ์ชฝ ์๋ถํฐ ๋ชจ๋ ๋ถ๋ถ๋ง๋ค ๋ด์ ์ ํด์ฃผ๋๊ฒ ํฌ์ธํธ๋ค
(
). ์๋ฅผ ๋ค์ด, 32*32*3 ์ด๋ฏธ์ง์ 5*5*3 ํํฐ์ ๋ด์ ์ ์ค์ํ๋ฉด 28*28*1์ ํ์ฑํ ๋งต์ด
๋์จ๋ค.๋ด์ ์ ์ค์ํ๋ ์๋ฆฌ๋ ๋ณดํญ์ ๋ฐ๋ผ ํํฐ๋ฅผ ๋ฐ์ด์ฃผ๋ ๊ฒ์ด๋ค. ์๋ 7*7 ์ธํ์ ๋ณดํญ์ 1๋ก ์ค์ ํ ํ, 3*3์ ๋ด์ ์ ์ค์ํ๋ ๋ชจ์ต์ด๋ค. ์์ํ์
(N(ํฌ๊ธฐ)-F(ํํฐ)) / stride(๋ณดํญ) + 1
์ ์ฌ์ด์ฆ๋ฅผ ๊ฐ์ง๋ค. ๋ณดํญ์ ๋ฐ๋์ ์์ํ์ ์์ฐ์๋ก ๋ง๋๋ ๊ฐ์ด์ด์ผํ๋ค. ย
๋ง์ฝ ๊ฐ์ฅ์๋ฆฌ์ zero padding์ ์ ์ฉํ๋ค๋ฉด, ์ฌ์ด์ฆ๋ (N+2)*(N+2)๋ก ๋์ด๋๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ ๋
ํด ๊ณต์์ ์ ์ฉํด ์์ํ์ ๊ตฌํด์ผํ๋ค. ์ด์ฒ๋ผ zero padding์ ์ ์ฉํ๋ ์ด์ ๋ ์ ์ฒดํฌ๊ธฐ๋ฅผ ์ ์งํ๊ธฐ ์ํด์๋ค. ๋ํ ํํฐ๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋ผ๋ฏธํฐ์ ์๋ย
F*F*๊น์ด + b
ย ์ด๋ค.ย
padding ์ด๋?
Convolution layer๋ฅผ ํต๊ณผํ์ ๋ activation map์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๊ฒ ๋๋๋ฐ,
์ด๋ฏธ์ง์ Size๋ฅผ ์ ์งํ์ฌ ๊ฐ์ฅ์๋ฆฌ์ ์ ๋ณด๋ฅผ ์ฌ๋ผ์ง์ง ์๊ฒ ํ๊ธฐ ์ํด ์ด๋ฏธ์ง ์ฃผ๋ณ์ ํน์ ๊ฐ์ผ๋ก ์ฑ์ ๋๋ฆฌ๋ ๊ฒ์ด๋ค.
ย
CNN์ ํ๋์ ํํฐ๋ง ์ฌ์ฉํ์ง ์๊ณ , ๋ค์ํ ํํฐ๋ฅผ ์ฌ์ฉํ๋ค. ๋ค์ํ ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ, ํํฐ๋ง๋ค ๋ค๋ฅธ ํน์ง์ ๋ํ๋ด๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. ํํฐ๋ณ๋ก ํ์ฑํ๋งต์ ๋ง๋ค์ด๋ด๊ณ , ํ์ฑํ๋งต ๊ฐ์์ ๋ณผ๋ฅจ์ ๊ฐ์ง๋ ์ถ๋ ฅ์ด ๋ง๋ค์ด์ง๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๋ง๋ค์ด์งย Convolution layer์ ReLU์ ๊ฐ์ ํ์ฑํํจ์๋ฅผ ๊ฐ์ด ์์์ฌ๋ฆฌ๊ณ , Pooling Layer๊ฐ ๊ณณ๊ณณ์ ๋ค์ด๊ฐ ํํ๊ฐ ๋ฐ๋ก CNN์ด๋ค.
์ด๋ฌํ ํํฐ ๊ณ์ธต ๊ตฌ์กฐ๋ ๋ ๋ฒจ์ด ๋์์ง์๋ก ๋ชจ์๋ฆฌ, ์ผ๋ฃฉ๋ถํฐ ๋ณต์กํ ํน์ง๊น์ง ํ์
ํ๊ฒ ๋๋ค.
ย
ย
ย
ย
์ ๋ฆฌ
(W=๊ฐ๋ก, H=์ธ๋ก, D=๊น์ด, ํํฐ๊ฐ์ = K, ํํฐํฌ๊ธฐ =F, ๋ณดํญ = S, ํจ๋ฉ์ = P)
input size = ์ผ๋,
output size =
K๋ 2์ ์ ๊ณฑ( 32,64,128,512 ๋ฑ) ์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๊ณ , [F=3, S=1, P=1], [F=5, S=1, P=2],
[F=5, S=2, P=?(whatever fits)], [F=1, S=1, P=0] ๋ฑ์ด ์์ฃผ ์ฌ์ฉ๋๋ค.
ย
ReLU
Activation Functions ๋ฌธ์ ์ฐธ๊ณ
ย
Pooling Layer
Conv Layer์ ๊ฑฐ์ณ ๋์จ activation map, ๊ทธ๋ฆฌ๊ณ ReLu๋ฅผ ๊ฑฐ์น ์ถ๋ ฅ์ ํฌ๊ธฐ๋ฅผ ๊น์ด๋ฅผ ์ ์งํ๋ฉฐ downsampling ํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค. ์ฆ ์ด๋ฏธ์ง ์ฌ์ด์ฆ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ์ด๋ค. ์ฌ์ด์ฆ๋ฅผ ์ค์ด๋ ๊ฒ์ด ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ์ ํจ๋ฉ์ ๊ณ ๋ คํ์ง ์๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฐ์ด๋ ๋ฐฉ๋ฒ์
Max Pooling
์ผ๋ก, ํํฐ๊ฐ ์ฌ๋ผ์ด๋ฉํ๋ฉฐ ํํฐ ์์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค. ๋ค์ํ pooling ์ฌ์ด์ฆ, ํํฐ ํฌ๊ธฐ, ๋ ์ด์ด ์ ๋ฑ์ ์๋ํด ๋ณด๋ ๋ฑ์ Cross-validation
์ด ํ์ํ๋ค. ์ ๋ฆฌ
(W=๊ฐ๋ก, H=์ธ๋ก, D=๊น์ด, Pooling Layer ํํฐํฌ๊ธฐ =F, ๋ณดํญ = S)
input size = ์ผ๋,
output size =
ย
Fully Connected Layer(FC layer)
์์ ์ถ๋ ฅ์ 1์ฐจ์ ๋ฒกํฐ๋ก ๋ง๋ค์ด ๋ชจ๋ ์ถ๋ ฅ์ ์ฐ๊ฒฐํ๋ค. ์ด๋๋ ๊ณต๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๊ณ ํ๋๋ก ํตํฉํ ๋ค์, ํด๋์ค ์ค์ฝ์ด๋ฅผ ๊ณ์ฐํ๋ค. ์ด๋ ๊ฒ ์ถ๋ ฅ๋ ๊ฐ์ ๊ณ์ธต๊ตฌ์กฐ์ ์ต์์ ๊ฐ์ผ๋ก, ๊ฐ ๊ฐ๋ค์ด ์๋ฏธํ๋ ๊ฒ์ ํํฐ์ Template์ด ์ผ๋ง๋ ํ์ฑํ๋์๋๊ฐ์ด๋ค.
ย