Caffe Documentation : Caffe Tutorial (Kor) - ys7yoo/BrainCaffe GitHub Wiki

CAFFE ์ž…๋ฌธ์„œ (Caffe Tutorial)

Caffe๋Š” ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ด ํŠœํ† ๋ฆฌ์–ผ์€ ๋”ฅ๋Ÿฌ๋‹์˜ ์›๋ฆฌ, ๊ตฌ์„ฑ ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•œ๋‹ค. ์ด๊ฒƒ์€ ์‹ค์šฉ์ ์ธ ๊ฐ€์ด๋“œ์ด์ž ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋ฌธ์„œ์ด์ง€๋งŒ, ๋”ฅ๋Ÿฌ๋‹์˜ ์ „์ฒด ๊ณผ์ •๊ณผ ๋งฅ๋ฝ ๊ทธ๋ฆฌ๊ณ  ํ•œ๊ณ„์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š๋Š”๋‹ค. ์ด ํŠœํ† ๋ฆฌ์–ผ๋Š” ์œ ์šฉํ•œ ์„ค๋ช…์„ ํ•ด์ค„ ๊ฒƒ์ด๋ฉฐ ๊ธฐ๊ณ„ํ•™์Šต์˜ ๋ฐฐ๊ฒฝ์ง€์‹๊ณผ ์‹ ๊ฒฝ๋ง์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์ด ํŠœํ† ๋ฆฌ์–ผ์„ ์ดํ•ดํ•˜๋Š”๋ฐ์— ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค.

์›๋ฆฌ

ํ•œ๋ฒˆ ๋งˆ์‹ค๋•Œ๋งˆ๋‹ค, caffe๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋“์ผ ๊ฒƒ์ด๋‹ค. (Caffe๋Š” ์ž…๋ฌธ์„œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›๋ฆฌํ•˜์— ์„ค๋ช…ํ•œ๋‹ค.)

  1. ํ‘œํ˜„ : ๋ชจ๋ธ๊ณผ ์ตœ์ ํ™”๋Š” ์ผ๋ฐ˜์  ์ฝ”๋”ฉ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์ผ๋ฐ˜์ ๋ฌธ์žฅ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ‰๋ฌธ๊ฐœ์š”๋กœ์จ ์„ ์–ธ๋œ๋‹ค.
  2. ์†๋„ : ์‚ฐ์—…๊ณผ ์—ฐ๊ตฌ๋ถ„์•ผ ์ชฝ์—์„œ ์ˆ˜๋งŽ์€ ๋ฐ์ดํ„ฐ์™€ ์ตœ์‹ ์˜ ๋ชจ๋ธ์— ์žˆ์–ด ์ฒ˜๋ฆฌ์†๋„๋Š” ์ค‘์š”ํ•˜๋‹ค.
  3. ๋ชจ๋“ˆ์„ฑ : ์ƒˆ๋กœ์šด ์—…๋ฌด(๊ณ„์ธต์˜ ์ƒˆ๋กœ์šด ์—ญํ• )์™€ ํ™˜๊ฒฝ(๊ตฌ๋™ํ™˜๊ฒฝ)์€ ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ํ•„์š”๋กœํ•œ๋‹ค.
  4. ๊ณต๊ฐœ์„ฑ : ๊ณผํ•™์ ์ด๊ณ  ์‘์šฉ๋œ ์ง„๋ณด๊ธฐ์ˆ ์€ ๊ณต๋™์˜ ์ฝ”๋“œ, ์ฐธ์กฐ ๋ชจ๋ธ๋“ค๊ณผ ์žฌ์ƒ์‚ฐ์„ฑ์„ ํ•„์š”๋กœํ•œ๋‹ค.
  5. ๊ณต๋™์„ฑ : ํ•™๋ฌธ์  ์—ฐ๊ตฌ, ์ดˆ๊ธฐ ํ”„๋กœํ† ํƒ€์ž… ๊ทธ๋ฆฌ๊ณ  ์‚ฐ์—…๋ถ„์•ผ์˜ ์‘์šฉํ’ˆ๋“ค ๋ชจ๋‘๊ฐ€ ํ•ฉ๋™ ์—ฐ๊ตฌํšŒ์™€ BSD-2ํ”„๋กœ์ ํŠธ์˜ ๋ถ„์•ผ๋กœ ๊ฐ•ํ•˜๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์›๋ฆฌ๋“ค์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ด๋Œ์–ด ๊ฐ„๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ ์•Œ๋ ค์ฃผ๊ณ ์ž ํ•œ๋‹ค.

  1. Nets, layers, Bolbs : โ€˜Caffeโ€™ ๋ชจ๋ธ์˜ ๋ถ„์„
  2. Forward / Backward : ๊ณ„์ธตํ™”๋กœ ๊ตฌ์„ฑ๋œ ๋ชจ๋ธ์˜ ํ•„์ˆ˜์ ์ธ ์—ฐ์‚ฐ
  3. Loss : ํ•™์Šต๋˜์–ด์•ผํ•  ์—…๋ฌด(๊ณ„์ธต)๋ฅผ ์†์‹ค๋กœ ์ •์˜ํ•œ๋‹ค.
  4. Solver : ํ•ด๊ฒฐ์‚ฌ๋Š” ๋ชจ๋ธ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.
  5. Layer Catalogue : ๊ณ„์ธต์€ ์ตœ์‹ ๋ชจ๋ธ์— ๋Œ€ํ•œ ๊ณ„์ธต์„ ํฌํ•จํ•˜๋Š” โ€˜caffeโ€™ ์นดํƒˆ๋กœ๊ทธ์ธ ๋ชจ๋ธ๋ง๊ณผ ์—ฐ์‚ฐ์˜ ๊ธฐ๋ณธ๋‹จ์œ„์ด๋‹ค.
  6. Interfaces : ์ปค๋งจ๋“œ ๋ผ์ธ, Python, Matlab Caffe๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  7. Data : ๋ชจ๋ธ ์ž…๋ ฅ์— ๋Œ€ํ•˜์—ฌ ์–ด๋–ป๊ฒŒ caffeํ™”๋ฅผ ํ•  ๊ฒƒ์ธ๊ฐ€
  8. Caffeinated Convolution : ์–ด๋–ป๊ฒŒ ์นดํŽ˜๊ฐ€ ํ•ฉ์„ฑ๊ณฑ์„ ๊ณ„์‚ฐํ• ๊นŒ (์‹ฌํ™”๋‚ด์šฉ)

