From b256a7601a7789817cf1342e179f436be4698d63 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sat, 23 Aug 2014 19:22:09 -0700 Subject: [PATCH] [docs] draft tutorial subjects --- docs/tutorial/fig/.gitignore | 0 docs/tutorial/fig/backward.jpg | Bin 0 -> 105017 bytes docs/tutorial/fig/forward.jpg | Bin 0 -> 71957 bytes docs/tutorial/fig/forward_backward.png | Bin 0 -> 57267 bytes docs/tutorial/fig/layer.jpg | Bin 0 -> 54757 bytes docs/tutorial/fig/logreg.jpg | Bin 0 -> 42966 bytes docs/tutorial/forward_backward.md | 35 ++++++- docs/tutorial/index.md | 44 ++++++++ docs/tutorial/interfaces.md | 68 +++++++++++++ docs/tutorial/layers.md | 148 ++++++++++++++++++++++++++- docs/tutorial/loss.md | 53 ++++++++++ docs/tutorial/net_layer_blob.md | 133 +++++++++++++++++++++++++ docs/tutorial/solver.md | 177 ++++++++++++++++++++++++++++++++- 13 files changed, 655 insertions(+), 3 deletions(-) create mode 100644 docs/tutorial/fig/.gitignore create mode 100644 docs/tutorial/fig/backward.jpg create mode 100644 docs/tutorial/fig/forward.jpg create mode 100644 docs/tutorial/fig/forward_backward.png create mode 100644 docs/tutorial/fig/layer.jpg create mode 100644 docs/tutorial/fig/logreg.jpg create mode 100644 docs/tutorial/index.md create mode 100644 docs/tutorial/interfaces.md diff --git a/docs/tutorial/fig/.gitignore b/docs/tutorial/fig/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/docs/tutorial/fig/backward.jpg b/docs/tutorial/fig/backward.jpg new file mode 100644 index 0000000000000000000000000000000000000000..906b080c975881dbb5bd598b3f0824c7a63014aa GIT binary patch literal 105017 zcmeFZ2UJwevM9XCIcFqE4kAhhff11;B9aA!ksL;XWN=^<2}%?YP*6}oKoC%J9?3~W zat;HMB+VdUgkk1w{Lc5Cd(XLdt^3}3|N7VY|I@7AQ@gslc2#xn?yBzI5GDu<0OK_s zeI0;^hzNKJ{sDwV24#IME$B@XBOU$g+F$_yFo@gx_}nFC1OQJje_s>bD+0HytOY3M z07`%wU}0eah>kj~A?I2z#$lvD_UISrPUr<00#+|~hzhQDvdVtm84_Np&jhTrS0FWyK z041%xy{{_(&|d}d0)dXMARl@s5We8$Uq2KhxSKR&e&He^k_(vxo0%mDgK`qr2D)3^0AYF%Zuf(kp2~2_XDHN7>lFW+#y7y^ zRAylizvkkrbE+dqLqhB62SUI3lL$K6|9%!Hh?n`gK^S~4$t`Cu z^S{YM;^yOj<&@7UeW=gf-~AhulO)CYuI?#b5QOvm0!{y{+v)FXc8Uk>Ml$AMf9RtI=>I?*e_>;e|f7F!*Tz;1Z{;mN7R=_8Cl5&%3kX|Ca z4qh*VS(a3pROQcl0t|o3Nv=(Pm0XWphg{-M4B!Y#eHYBWfct-eGXTq+LG66OtJj}8 z{GA`!3fUmpBH1X}0@);B0et_>I?GLLsgBJ4w*8ij-6$PbM zAiYAW4$2S8PRdTo4M>y9gPLfPLO|UVKhEA1O&5lT?s&k+hKXkTjCi00JaPl3J24Bu%IA z-(=SLZ5`LYo@VmfqA*Yg_djVa6kk}sfcx|AFJ0|H%&7#YZ2S#C-aa9| z?yheB0-E3`>@1+~<#_&_fb4~f@&Ir;rk~OPz)$wyV>JcP!7}pjX(>~3G@Nq zfKgx?>>JC#27m?*fMakHqadOqVjWPxOp^+?T09ZBzzhLgsVW|9_? zR+F}q4wIrt(WH1XIx-$IDKb?ueX?6*u4F-E(PZgl`D9gO9pJmOOm;v{PR>p)My>?D zn^xo=`Cn9>|^Xl9K0Nw9L^k1I7&H&I1V|_a9-wg=8WYm;~eEY;u7G} z=7Mo0bJcLoa+7jPavO68ac6UPaBrSrJ#*=dz-6XRl2c(Fl z6s6pyUP%p}BRi*Z&gV}|2~(`Bb;PV3I<&MD5TF6u5RE^DspuBoo;ZV`gdPxI=g=LI@FwSbm`UpztB}L)gRqhzk)Z5qpm;AJs?lMm~sK ziqefLj;4?HjUJD=6qECq^s)QnuTSKjym*3-b&BncyAYQihl_WN?@hRv@H~N#=#uy~ zNiiw=Dfv^cr(?;G-1%|&Ck0*w3xy_y?eCS|zc1n`N-8EU4k%v#aQnlzlB*@PrP8Hu%Gk@| zJ^~*DKK}T0=hIlZL3wM1az$ySNaf2ama5olqUw-pbd6ihLakNpVBNL4*7{5JRSoAG z3L4KgW;L-jB{fqwM>Z3Xp~(HuKA$&RTw9h}p{>(xx7tS9joZI=7<6=Z>U6esX?7vI z)w>&eRD0@rm3wRY6#J^bD152vSLm<$s`#~fKxv@%o65KPLAAl=A;?h6@YUhY5&ehT8n z8GH*-ymq0jvMIfByfxh}A0DQjpN33^BeHuf){vGu7e2stbyZ(Q;5Kw@>cCb6B zo1q~f2^LTSq(t1H-}8s`8boLQf^~?*fm2Hm0mJ|h;|`oUNT(W}#xkb~^q+p;|M5%w zn)pu&5}ns1f5G2RNeR=SpGSO}h<;y*iAhMvNlCy&K}JSOPDw#Yd77!H>1e2^XsIbF zX&7i|>FB{kMZ?I%K+kjvpE5bE4%Q+kB_*e)qNF;d_}@!}&j1r8$#)VR5+Xr>n2Csl ziHOh+@PnF=fsPrNPQ^V_*&p#kAC^#haQDjtf%;P7qDXGuW(legF$b6fd_b$Jn z@O@EvMP*fWO>JF$Yg>CqXIFPm@6hnb=-Bwg

Ug>HG4^>e~7b%6hKP?c1k7^CIAAQ;NHfH1OLwd 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 T`XAPH{`YzPyYtHYYvg|b$GsKX literal 0 HcmV?d00001 diff --git a/docs/tutorial/fig/forward.jpg b/docs/tutorial/fig/forward.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab52810908e2e9e79321c126622b5117a0cc6ead GIT binary patch literal 71957 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�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 literal 0 HcmV?d00001 diff --git a/docs/tutorial/fig/forward_backward.png b/docs/tutorial/fig/forward_backward.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f46c39bf4daf180758b7dc25c59d2960fcd91b GIT binary patch literal 57267 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 bE<_AsUoibVOZY7nybR**?Bi5-JoMtf%Yx(F literal 0 HcmV?d00001 diff --git a/docs/tutorial/fig/layer.jpg b/docs/tutorial/fig/layer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5075381cdad4202802bbee21813d4a8127fcc591 GIT binary patch literal 54757 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%0A-F&$S4#3}iE2dsM3|~$>PoOQC9@QIr+VL8622db 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

    o)OA4NTp!w$>NGq<&$2IvO6)f6@UUREs@_FfjeW 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 literal 0 HcmV?d00001 diff --git a/docs/tutorial/fig/logreg.jpg b/docs/tutorial/fig/logreg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..480f519a826d96218b559faf632c0e1f5158bfa0 GIT binary patch literal 42966 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 G|4jfG2({$^ literal 0 HcmV?d00001 diff --git a/docs/tutorial/forward_backward.md b/docs/tutorial/forward_backward.md index 52376e6..8e74026 100644 --- a/docs/tutorial/forward_backward.md +++ b/docs/tutorial/forward_backward.md @@ -1,4 +1,37 @@ --- layout: default --- -# The Forward / Backward Passes +# Forward and Backward + +The forward and backward passes are the essential computations of a [Net](net_layer_blob.html). + +Forward and Backward + +Let's consider a simple logistic regression classifier. + +The **forward** pass computes the output given the input for inference. +In forward Caffe composes the computation of each layer to compute the "function" represented by the model. +This pass goes from bottom to top. + +Forward pass + +The data $x$ is passed through an inner product layer for $g(x)$ then through a softmax for $h(g(x))$ and softmax loss to give $f_W(x)$. + +The **backward** pass computes the gradient given the loss for learning. +In backward Caffe reverse-composes the gradient of each layer to compute the gradient of the whole model by automatic differentiation. +This is back-propagation. +This pass goes from top to bottom. + +Backward pass + +The backward pass begins with the loss and computes the gradient with respect to the output $\frac{\partial f_W}{\partial h}$. The gradient with respect to the rest of the model is computed layer-by-layer through the chain rule. Layers with parameters, like the `INNER_PRODUCT` layer, compute the gradient with respect to their parameters $\frac{\partial f_W}{\partial W_{\text{ip}}}$ during the backward step. + +These computations follow immediately from defining the model: Caffe plans and carries out the forward and backward passes for you. + +- The `Net::Forward()` and `Net::Backward()` methods carry out the respective passes while `Layer::Forward()` and `Layer::Backward()` compute each step. +- Every layer type has `forward_{cpu,gpu}()` and `backward_{cpu,gpu}` methods to compute its steps according to the mode of computation. A layer may only implement CPU or GPU mode due to constraints or convenience. + +The [Solver](solver.html) optimizes a model by first calling forward to yield the output and loss, then calling backward to generate the gradient of the model, and then incorporating the gradient into a weight update that attempts to minimize the loss. Division of labor between the Solver, Net, and Layer keep Caffe modular and open to development. + +For the details of the forward and backward steps of Caffe's layer types, refer to the [layer catalogue](layers.html). + diff --git a/docs/tutorial/index.md b/docs/tutorial/index.md new file mode 100644 index 0000000..e9f593e --- /dev/null +++ b/docs/tutorial/index.md @@ -0,0 +1,44 @@ +--- +layout: default +--- +# Caffe Tutorial + +Caffe is a deep learning framework and this tutorial explains its philosophy, architecture, and usage. +This is a practical guide and framework introduction, so the full frontier, context, and history of deep learning cannot be covered here. +While explanations will be given where possible, a background in machine learning and neural networks is helpful. + +## Philosophy + +In one sip, Caffe is brewed for + +- Expression: models and optimizations are defined as plaintext schemas instead of code. +- Speed: for research and industry alike speed is crucial for state-of-the-art models and massive data. +- Modularity: new tasks and settings require flexibility and extension. +- Openness: scientific and applied progress call for common code, reference models, and reproducibility. +- Community: academic research, startup prototypes, and industrial applications all share strength by joint discussion and development in a BSD-2 project. + +and these principles direct the project. + +## Tour + +- [Nets, Layers, and Blobs](net_layer_blob.html): the anatomy of a Caffe model. +- [Forward / Backward](forward_backward.html): the essential computations of layered compositional models. +- [Loss](loss.html): the task to be learned is defined by the loss. +- [Solver Optimization](solver.html): the solver coordinates model optimization. +- [Layer Catalogue](layers.html): the layer is the fundamental unit of modeling and computation -- Caffe's catalogue includes layers for state-of-the-art models. +- [Interfaces](interfaces.html): command line, Python, and MATLAB Caffe. + +## Deeper Learning + +There are helpful references freely online for deep learning that complement our hands-on tutorial. +These cover introductory and advanced material, background and history, and the latest advances. + +A broad introduction is given in the free online draft of [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com/index.html) by Michael Nielsen. In particular the chapters on using neural nets and how backpropagation works are helpful if you are new to the subject. + +These recent academic tutorials explain deep learning for researchers in machine learning and vision: + +- [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. +- [Large-Scale Visual Recognition: Deep Learning Tutorial](https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxsc3ZydHV0b3JpYWxjdnByMTR8Z3g6Njg5MmZkZTM1MDhhZWNmZA) by Marc'Aurelio Ranzato (Facebook). CPVR 2014 tutorial. +- [LISA Deep Learning Tutorial](http://deeplearning.net/tutorial/deeplearning.pdf) by the LISA Lab directed by Yoshua Bengio (U. Montréal). + +For an exposition of neural networks in circuits and code, check out [Understanding Neural Networks from a Programmer's Perspective](http://karpathy.github.io/neuralnets/) by Andrej Karpathy (Stanford). diff --git a/docs/tutorial/interfaces.md b/docs/tutorial/interfaces.md new file mode 100644 index 0000000..3332341 --- /dev/null +++ b/docs/tutorial/interfaces.md @@ -0,0 +1,68 @@ +--- +layout: default +--- +# Interfaces + +Caffe has command line, Python, and MATLAB interfaces for day-to-day usage, interfacing with research code, and rapid prototyping. While Caffe is a C++ library at heart and it exposes a modular interface for development, not every occasion calls for custom compilation. The cmdcaffe, pycaffe, and matcaffe interfaces are here for you. + +## Command Line + +The command line interface -- cmdcaffe -- is the `caffe` tool for model training, scoring, and diagnostics. Run `caffe` without any arguments for help. This tool and others are found in caffe/build/tools. (The following example calls require completing the LeNet / MNIST example first.) + +**Training**: `caffe train` learns models from scratch, resumes learning from saved snapshots, and fine-tunes models to new data and tasks. All training requires a solver configuration through the `-solver solver.prototxt` argument. Resuming requires the `-snapshot model_iter_1000.solverstate` argument to load the solver snapshot. Fine-tuning requires the `-weights model.caffemodel` argument for the model initialization. + + # train LeNet + caffe train -solver examples/mnist/lenet_solver.prototxt + # train on GPU 2 + caffe train -solver examples/mnist/lenet_solver.prototxt -gpu 2 + # resume training from the half-way point snapshot + caffe train -solver examples/mnist/lenet_solver.prototxt -snapshot examples/mnist/lenet_iter_5000.solverstate + +For a full example of fine-tuning, see examples/finetuning_on_flickr_style, but the training call alone is + + # fine-tune CaffeNet model weights for style recognition + caffe train -solver examples/finetuning_on_flickr_style/solver.prototxt -weights models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel + +**Testing**: `caffe test` scores models by running them in the test phase and reports the net output as its score. The net architecture must be properly defined to output an accuracy measure or loss as its output. The per-batch score is reported and then the grand average is reported last. + + # + # score the learned LeNet model on the validation set as defined in the model architeture lenet_train_test.prototxt + caffe test -model examples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000 -gpu 0 -iterations 100 + +**Benchmarking**: `caffe time` benchmarks model execution layer-by-layer through timing and synchronization. This is useful to check system performance and measure relative execution times for models. + + # (These example calls require you complete the LeNet / MNIST example first.) + # time LeNet training on CPU for 10 iterations + caffe time -model examples/mnist/lenet_train_test.prototxt -iterations 10 + # time a model architecture with the given weights on the first GPU for 10 iterations + # time LeNet training on GPU for the default 50 iterations + caffe time -model examples/mnist/lenet_train_test.prototxt -gpu 0 + +**Diagnostics**: `caffe device_query` reports GPU details for reference and checking device ordinals for running on a given device in multi-GPU machines. + + # query the first device + caffe device_query -gpu 0 + +## Python + +The Python interface -- pycaffe -- is the `caffe` module and its scripts in caffe/python. `import caffe` to load models, do forward and backward, handle IO, visualize networks, and even instrument model solving. All model data, derivatives, and parameters are exposed for reading and writing. + +- `caffe.Net` is the central interface for loading, configuring, and running models. `caffe.Classsifier` and `caffe.Detector` provide convenience interfaces for common tasks. +- `caffe.SGDSolver` exposes the solving interface. +- `caffe.io` handles input / output with preprocessing and protocol buffers. +- `caffe.draw` visualizes network architectures. +- Caffe blobs are exposed as numpy ndarrays for ease-of-use and efficiency. + +Tutorial IPython notebooks are found in caffe/examples: do `ipython notebook caffe/examples` to try them. For developer reference docstrings can be found throughout the code. + +Compile pycaffe by `make pycaffe`. The module dir caffe/python/caffe should be installed in your PYTHONPATH for `import caffe`. + +## MATLAB + +The MATLAB interface -- matcaffe -- is the `caffe` mex and its helper m-files in caffe/matlab. Load models, do forward and backward, extract output and read-only model weights, and load the binaryproto format mean as a matrix. + +A MATLAB demo is in caffe/matlab/caffe/matcaffe_demo.m + +Note that MATLAB matrices and memory are in column-major layout counter to Caffe's row-major layout! Double-check your work accordingly. + +Compile matcaffe by `make matcaffe`. diff --git a/docs/tutorial/layers.md b/docs/tutorial/layers.md index de2d552..74b2675 100644 --- a/docs/tutorial/layers.md +++ b/docs/tutorial/layers.md @@ -1,4 +1,150 @@ --- layout: default --- -# Data: Ins and Outs +# Layers + +To create a Caffe model you need to define the model architecture in a protocol buffer definition file (prototxt). + +Caffe layers and their parameters are defined in the protocol buffer definitions for the project in [caffe.proto](https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto). The latest definitions are in the [dev caffe.proto](https://github.com/BVLC/caffe/blob/dev/src/caffe/proto/caffe.proto). + +TODO complete list of layers linking to headings + +### Vision Layers + +#### Convolution + +`CONVOLUTION` + +#### Pooling** + +`POOLING` + +#### Local Response Normalization + +`LRN` + +#### im2col + +`IM2COL` is a helper for doing the image-to-column transformation that you most likely do not need to know about. + +### Loss Layers + +Loss drives learning by comparing an output to a target and assigning cost to minimize. The loss itself is computed by the forward pass and the gradient w.r.t. to the loss is computed by the backward pass. + +#### Softmax + +`SOFTMAX_LOSS` + +#### Sum-of-Squares / Euclidean + +`EUCLIDEAN_LOSS` + +#### Hinge / Margin + +`HINGE_LOSS` + +#### Sigmoid Cross-Entropy + +`SIGMOID_CROSS_ENTROPY_LOSS` + +#### Infogain + +`INFOGAIN_LOSS` + +#### Accuracy and Top-k + +`ACCURACY` scores the output as the accuracy of output with respect to target -- it is not actually a loss and has no backward step. + +### Activation / Neuron Layers + +#### ReLU / Rectified-Linear and Leaky ReLU + +`RELU` + +#### Sigmoid + +`SIGMOID` + +#### TanH / Hyperbolic Tangent + +`TANH` + +#### Absolute Value + +`ABSVAL` + +#### Power + +`POWER` + +#### BNLL + +`BNLL` + +### Data Layers + +#### Database + +`DATA` + +#### In-Memory + +`MEMORY_DATA` + +#### HDF5 Input + +`HDF5_DATA` + +#### HDF5 Output + +`HDF5_OUTPUT` + +#### Images + +`IMAGE_DATA` + +#### Windows + +`WINDOW_DATA` + +#### Dummy + +`DUMMY_DATA` is for development and debugging. See `DummyDataParameter`. + +### Common Layers + +#### Inner Product + +`INNER_PRODUCT` + +#### Splitting + +`SPLIT` + +#### Flattening + +`FLATTEN` + +#### Concatenation + +`CONCAT` + +#### Slicing + +`SLICE` + +#### Elementwise Operations + +`ELTWISE` + +#### Argmax + +`ARGMAX` + +#### Softmax + +`SOFTMAX` + +#### Mean-Variance Normalization + +`MVN` diff --git a/docs/tutorial/loss.md b/docs/tutorial/loss.md index 59c626d..b470eaf 100644 --- a/docs/tutorial/loss.md +++ b/docs/tutorial/loss.md @@ -2,3 +2,56 @@ layout: default --- # Loss + +In Caffe, as in most of machine learning, learning is driven by a **loss** function (also known as an **error**, **cost**, or **objective** function). +A loss function specifies the goal of learning by mapping parameter settings (i.e., the current network weights) to a scalar value specifying the "badness" of these parameter settings. +Hence, the goal of learning is to find a setting of the weights that *minimizes* the loss function. + +The loss in Caffe is computed by the Forward pass of the network. +Each layer takes a set of input (`bottom`) blobs and produces a set of output (`top`) blobs. +Some of these layers' outputs may be used in the loss function. +A typical choice of loss function for one-versus-all classification tasks is the `SOFTMAX_LOSS` function, used in a network definition as follows, for example: + +``` +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "pred" + bottom: "label" + top: "loss" +} +``` + +In a `SOFTMAX_LOSS` function, the `top` blob is a scalar (dimensions $1 \times 1 \times 1 \times 1$) which averages the loss (computed from predicted labels `pred` and actuals labels `label`) over the entire mini-batch. + +### Loss weights + +For nets with multiple layers producing a loss (e.g., a network that both classifies the input using a `SOFTMAX_LOSS` layer and reconstructs it using a `EUCLIDEAN_LOSS` layer), *loss weights* can be used to specify their relative importance. + +By convention, Caffe layer types with the suffix `_LOSS` contribute to the loss function, but other layers are assumed to be purely used for intermediate computations. +However, any layer can be used as a loss by adding a field `loss_weight: ` to a layer definition for each `top` blob produced by the layer. +Layers with the suffix `_LOSS` have an implicit `loss_weight: 1` for the first `top` blob (and `loss_weight: 0` for any additional `top`s); other layers have an implicit `loss_weight: 0` for all `top`s. +So, the above `SOFTMAX_LOSS` layer could be equivalently written as: + +``` +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "pred" + bottom: "label" + top: "loss" + loss_weight: 1 +} +``` + +However, *any* layer able to backpropagate may be given a non-zero `loss_weight`, allowing one to, for example, regularize the activations produced by some intermediate layer(s) of the network if desired. +For non-singleton outputs with an associated non-zero loss, the loss is computed simply by summing over all entries of the blob. + +The final loss in Caffe, then, is computed by summing the total weighted loss over the network, as in the following pseudo-code: + +``` +loss := 0 +for layer in layers: + for top, loss_weight in layer.tops, layer.loss_weights: + loss += loss_weight * sum(top) +``` diff --git a/docs/tutorial/net_layer_blob.md b/docs/tutorial/net_layer_blob.md index 0d8cc4b..21de96c 100644 --- a/docs/tutorial/net_layer_blob.md +++ b/docs/tutorial/net_layer_blob.md @@ -2,3 +2,136 @@ layout: default --- # Nets, Layers, and Blobs: anatomy of a Caffe model + +Deep networks are compositional models that are naturally represented as a collection of inter-connected layers. Caffe defines a net layer-by-layer in its own model schema. The network defines the entire model bottom-to-top from input data to loss. As data and derivatives flow through the network in the [forward and backward passes](forward_backward.html) Caffe stores, communicates, and manipulates the information as *blobs*: the blob is the standard array and unified memory interface for the framework. + +[Solving](solver.html) is configured separately to decouple modeling and optimization. + +The layer comes first as the foundation of both model and computation. The net follows as the collection and connection of layers. The details of blob describe how information is stored and communicated in and across layers and nets. + +## Layer computation and connections + +The layer is the essence of a model and the fundamental unit of computation. Layers convolve filters, pool, take inner products, apply nonlinearities like rectified-linear and sigmoid and other elementwise transformations, normalize, load data, and compute losses like softmax and hinge. [See the layer catalogue](layers.html) for all operations. All the types needed for state-of-the-art deep learning tasks are there. + +A layer with bottom and top blob. + +A layer takes input through *bottom* connections and makes output through *top* connections. + +Each layer type defines three critical computations: *setup*, *forward*, and *backward*. + +- Setup: initialize the layer and its connections once at model initialization. +- Forward: given input from bottom compute the output and send to the top. +- Backward: given the gradient w.r.t. the top output compute the gradient w.r.t. to the input and send to the bottom. A layer with parameters computes the gradient w.r.t. to its parameters and stores it internally. + +Layers have two key responsibilities for the operation of the network as a whole: a *forward pass* that takes the inputs and produces the outputs, and a *backward pass* that takes the gradient with respect to the output, and computes the gradients with respect to the parameters and to the inputs, which are in turn back-propagated to earlier layers. These passes are simply the composition of each layer's forward and backward. + +Developing custom layers requires minimal effort by the compositionality of the network and modularity of the code. Define the setup, forward, and backward for the layer and it is ready for inclusion in a net. + +## Net definition and operation + +The net jointly defines a function and its gradient by composition and auto-differentiation. The composition of every layer's output computes the function to do a given task, and the composition of every layer's backward computes the gradient from the loss to learn the task. Caffe models are end-to-end machine learning engines. + +The net is a set of layers connected in a computation graph -- a DAG / directed acyclic graph to be exact. Caffe does all the bookkeeping for any DAG of layers to ensure correctness of the forward and backward passes. A typical net begins with a data layer that loads from disk and ends with a loss layer that computes the objective for a task such as classification or reconstruction. + +The net is defined as a set of layers and their connections in a plaintext modeling language. +A simple logistic regression classifier + +Softmax Regression + +is defined by + + name: "LogReg" + layers { + name: "mnist" + type: DATA + top: "data" + top: "label" + data_param { + source: "input_leveldb" + batch_size: 64 + } + } + layers { + name: "ip" + type: INNER_PRODUCT + bottom: "data" + top: "ip" + inner_product_param { + num_output: 2 + } + } + layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip" + bottom: "label" + top: "loss" + } + +The Net explains its initialization as it goes: + + I0902 22:52:17.931977 2079114000 net.cpp:39] Initializing net from parameters: + name: "LogReg" + [...model prototxt printout...] + # construct the network layer-by-layer + I0902 22:52:17.932152 2079114000 net.cpp:67] Creating Layer mnist + I0902 22:52:17.932165 2079114000 net.cpp:356] mnist -> data + I0902 22:52:17.932188 2079114000 net.cpp:356] mnist -> label + I0902 22:52:17.932200 2079114000 net.cpp:96] Setting up mnist + I0902 22:52:17.935807 2079114000 data_layer.cpp:135] Opening leveldb input_leveldb + I0902 22:52:17.937155 2079114000 data_layer.cpp:195] output data size: 64,1,28,28 + I0902 22:52:17.938570 2079114000 net.cpp:103] Top shape: 64 1 28 28 (50176) + I0902 22:52:17.938593 2079114000 net.cpp:103] Top shape: 64 1 1 1 (64) + I0902 22:52:17.938611 2079114000 net.cpp:67] Creating Layer ip + I0902 22:52:17.938617 2079114000 net.cpp:394] ip <- data + I0902 22:52:17.939177 2079114000 net.cpp:356] ip -> ip + I0902 22:52:17.939196 2079114000 net.cpp:96] Setting up ip + I0902 22:52:17.940289 2079114000 net.cpp:103] Top shape: 64 2 1 1 (128) + I0902 22:52:17.941270 2079114000 net.cpp:67] Creating Layer loss + I0902 22:52:17.941305 2079114000 net.cpp:394] loss <- ip + I0902 22:52:17.941314 2079114000 net.cpp:394] loss <- label + I0902 22:52:17.941323 2079114000 net.cpp:356] loss -> loss + # set up the loss and configure the backward pass + I0902 22:52:17.941328 2079114000 net.cpp:96] Setting up loss + I0902 22:52:17.941328 2079114000 net.cpp:103] Top shape: 1 1 1 1 (1) + I0902 22:52:17.941329 2079114000 net.cpp:109] with loss weight 1 + I0902 22:52:17.941779 2079114000 net.cpp:170] loss needs backward computation. + I0902 22:52:17.941787 2079114000 net.cpp:170] ip needs backward computation. + I0902 22:52:17.941794 2079114000 net.cpp:172] mnist does not need backward computation. + # determine outputs + I0902 22:52:17.941800 2079114000 net.cpp:208] This network produces output loss + # finish initialization and report memory usage + I0902 22:52:17.941810 2079114000 net.cpp:467] Collecting Learning Rate and Weight Decay. + I0902 22:52:17.941818 2079114000 net.cpp:219] Network initialization done. + I0902 22:52:17.941824 2079114000 net.cpp:220] Memory required for data: 201476 + +Model initialization is handled by `Net::Init()`. + +The network is run on CPU or GPU by setting a single switch. Layers come with corresponding CPU and GPU routines that produce identical results (with tests to prove it). The CPU / GPU switch is seamless and independent of the model definition. For research and deployment alike it is best to divide model and implementation. + +## Blob storage and communication + +Caffe stores and communicates data in 4-dimensional arrays called blobs. Blobs provide a unified memory interface, holding data e.g. batches of images, model parameters, and derivatives for optimization. + +Blobs conceal the computational and mental overhead of mixed CPU/GPU operation by synchronizing from the CPU host to the GPU device as needed. In practice, one loads data from the disk to a blob in CPU code, calls a device kernel to do GPU computation, and ferries the blob off to the next layer, ignoring low-level details while maintaining a high level of performance. + +Memory on the host and device is allocated on demand (lazily) for efficient memory usage. + +The conventional blob dimensions for data are number N x channel K x height H x width W. Blob memory is row-major in layout so the last / rightmost dimension changes fastest. + +- Number / N is the batch size of the data. Batch processing achieves better throughput for communication and device processing. For an ImageNet training batch of 256 images B = 256. +- Channel / K is the feature dimension e.g. for RGB images K = 3. + +Caffe operations are general with respect to the channel dimension / K. Grayscale and hyperspectral imagery are fine. Caffe can likewise model and process arbitrary vectors in blobs with singleton. That is, the shape of blob holding 1000 vectors of 16 feature dimensions is 1000 x 16 x 1 x 1. + +Parameter blob dimensions vary according to the type and configuration of the layer. For a convolution layer with 96 filters of 11 x 11 spatial dimension and 3 inputs the blob is 96 x 3 x 11 x 11. For an inner product / fully-connected layer with 1000 output channels and 1024 input channels the parameter blob is 1 x 1 x 1000 x 4096. + +For custom data it may be necessary to hack your own input preparation tool or data layer. However once your data is in your job is done. The modularity of layers accomplishes the rest of the work for you. + +### Model format + +The models are defined in plaintext protocol buffer schema (prototxt) while the learned models are serialized as binary protocol buffer (binaryproto) .caffemodel files. + +The model format is defined by the protobuf schema in [caffe.proto](https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto). + +Caffe speaks [Google Protocol Buffer](https://code.google.com/p/protobuf/) for the following strengths: minimal-size binary strings when serialized, efficient serialization, a human-readable text format compatible with the binary version, and efficient interface implementations in multiple languages, most notably C++ and Python. This all contributes to the flexibility and extensibility of modeling in Caffe. diff --git a/docs/tutorial/solver.md b/docs/tutorial/solver.md index d6a95b4..992869f 100644 --- a/docs/tutorial/solver.md +++ b/docs/tutorial/solver.md @@ -1,4 +1,179 @@ --- layout: default --- -# Solving +# Solver Optimization + +The solver orchestrates model optimization by coordinating the network's forward inference and backward gradients to form parameter updates that attempt to improve the loss. +The responsibilities of learning are divided between the solver for overseeing the optimization and generating parameter updates and the network for yielding loss and gradients. + +The Caffe solvers are Stochastic Gradient Descent (SGD), Adaptive Gradient (ADAGRAD), and Nesterov's Accelerated Gradient (NAG). + +The solver + +1. scaffolds the optimization bookkeeping and creates the training network for learning and test network(s) for evaluation. +2. iteratively optimizes by calling forward / backward and updating parameters +3. (periodically) evaluates the test networks +4. snapshots the model and solver state throughout the optimization + +where each iteration + +1. calls network forward to make the output and loss +2. calls network backward to make the gradients +3. incorporates the gradients into parameter updates according to the solver method +4. updates the solver state according to learning rate, history, and method + +to take the weights all the way from initialization to learned model. + +Like Caffe models, Caffe solvers run in CPU / GPU modes. + +## Methods + +The solver methods address the general optimization problem of loss minimization. +The optimization objective is the average loss over instances + +$L(W) = \frac{1}{N} \sum_i f_W^{(i)}\left(X^{(i)}\right) + \lambda r(W)$ + +where $f_W^{(i)}$ is the loss on instance $i$ with data $X^{(i)}$ in a mini-batch of size $N$ and $r(W)$ is a regularization term with weight $\lambda$. + +The model computes $f_W$ in the forward pass and the gradient $\nabla f_W$ in the backward pass. + +The gradient of the loss $\nabla L(W)$ is formed by the solver from the model gradient $\nabla f_W$, the regularlization gradient $r(W)$, and other particulars to each method. +The method then computes the parameter update $\Delta W$ to update the weights and iterate. + +### SGD + +Stochastic gradient descent (SGD) + +TODO Bottou pointer + +### ADAGRAD + +The adaptive gradient (ADAGRAD) + +TODO cite Duchi + +### NAG + +Nesterov's accelerated gradient (NAG) + +TODO cite ??? + +## Scaffolding + +The solver scaffolding prepares the optimization method and initializes the model to be learned in `Solver::Presolve()`. + + > caffe train -solver examples/mnist/lenet_solver.prototxt + I0902 13:35:56.474978 16020 caffe.cpp:90] Starting Optimization + I0902 13:35:56.475190 16020 solver.cpp:32] Initializing solver from parameters: + test_iter: 100 + test_interval: 500 + base_lr: 0.01 + display: 100 + max_iter: 10000 + lr_policy: "inv" + gamma: 0.0001 + power: 0.75 + momentum: 0.9 + weight_decay: 0.0005 + snapshot: 5000 + snapshot_prefix: "examples/mnist/lenet" + solver_mode: GPU + net: "examples/mnist/lenet_train_test.prototxt" + +Net initialization + + I0902 13:35:56.655681 16020 solver.cpp:72] Creating training net from net file: examples/mnist/lenet_train_test.prototxt + [...] + I0902 13:35:56.656740 16020 net.cpp:56] Memory required for data: 0 + I0902 13:35:56.656791 16020 net.cpp:67] Creating Layer mnist + I0902 13:35:56.656811 16020 net.cpp:356] mnist -> data + I0902 13:35:56.656846 16020 net.cpp:356] mnist -> label + I0902 13:35:56.656874 16020 net.cpp:96] Setting up mnist + I0902 13:35:56.694052 16020 data_layer.cpp:135] Opening lmdb examples/mnist/mnist_train_lmdb + I0902 13:35:56.701062 16020 data_layer.cpp:195] output data size: 64,1,28,28 + I0902 13:35:56.701146 16020 data_layer.cpp:236] Initializing prefetch + I0902 13:35:56.701196 16020 data_layer.cpp:238] Prefetch initialized. + I0902 13:35:56.701212 16020 net.cpp:103] Top shape: 64 1 28 28 (50176) + I0902 13:35:56.701230 16020 net.cpp:103] Top shape: 64 1 1 1 (64) + [...] + I0902 13:35:56.703737 16020 net.cpp:67] Creating Layer ip1 + I0902 13:35:56.703753 16020 net.cpp:394] ip1 <- pool2 + I0902 13:35:56.703778 16020 net.cpp:356] ip1 -> ip1 + I0902 13:35:56.703797 16020 net.cpp:96] Setting up ip1 + I0902 13:35:56.728127 16020 net.cpp:103] Top shape: 64 500 1 1 (32000) + I0902 13:35:56.728142 16020 net.cpp:113] Memory required for data: 5039360 + I0902 13:35:56.728175 16020 net.cpp:67] Creating Layer relu1 + I0902 13:35:56.728194 16020 net.cpp:394] relu1 <- ip1 + I0902 13:35:56.728219 16020 net.cpp:345] relu1 -> ip1 (in-place) + I0902 13:35:56.728240 16020 net.cpp:96] Setting up relu1 + I0902 13:35:56.728256 16020 net.cpp:103] Top shape: 64 500 1 1 (32000) + I0902 13:35:56.728270 16020 net.cpp:113] Memory required for data: 5167360 + I0902 13:35:56.728287 16020 net.cpp:67] Creating Layer ip2 + I0902 13:35:56.728304 16020 net.cpp:394] ip2 <- ip1 + I0902 13:35:56.728333 16020 net.cpp:356] ip2 -> ip2 + I0902 13:35:56.728356 16020 net.cpp:96] Setting up ip2 + I0902 13:35:56.728690 16020 net.cpp:103] Top shape: 64 10 1 1 (640) + I0902 13:35:56.728705 16020 net.cpp:113] Memory required for data: 5169920 + I0902 13:35:56.728734 16020 net.cpp:67] Creating Layer loss + I0902 13:35:56.728747 16020 net.cpp:394] loss <- ip2 + I0902 13:35:56.728767 16020 net.cpp:394] loss <- label + I0902 13:35:56.728786 16020 net.cpp:356] loss -> loss + I0902 13:35:56.728811 16020 net.cpp:96] Setting up loss + I0902 13:35:56.728837 16020 net.cpp:103] Top shape: 1 1 1 1 (1) + I0902 13:35:56.728849 16020 net.cpp:109] with loss weight 1 + I0902 13:35:56.728878 16020 net.cpp:113] Memory required for data: 5169924 + +Loss + + I0902 13:35:56.728893 16020 net.cpp:170] loss needs backward computation. + I0902 13:35:56.728909 16020 net.cpp:170] ip2 needs backward computation. + I0902 13:35:56.728924 16020 net.cpp:170] relu1 needs backward computation. + I0902 13:35:56.728938 16020 net.cpp:170] ip1 needs backward computation. + I0902 13:35:56.728953 16020 net.cpp:170] pool2 needs backward computation. + I0902 13:35:56.728970 16020 net.cpp:170] conv2 needs backward computation. + I0902 13:35:56.728984 16020 net.cpp:170] pool1 needs backward computation. + I0902 13:35:56.728998 16020 net.cpp:170] conv1 needs backward computation. + I0902 13:35:56.729014 16020 net.cpp:172] mnist does not need backward computation. + I0902 13:35:56.729027 16020 net.cpp:208] This network produces output loss + I0902 13:35:56.729053 16020 net.cpp:467] Collecting Learning Rate and Weight Decay. + I0902 13:35:56.729071 16020 net.cpp:219] Network initialization done. + I0902 13:35:56.729085 16020 net.cpp:220] Memory required for data: 5169924 + I0902 13:35:56.729277 16020 solver.cpp:156] Creating test net (#0) specified by net file: examples/mnist/lenet_train_test.prototxt + +Completion + + I0902 13:35:56.806970 16020 solver.cpp:46] Solver scaffolding done. + I0902 13:35:56.806984 16020 solver.cpp:165] Solving LeNet + + +## Updating Parameters + +The actual weight update is made by the solver then applied to the net parameters in `Solver::ComputeUpdateValue()`. + +TODO + +## Snapshotting and Resuming + +The solver snapshots the weights and its own state during training in `Solver::Snapshot()` and `Solver::SnapshotSolverState()`. +The weight snapshots export the learned model while the solver snapshots allow training to be resumed from a given point. +Training is resumed by `Solver::Restore()` and `Solver::RestoreSolverState()`. + +Weights are saved without extension while solver states are saved with `.solverstate` extension. +Both files will have an `_iter_N` suffix for the snapshot iteration number. + +Snapshotting is configured by: + + # The snapshot interval in iterations. + snapshot: 5000 + # File path prefix for snapshotting model weights and solver state. + # Note: this is relative to the invocation of the `caffe` utility, not the + # solver definition file. + snapshot_prefix: /path/to/model + # Snapshot the diff along with the weights. This can help debugging training + # but takes more storage. + snapshot_diff: false + # A final snapshot is saved at the end of training unless + # this flag is set to false. The default is true. + snapshot_after_train: true + +in the solver definition prototxt. -- 2.7.4