Caffe Documentation : Caffe Tutorial (Kor) - ys7yoo/BrainCaffe GitHub Wiki
CAFFE ์ ๋ฌธ์ (Caffe Tutorial)
Caffe๋ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ๋ก ์ด ํํ ๋ฆฌ์ผ์ ๋ฅ๋ฌ๋์ ์๋ฆฌ, ๊ตฌ์ฑ ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ๋ฒ์ ๋ํด์ ์ค๋ช ํ๋ค. ์ด๊ฒ์ ์ค์ฉ์ ์ธ ๊ฐ์ด๋์ด์ ํ๋ ์์ํฌ ์ ๋ฌธ์์ด์ง๋ง, ๋ฅ๋ฌ๋์ ์ ์ฒด ๊ณผ์ ๊ณผ ๋งฅ๋ฝ ๊ทธ๋ฆฌ๊ณ ํ๊ณ์ ๋ํด์๋ ๋ค๋ฃจ์ง ์๋๋ค. ์ด ํํ ๋ฆฌ์ผ๋ ์ ์ฉํ ์ค๋ช ์ ํด์ค ๊ฒ์ด๋ฉฐ ๊ธฐ๊ณํ์ต์ ๋ฐฐ๊ฒฝ์ง์๊ณผ ์ ๊ฒฝ๋ง์ ๋ํ ์ดํด๊ฐ ์ด ํํ ๋ฆฌ์ผ์ ์ดํดํ๋๋ฐ์ ๋์์ด ๋ ๊ฒ์ด๋ค.
ํ๋ฒ ๋ง์ค๋๋ง๋ค, caffe๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋์ผ ๊ฒ์ด๋ค. (Caffe๋ ์ ๋ฌธ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ ์๋ฆฌํ์ ์ค๋ช ํ๋ค.)
- ํํ : ๋ชจ๋ธ๊ณผ ์ต์ ํ๋ ์ผ๋ฐ์ ์ฝ๋ฉ๊ณผ๋ ๋ฌ๋ฆฌ ์ผ๋ฐ์ ๋ฌธ์ฅ์ผ๋ก ์ด๋ฃจ์ด์ง ํ๋ฌธ๊ฐ์๋ก์จ ์ ์ธ๋๋ค.
- ์๋ : ์ฐ์ ๊ณผ ์ฐ๊ตฌ๋ถ์ผ ์ชฝ์์ ์๋ง์ ๋ฐ์ดํฐ์ ์ต์ ์ ๋ชจ๋ธ์ ์์ด ์ฒ๋ฆฌ์๋๋ ์ค์ํ๋ค.
- ๋ชจ๋์ฑ : ์๋ก์ด ์ ๋ฌด(๊ณ์ธต์ ์๋ก์ด ์ญํ )์ ํ๊ฒฝ(๊ตฌ๋ํ๊ฒฝ)์ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ํ์๋กํ๋ค.
- ๊ณต๊ฐ์ฑ : ๊ณผํ์ ์ด๊ณ ์์ฉ๋ ์ง๋ณด๊ธฐ์ ์ ๊ณต๋์ ์ฝ๋, ์ฐธ์กฐ ๋ชจ๋ธ๋ค๊ณผ ์ฌ์์ฐ์ฑ์ ํ์๋กํ๋ค.
- ๊ณต๋์ฑ : ํ๋ฌธ์ ์ฐ๊ตฌ, ์ด๊ธฐ ํ๋กํ ํ์ ๊ทธ๋ฆฌ๊ณ ์ฐ์ ๋ถ์ผ์ ์์ฉํ๋ค ๋ชจ๋๊ฐ ํฉ๋ ์ฐ๊ตฌํ์ BSD-2ํ๋ก์ ํธ์ ๋ถ์ผ๋ก ๊ฐํ๊ฒ ๊ณต์ ํ๊ณ ์๋ค.
์ด๋ฌํ ์๋ฆฌ๋ค์ด ํ๋ก์ ํธ๋ฅผ ์ด๋์ด ๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ ํญ๋ชฉ์ ์ด ํํ ๋ฆฌ์ผ์์ ์๋ ค์ฃผ๊ณ ์ ํ๋ค.
- Nets, layers, Bolbs : โCaffeโ ๋ชจ๋ธ์ ๋ถ์
- Forward / Backward : ๊ณ์ธตํ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ธ์ ํ์์ ์ธ ์ฐ์ฐ
- Loss : ํ์ต๋์ด์ผํ ์ ๋ฌด(๊ณ์ธต)๋ฅผ ์์ค๋ก ์ ์ํ๋ค.
- Solver : ํด๊ฒฐ์ฌ๋ ๋ชจ๋ธ ์ต์ ํ๋ฅผ ์ํํด์ค๋ค.
- Layer Catalogue : ๊ณ์ธต์ ์ต์ ๋ชจ๋ธ์ ๋ํ ๊ณ์ธต์ ํฌํจํ๋ โcaffeโ ์นดํ๋ก๊ทธ์ธ ๋ชจ๋ธ๋ง๊ณผ ์ฐ์ฐ์ ๊ธฐ๋ณธ๋จ์์ด๋ค.
- Interfaces : ์ปค๋งจ๋ ๋ผ์ธ, Python, Matlab Caffe๋ฅผ ์ฌ์ฉํ๋ค.
- Data : ๋ชจ๋ธ ์ ๋ ฅ์ ๋ํ์ฌ ์ด๋ป๊ฒ caffeํ๋ฅผ ํ ๊ฒ์ธ๊ฐ
- Caffeinated Convolution : ์ด๋ป๊ฒ ์นดํ๊ฐ ํฉ์ฑ๊ณฑ์ ๊ณ์ฐํ ๊น (์ฌํ๋ด์ฉ)
์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ๋ ํํ ๋ฆฌ์ผ์ ์ํํ๋ ์ฌ์ธตํ์ต์ ๋ํ ์ดํด์ ๋์์ด ๋ ๋งํ ์ฐธ๊ณ ์ฌํญ์ด ์จ๋ผ์ธ์ ๊ณต๊ฐ๋์ด์๋ค. ์ด๋ ์ ๋ฌธ์ฌํญ๊ณผ ๋ฐ์ ๋ ์์, ๋ฐฐ๊ฒฝ์ง์๊ณผ ์ญ์ฌ ๊ทธ๋ฆฌ๊ณ ์ต์ ์ ์ง๋ณด๊ธฐ์ ์ ๋ค๋ฃฌ๋ค. CVPRโ14๋ก๋ถํฐ ์๊ฐ์ ๋ํ ์ฌ์ธตํ์ต(Deep Learning)์ ๋ํ ํํ ๋ฆฌ์ผ์ ์ฐ๊ตฌ์๋ค์๊ฒ ์ข์ ๋๋ฐ ํํ ๋ฆฌ์ผ์ด๋ค. Caffe ํํ ๋ฆฌ์ผ๋ก๋ถํฐ ์ค์ ๊ธฐ๋ฐ๊ณผ ํ๋ ์์ํฌ๋ฅผ ์๊ฒ๋๋ค๋ฉด, CVPRโ14 tutorial์์ ํฅ์๋ ์ฐ๊ตฌ๋ฐฉํฅ๊ณผ ํต์ฌ์ ์ธ ์์ด๋์ด๋ฅผ ํ๊ตฌํ ์ ์์ ๊ฒ์ด๋ค. ์ด ์ ๋ฌธ์๋ Michael Nielsen์ ์ํ ์ ๊ฒฝ๋ง๊ณผ ์ฌ์ธตํ์ต์ ๋ฌด๋ฃ ์จ๋ผ์ธ ๋๋ํํธ๋ก ์ ๊ณตํ๋ค. ์ค์ ๋ก ์ ๊ฒฝ๋ง๊ณผ โbackpropagationโ์ด ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃจ๋ ์ฑํฐ๋ค์ด ์ด ๋ถ์ผ๊ฐ ์ฒ์์ด๋ผ๋ฉด ๋์์ด ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ์ต๊ทผ ํ๋ฌธ์ ํํ ๋ฆฌ์ผ์ ๊ธฐ๊ณํ์ต๊ณผ ์์๋ถ์ผ์ ์ฐ๊ตฌ์๋ค์ ์ํ ์ฌ์ธตํ์ต์ ๋ํด ๋ค๋ฃฌ๋ค. ์ฝ๋์ ํ๋ก์์์ ์ ๊ฒฝ๋ง์ ๋ํ ํด์์ผ๋ก, Andrej Karpathy (Stanford)์ ์ํด ์์ฑ๋ ํ๋ก๊ทธ๋๋จธ์ ๊ด์ ์ผ๋ก ์ดํดํ๋ ์ ๊ฒฝ๋ง๋ค๋ฅผ ํ์ธํด๋ผ.