Summary ๐ค
CNN(Convolution Neural Network)์ ์ผ์ ํ ํฌ๊ธฐ์ ํ๋ผ๋ฏธํฐ(filter, kernel)๋ฅผ ์ฎ๊ฒจ๊ฐ๋ฉฐ ๋์ฅ์ ์ฐ๋ฏ์ด ์ฎ๊ฒจ๊ฐ๋ฉฐ ํฉ์ฑ๊ณฑ(Convolution)ํ๋ ํํ์ ๋ด๋ด ๋คํธ์ํฌ๋ค.
์ต๊ทผ์ ๋ํฅ์ ๋ ์ด์ด๋ฅผ ์ฆ๊ฐ์ํค๊ณ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์ด๋ ๊ฒ์ด๋ค.
Index ๐
- Channel
- Stride
- Padding
- Layer(Convolution, pooling, fully connected)
- Accumualte the number of parameters
- 1x1Convolution
Channel
Channel์ด๋ ์ด๋ฏธ์ง์ ํ ํฝ์
์ ๊ตฌ์ฑํ๋ ๋ฉํ ์ ๋ณด์ ์ฐจ์์ด๋ผ๊ณ ํ ์ ์๋ค.
์๋ฅผ ๋ค์ด 100(๋์ด)x80(๋๋น) ํฝ์
์ ์ปฌ๋ฌ ์ด๋ฏธ์ง๋ผ๋ฉด ์ฑ๋์ 3์ด ๋์ด ๋ฐ์ดํฐ์ shape๋ (3, 100, 80) ์ด ๋ ๊ฒ์ด๋ค.
๋ง์ฝ ํ๋ฐฑ ์ฌ์ง์ด๋ผ๋ฉด (2, 100, 80)์ด ๋ ๊ฒ์ด๋ค.
Stride
Stride๋ kernel ์ด ์ด๋ํ๋ ๊ฐ๊ฒฉ์ ์๋ฏธํ๋ค.
Padding
kernel์ ์ด๋ฏธ์ง์ ๋งจ์ฒ์๋ถํฐ ๋ชจ๋ ์ค์บํ๊ฒ ํ๋ ๋ฑ์ ํน์ ๋ชฉ์ ์ด ์์๋ ์ด๋ฏธ์ง ์ธ๋ถ์ ์์์ ๊ฐ(0)์ ๋ฃ์ด kernel์ด ์ค์บํ๋ ๋ฒ์๋ฅผ ์กฐ์ ํ ์ ์๋ค.
Layer(Convolution, pooling, fully connected)
-
Convolution Layer : ํ๋ ๋๋ ์ฌ๋ฌ๊ฐ์ ํํฐ(kernel)๋ก ์ด๋ฃจ์ด์ง ๋ ์ด์ด์ด๋ค. ํํฐ์ ๊ฐฏ์๋งํผ์ ์ฑ๋์ด ๋ง๋ค์ด์ง๋ค.(Feature Map ย Activation Map) - Pooling Layer
- Max pooling : ํน์ ์์ญ์์ ๊ฐ์ฅ ํฐ๊ฐ๋ง ์ทจํ๋ค.
- Down sampling : ์๋์ ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ค์ฌ์ ๊ฐ์ ์ฌ์ด์ฆ์ kernel์ด ์ฐ์ฐ๋๋ฉด ์ข๋ ์ถ์์ ์ธ (์ค๊ณฝ์์ ํน์ ์ฌ๋ฌผ์ ์๋ฏธ๋ฅผ ๋ด๋ ํฌ๊ธฐ์์ ์ฐ์ฐ) ๋ฐ์ดํฐ๋ฅผ ํ์ตํ ์ ์๊ฒ ๋๋ค.
- Fully connected : MLP๊ฐ๋ ๊ณผ ์ ์ฌํ๋ฉฐ ๋ถ๋ฅ๋ฅผ ์ํํ๋ค.
Accumualte the number of parameters
CNN์ด ์ ์ฐจ ์งํฅํ๋ ๋ฐ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์ด๊ณ ๋ ์ด์ด๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ์๋ค๊ณ ์์ ์ธ๊ธํ ๋ฐ ์๋ค.
ํ๋ผ๋ฏธํฐ์ ๊ฐฏ์๋ ํํฐ์ฌ์ด์ฆ x ์ฑ๋์ x ํํฐ์(์ถ๋ ฅ ์ฑ๋ ์)๋ก ๊ตฌํ ์ ์๋ค.
1x1Convolution
1x1 ํฌ๊ธฐ์ ํํฐ๋ฅผ ์ฌ๋ฌ๊ฐ Convolution ํจ์ผ๋ก์จ ์ฑ๋ Dimension์ ๊ฐ์์ํฌ ์ ์๋ค. (์
๋ ฅ ์ฑ๋์ > ํํฐ์ ๊ฐฏ์)
๋ฐ๋ผ์ ํ๋ผ๋ฏธํฐ์ ๊ฐฏ์๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
Refrence
- https://89douner.tistory.com/57