深度学习基础介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据预处理
数据归一化——简单缩放(彩色图像); 均值消减(灰度图像); 白化——使各维度分布一致,降低输入的冗余性;
[1] Http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial
2016/06
18
两种常见的网络结构
Alexnet网络 fcn网络
为什么要使用多隐藏层的结构? 1、适合多层知识体系学习; 例:图像识别:边缘-几何形状-不变性特征-… 2、泛化能力更强; 3、隐藏层本质是一个特征探测器(feature detector); 学习数据的内在结构特征,不是映射关系;
2016/06
9
卷积神经网络(CNN)
网络的基本结构 激活函数(Activation Function)的选择 卷积层(Conv)的作用 池化层(Pooling)的作用 Softmax层的作用 网络的预处理
2016/06
21
Alexnet网络
网络细节解读[1]
Conv2
[1] http://blog.csdn.net/sunbaigui/article/details/39938097
2016/06
22
Alexnet网络
网络细节解读[1]
Conv3 Conv4
Conv5
[1] http://blog.csdn.net/sunbaigui/article/details/39938097
2016/06
10
网络的基本结构
前向网络; 隐藏层有三类:卷积层(conv),池化层(pooling),全连接层(fc); 输出层完成多分类任务,多为Softmax层; 网络训练算法:误差反向传播算法(BP);
2016/06
11
激活函数的选择
激活函数的作用
增加网络的非线性性,拓展了网络的表达能力; 使输出为连续值,便于网络训练;
2016/06
13
卷积层的作用
概念来自于信号与系统,其数学表达类似于信号互相关(Crosscorrelation) ;
卷积运算也可为一种提取特征的滤波过程;
在图像领域常表现为模板(mask)运算;
2016/06
14
卷积层的作用
概念来自于信号与系统,其数学表达类似于信号互相关(Crosscorrelation) ;
2016/06
3
神经网络的基本结构
思想源于对人脑神经元的研究; 将神经的突触连接结构用抽象化的模型表达; 将单一神经元结构相互连接得到复杂的网络结构;
生物神经元模型
感知器 (Perceptron)
多层感知器 (MLP)
2016/06
4
神经网络的大量参数
1.
经 验
传递方向
CNN;RNN;
2. 3.
2016/06
30
主要函数
参考文献
http://yufeigan.github.io/2014/12/09/Caffe%E5%AD%A6%E4%B9%A0%E7% AC%94%E8%AE%B01%E5%AE%89%E8%A3%85%E4%BB%A5%E5%8F%8A%E4%BB%A3%E7%A0%8 1%E7%BB%93%E6%9E%84/ http://caffe.berkeleyvision.org/doxygen/index.html http://caffe.berkeleyvision.org/
[1] Http://neuralnetworksanddeeplearning.com/chap4.html
2016/06
6
神经网络的强表现力
普适逼近原理(Universal approximation theorem):单隐藏层神经网 络可以逼近任意函数[1]
[1] Http://neuralnetworksanddeeplearning.com/chap4.html
2016/06
19
[1] Alexnet网络
网络基本结构
[1] 2012-NIPSImageNet Classification with Deep ConvolutionalNeural Networks
2016/06
20
Alexnet网络
网络细节解读[1]
Conv1
[1] http://blog.csdn.net/sunbaigui/article/details/39938097
2016/06
32
主要函数
卷积层
滤波器的个数num_output 滤波器的大小kernel_size / kernel_h / kernel_w 卷积的步长(默认为1)stride / stride_h / stride_w 两边补0的长度(默认为1)pad / pad_h / pad_w 分组系数(默认为1,不常用)group,如果大于1,我们限制卷积的连接操 作在一个子集内。如果我们根据图像的通道来分组,那么第i个输出分组 只能与第i个输入分组进行连接 滤波器权重和偏置量的初始值weight(bias)_filler::type 权重和偏置量的学习速率lr_mult: 学习率的系数,最终的学习率是这个 数乘以solver.prototxt配置文件中的base_lr。如果有两个lr_mult, 则第一 个表示权值的学习率,第二个表示偏置项的学习率。一般偏置项的学习 率是权值学习率的两倍 滤波器是否引入偏置量(默认为true) bias_term
卷积运算也可为一种提取特征的滤波过程;
在图像领域常表现为模板(mask)运算; 底层获得边缘信息,高层表达更鲁棒的特征[1];
[1] Understanding Convolution in Deep Learning
2016/06
15
池化层的作用
池化层常用最大池化(max-pooling),也有平均池化; 减少数据量,抑制过拟合,提高鲁棒性; Dropout(类似的正则化操作):随机丢弃部分数据,抑制过拟合;
2016/06
33
主要函数
其他的特殊层
Split 复制层
输入是1个blob,输出是多个blob。目的是将输入复制成多份,用于多重输出的情况
Flatten
Reshape Concat Slice Eltwise ArgMax
向量化层
改变输出格式层 合并层 切分层 eltment-wise操作层 求取前K个极大值层
2016/06
16
Softmax层的作用
二分类问题(logistic回归):
多分类问题即将二分类问题拓展; Softmax损失函数为交叉熵损失函数(Cross Entropy Error Function);
2016/06
17
[1] 网络的预处理
网络初始化
权重值——经验公式:0.01*rand(D)/sqrt(D); 偏置量——全置0;
2016/06
31
主要函数
允许的数据输入格式
data_layer hdf5_data_layer hdf5_output_layer image_data_layer memory_data_layer window_data_layer db格式(lmdb或leveldb)的数据库 HDF5文件 HDF5文件(输出) image文件 数据来自内存 Windows image file(.wim)
神经元个数
层级数+每层个数;神经元总数;
激活函数
Sigmoid;tanh;ReLu;
训 练
4.
神经元间连接权重
5.
神经元偏差项(bias)
2016/06
5
神经网络的强表现力
普适逼近原理(Universal approximation theorem):单隐藏层神经网 络可以逼近任意函数[1] ������ = −������ ������ ������ = ������������������������������������������ ������������ + ������
输入是1个n*c*h*w的blob,输出为n*(c*h*w)*1*1的blob 输入是1个n*c*h*w的blob,输出依据reshape_param变成不同的四维矩阵格式 输入是多个blob,输出是1个blob,依据axis参数设定多个blob的合并规则
常见的激活函数有三种:Sigmoid函数,tanh函数,ReLu函数;
1 ������������������������������������������ ������ = 1 + ������ −������
������ ������ − ������ −������ tanh ������ = ������ ������ + ������ −������
2016/06
25
[1] fcn网络
网络基本架构
全连接层->卷积层 1000维向量->原图大小
[1] 2015-CVPR-Fully convolutional networks for semantic segmentation
2016/06
百度文库
26
fcn网络
Deconv
简单上采样结果很差 可以看成引入了高层信息 局部信息有所丢失
2016/06
23
Alexnet网络
网络细节解读[1]
Fc6
[1] http://blog.csdn.net/sunbaigui/article/details/39938097
2016/06
24
Alexnet网络
网络细节解读[1]
Fc7
Fc8
[1] http://blog.csdn.net/sunbaigui/article/details/39938097
深度学习基础介绍
报告人:王松 报告时间:2016.06
2016/06
1
目录
一.从神经元到多层感知器(MLP) 二.卷积神经网络(CNN) 三.两种常见的网络结构 四.caffe工具基础介绍
2016/06
2
从神经元到多层感知器(MLP)
神经网络的基本结构 神经网络的大量参数 神经网络的强表现力
������������������������ ������ = max 0, ������
2016/06
12
激活函数的选择
常用BP算法训练神经网络,故激活函数的求导性能影响关键;
Sigmoid函数:输入值过大或过小时,梯度值过小; tanh函数:输入值过大或过小时,梯度值过小; ReLu函数(使用广泛):导数是分段线性的,出现稀疏化的结果;
[1] http://ouxinyu.github.io/Blogs/20151108001.html
2016/06
29
caffe的三层数据结构
blob是四维数组(n*k*h*w),n为batchsize的大小,k为channel的个 数,h为图像的高度,w为图像的宽度。blob中同时保存了数据和梯 度两部分内容,也定义了不修改数值和修改数值两种数据访问方法, 并使用Syncedem自动决定什么时候执行copy以提高效率。(datum可 看成是没有num维度的blob,datum为三维矩阵,c*h*w) layer共分成五大类层结构,每层的输入数据都来自于bottom,输 出数据为top,每层定义了三种操作,setup(layer初始化),forward 和backward。 net为由layer组成的有向无环图(DAG)。模型定义在.prototxt文件中, 训练好的模型在.binaryproto文件中,模型格式由caffe.proto定义。
2016/06
7
神经网络的强表现力
普适逼近原理(Universal approximation theorem):单隐藏层神经网 络可以逼近任意函数[1]
[1] Http://neuralnetworksanddeeplearning.com/chap4.html
2016/06
8
神经网络的强表现力
2016/06
27
caffe工具基础介绍
各文件夹基本作用 Caffe的三层数据结构 主要函数 代码运行
2016/06
28
各文件夹基本作用
Caffe的安装[1] /caffe-master/
cmake data docker docs examples include matlab models python scripts src tools 编译配置文件 存放下载的数据 程序封装方法 帮助文档 代码样例 caffe 实现的头文件 MATLAB接口文件 模型参数 Python接口文件 文档和数据用到的脚本 实现caffe的源文件 保存的源码用于生成二进制处理程序