Caffe官方教程之概述
Caffe 是一个深度学习框架,这个教程讲解了它的哲学、架构以及用途。这是一个实用指南和框架导论,所以,这里不会覆盖(cover)深度学习的全部的边界(frontier)、背景(context)和历史。虽然在这里给出(深度学习)的解释是可行的,但机器学习和神经网络方面的背景更为有帮助。
哲学(Philosophy)
一句话,Caffe 被制作的目的是(In one sip, Caffe is brewed for ):
• 表达式(Expression):模型和最优化被定义为 纯文本模式 (Plaintext schemas复数)
• 速度(Speed):对于研究和工业应用来说,速度是最关键的(Crucial )对于最先进的(state-of-art)模型和大数据(massive data )。
• 模块化(Modularity ):新任务和设置需要灵活性和可扩展性(flexibility and extension )。
• 开放性(Openness ): 科学和应用的进步需要通用的代码(common code)、可参考的模型(reference models)以及可复用性(reproducibility)
• 社区(Community):学术研究(academic research)、快速原型(startup prototypes)以及工业应用(industrial applications)全都遵循 BSD-2 协议进行共享互相交流讨论以及共同开发
这些原则指导这这一项目(Caffe)。
概览(Tour)
• 网络(Nets)、层(Layers)以及Blobs对象:一个 Caffe 模型的剖析。
• 前向传播/后向传播(Forward/Backward):分层组合模型(layered compositional models)的必要计算。
• 损失(Loss):学习的任务由损失定义。
• 求解器(Solver):求解器协调解决模型的最优化(the solver coordinates model optimization.)
• 层目录(Layer Catalogue):层是建模和计算的基础单元——Caffe 的目录(catalogue)包含最先进模型的层。
• 接口(Interface):命令行, Python ,以及 MATLAB Caffe。
• 数据(Data):如何为模型的输入将数据 Caffe 化
对于一些细节的一个更近的视角:
• Caffe 化的卷积(Caffeinated Convolution):Caffe 如何计算卷积
深度学习
关于深度学习的有用的参考资料在网上可免费获取到,可作为我们入门教程(hands-on tutorial)的补充。这些材料涵盖了介绍性材料以及高级材料、背景和历史、以及最新的技术。
对于研究人员来说,来自 CVPR ' 14 的视觉深度学习教程是一份很好的配套教程。一旦你从Caffe 教程中获得了知识框架以及实践基础,你可以探索 CVPR'14 中的基础观点和先进研究方向.
Michael Nielsen 的在线手稿 Neural Networks and Deep Learning 给出了一个宽泛的介绍。特别是介绍使用神经元网络和反向传播工作机制的章节是十分有用的,特别是如果你对这一主题是新手的话。
这些最近的学术教程涵盖了面向机器学习和视觉研究者的深度学习相关主题:
• Yann LeCun(NYU, facebook)以及 Marc'Aurelio Ranzato 的 Deep Learning Tutorial。ICML 2013 tutorial。
• Yoshua Bengio (U. Montreal )领导的 LISA 实验室的LISA 深度学习教程 。
对于在电路和代码角度的神经网络说明,可以查看Andrej Karpathy(Stanford)的 Understanding Neural Networks from a Programmer's Perspective。