Caffe Tutorial 1. Tutorial
http://caffe.berkeleyvision.org/tutorial/
Caffe Tutorial
Caffe는 딥러닝 프레임웍입니다. 이 튜토리얼은 그것의 철학, 구조, 사용법에 대해서 설명하고자 합니다. 이것은 실제적인 가이드이며 프레임웍의 소개자료입니다. 따라서 딥러닝의 최신 동향이나 컨텍스트, 역사등은 여기서 다루지 않습니다. 가능한 설명이 주어지도록 하겠지만 기계학습과 신경망에 배경지식이 있으면 이해가 쉽습니다.
Philosophy
한모금의 Caffe에는 다음의 녹아 있습니다.
- 표현(Expression): 코드 대신 일반적인 텍스트로 설명되는 모델과 최적화 방법
- 속도(Speed): 연구소나 산업에서 거대 데이터와 최신 모델을 사용하는데 필요한 속도
- 모듈성(Modularity): 새로운 작업과 세팅에 필요한 확장성과 유연성
- 개방성(Openness): 과학적이고 응용된 progress에 필요한 공통된 코드와, 레퍼런스 모델, 재현성
- 소통(Community): 학계 연구, 스타트업 프로토타입, 기업 응용 모두가 서로 토의하고 BSD-2프로젝트에 의해 함께 개발되어 강력함을 공유할 수 있음
이러한 원칙들에 의해 프로젝트를 이끌고 있습니다.
Tour
- Nets, Layers, and Blobs: Caffe model의 기본 요소
http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html - Forward / Backward: 층별로 구성된 모델의 필수적인 계산
http://caffe.berkeleyvision.org/tutorial/forward_backward.html - Loss: 로스에 의해 정의되는 학습을 위한 과정
http://caffe.berkeleyvision.org/tutorial/loss.html - Solver: 모델 최적화를 조절하는 solver
http://caffe.berkeleyvision.org/tutorial/solver.html - Layer Catalogue: 층은 계산과 모델의 기초적인 단위로 cffe's의 카탈로그는 최신 모델의 층들을 포함합니다.
http://caffe.berkeleyvision.org/tutorial/layers.html - Interfaces: 커맨드라인, Python, MATLAB Caffe.
http://caffe.berkeleyvision.org/tutorial/interfaces.html - Data: 모델의 입력을 caffeinate하는 방법
http://caffe.berkeleyvision.org/tutorial/data.html
자세히 들여다보려면 아래 자료도 좋습니다.
- caffeinated Convolution: 어떻게 Caffe가 컨볼루션을 계산하는가
http://caffe.berkeleyvision.org/tutorial/convolution.html
Deep Learning
우리의 핸즈온 튜토리얼을 대체할 많은 딥러닝 자료들이 인터넷에 무료로 제공되고 있습니다. 그러한 자료들은 개요와 심화된 자료들, 배경과 역사, 최근의 진보까지 다루고 잇습니다.
CVPR '14에서의 Tutorial on Deep Learning for Vision(https://sites.google.com/site/deeplearningcvpr2014/)은 연구자들에게 좋은 튜토리얼입니다. Caffe 튜토리얼을 통해서 프레임웍을 구성하고 기초를 마련했다면 기초적인 아이디어와 진보된 연구 방향을 CVPR '14 튜토리얼에서 찾아보기 바랍니다.
광범위한 소개는 Michael Nielsen의 Neural Networks and Deep Learning (http://neuralnetworksanddeeplearning.com/index.html)의 무료 초안 버전에서 다루고 있습니다. 신경망을 사용하는 특정 챕터와 역전파(backpropagation)이 어떻게 동작하는지가 궁금하면 이 문서가 도움이 될 것입니다.
최근 아카데믹한 튜토리얼은 기계학습과 비전 분야를 위한 딥러닝을 다루고 있습니다.
- Deep Learning Tutorial (http://www.cs.nyu.edu/~yann/talks/lecun-ranzato-icml2013.pdf) by Yann LeCun (NYU, Facebook) and Marc'Aurelio Ranzato (Facebook) ICML 2013 tutorial
- LISA Deep Learning Tutorial(http://deeplearning.net/tutorial/deeplearning.pdf) by the LISA Lab directed by Yoshua Bengio (U. Monteral)
서킷과 코드 수준의 신경망에 대한 상세한 설명은 Andrej Karpathy (Standford)의 Understanding Neural Networks from a Programmer's Perspective(http://karpathy.github.io/neuralnets/)를 참고하세요.