深度学习
文章平均质量分 72
涂涂
清华大学软件学院
展开
-
Caffe依赖包解析
Caffe依赖包解析 caffe安装过程中安装很多依赖的工具包,这些依赖包到底有什么用,本文将分析各个依赖包的组成及作用。有C++基础的读者可以深入阅读源代码,了解一些开源库以节省开发时间。1.ProtoBuffer ProtoBuffer是由Google开发的一种可以实现内存与非易失存储介质(如硬盘文件)交换的协议接口。Caffe源码中大量使用ProtoBuffer作为权值和模型参数的载体。一般开原创 2017-02-15 20:50:46 · 3347 阅读 · 0 评论 -
如何有效阅读caffe源码
Caffee是用C++编写的深度学习框架,大量使用类的封装,继承,多态,所以也可以用来学习C++语言特性。Caffe类数目众多,但通过面向对象编程(OOP)方式组织得很好,所以要遵循类继承规则顺藤摸瓜,就会看得云里雾里,迷失丛林。 如何有效阅读caffe源码? Caffe源码阅读路线最好是从src/caffe/proto/caffe.proto开始,了解基本的数据结构、内存对象和磁盘文件的一转载 2017-02-18 10:04:31 · 2543 阅读 · 0 评论 -
LeNet5训练Mnist回顾总结
训练过程依据其他教程和训练日志学习。 通过mnist训练过程,我们初步了解一个深度学习系统最核心的两个方面:数据和模型。数据是带标签的图片集,分训练集和测试集;模型是描述CNN结构的有向无环图(DAG),表示对原始数据的处理方式。 Caffe并不是直接处理原始数据的,而是由预处理程序将原始数据转换存储为LMDB格式,这种方式可保持高效的的IO效率,加快训练时的数据加载速度。模型通常用Prot原创 2017-02-20 19:35:45 · 2089 阅读 · 0 评论 -
sigmoid与ReLU函数
单极性Sigmoid函数 单极性Sigmoid函数,即f(x)=11+e−x,f(x)′=f(x)[1−f(x)]f(x)=\frac{1}{1+e^{-x}},f(x)'=f(x)[1-f(x)],该传输函数的输入在(−∞,+∞)(-\infty,+\infty)之间取值,输出在(0,1)(0,1)之间取值。sigmoid函数提供概率解释,另外,sigmoid函数是可微的,所以用于反向传播算法(B原创 2017-02-21 17:52:56 · 6802 阅读 · 0 评论 -
Hebb和Delta学习规则
无监督学习规则 唐纳德·赫布(1904-1985)是加拿大著名生理心理学家。Hebb学习规则与“条件反射”机理一致,并且已经得到了神经细胞学说的证实。 巴甫洛夫的条件反射实验:每次给狗喂食前都先响铃,时间一长,狗就会将铃声和食物联系起来。以后如果响铃但是不给食物,狗也会流口水。 受该实验的启发,Hebb的理论认为在同一时间被激发的神经元间的联系会被强化。比如,铃声响时一个神经元被激发,在同一原创 2017-02-21 20:13:27 · 25742 阅读 · 6 评论 -
深度学习的过往
深度学习的过往1.1深度学习的局限性- 几十年来,构建模式识别和机器学习系统需要技艺高超的工程师和经验丰富的专家设计特征提取器(Feature Extractor),将原始数据(如图像的想数值)转化为合适的中间表示形式或特征向量(Feature Vector),学习子系统(通常为分类器)可以对输入模式进行检测或分类。- 深度学习的方法则不需要人工设计特征提取器,而是机器自动学习获得,特别适用于变化多原创 2017-02-14 15:47:41 · 966 阅读 · 0 评论