์‹ฌ์ธตํ•™์Šต (Deeper Learning)

์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃจ๋Š” ํŠœํ† ๋ฆฌ์–ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹ฌ์ธตํ•™์Šต์— ๋Œ€ํ•œ ์ดํ•ด์— ๋„์›€์ด ๋ ๋งŒํ•œ ์ฐธ๊ณ ์‚ฌํ•ญ์ด ์˜จ๋ผ์ธ์— ๊ณต๊ฐœ๋˜์–ด์žˆ๋‹ค. ์ด๋Š” ์ž…๋ฌธ์‚ฌํ•ญ๊ณผ ๋ฐœ์ „๋œ ์š”์†Œ, ๋ฐฐ๊ฒฝ์ง€์‹๊ณผ ์—ญ์‚ฌ ๊ทธ๋ฆฌ๊ณ  ์ตœ์‹ ์˜ ์ง„๋ณด๊ธฐ์ˆ ์„ ๋‹ค๋ฃฌ๋‹ค. CVPRโ€™14๋กœ๋ถ€ํ„ฐ ์‹œ๊ฐ์— ๋Œ€ํ•œ ์‹ฌ์ธตํ•™์Šต(Deep Learning)์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ์€ ์—ฐ๊ตฌ์ž๋“ค์—๊ฒŒ ์ข‹์€ ๋™๋ฐ˜ ํŠœํ† ๋ฆฌ์–ผ์ด๋‹ค. Caffe ํŠœํ† ๋ฆฌ์–ผ๋กœ๋ถ€ํ„ฐ ์‹ค์ œ ๊ธฐ๋ฐ˜๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์•Œ๊ฒŒ๋œ๋‹ค๋ฉด, CVPRโ€™14 tutorial์—์„œ ํ–ฅ์ƒ๋œ ์—ฐ๊ตฌ๋ฐฉํ–ฅ๊ณผ ํ•ต์‹ฌ์ ์ธ ์•„์ด๋””์–ด๋ฅผ ํƒ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด ์ž…๋ฌธ์„œ๋Š” Michael Nielsen์— ์˜ํ•œ ์‹ ๊ฒฝ๋ง๊ณผ ์‹ฌ์ธตํ•™์Šต์„ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ๋“œ๋ž˜ํ”„ํŠธ๋กœ ์ œ๊ณตํ•œ๋‹ค. ์‹ค์ œ๋กœ ์‹ ๊ฒฝ๋ง๊ณผ โ€˜backpropagationโ€™์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๋Š” ์ฑ•ํ„ฐ๋“ค์ด ์ด ๋ถ„์•ผ๊ฐ€ ์ฒ˜์Œ์ด๋ผ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ๊ทผ ํ•™๋ฌธ์  ํŠœํ† ๋ฆฌ์–ผ์€ ๊ธฐ๊ณ„ํ•™์Šต๊ณผ ์˜์ƒ๋ถ„์•ผ์˜ ์—ฐ๊ตฌ์ž๋“ค์„ ์œ„ํ•œ ์‹ฌ์ธตํ•™์Šต์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค. ์ฝ”๋“œ์™€ ํšŒ๋กœ์ƒ์—์„œ ์‹ ๊ฒฝ๋ง์— ๋Œ€ํ•œ ํ•ด์„์œผ๋กœ, Andrej Karpathy (Stanford)์— ์˜ํ•ด ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๋Š” ์‹ ๊ฒฝ๋ง๋“ค๋ฅผ ํ™•์ธํ•ด๋ผ.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