七月算法深度学习 第三期 学习笔记-第三节 卷积神经网络与典型结构
2017-07-09 19:15
483 查看
一、神经网络与卷积神经网络
1.层级结构 :
o 数据输入层/ Input layer :
1)去均值 :各维度中心化为零
2)归一化:幅度归一化到同样的范围
3)PCA/白化:PCA降维;白化 是对数据每个特征轴上的幅度归一化
o 卷积计算层/ CONV layer:
1)局部关联。每个神经元看做一个filter。
2)窗口(receptive field)滑动,filter对局部数据计算。
3)涉及概念:深度/depth 步长/stride 填充值/zero-padding。
参数共享机制 :假设每个神经元连接数据窗的权重是固定的
固定每个神经元连接权重,可以看做模板 :每个神经元只关注一个特性
需要估算的权重个数减少: 一层 1亿 => 3.5w
一组固定的权重和不同窗口内数据做内积: 卷积
o 激励层 / Activation layer :把卷积层输出结果做非线性映射(eg. Sigmoid, ReLU, Maxout...)
CNN慎用sigmoid
Relu出结果快,是首选,如果失效,用Leaky ReLU或者Maxout
o 池化层 / Pooling layer :夹在连续的卷积层中间; 压缩数据和参数的量,减小过拟合
o 全连接层 / FC layer: 两层之间所有神经元都有权重连接, 通常全连接层在卷积神经网络尾部
o Batch Normalization层(看情况)
2.数据处理
3.训练算法
先定义Loss Function -> 找到最小化损失函数的W和b, CNN用SGD(SGD需计算偏导)
BP算法利用链式求导法则,逐级相乘直到 求解出dW和db。利用SGD/随机梯度下降,迭代和更新W和b
4.优缺点
优点:1)共享卷积核,优化计算量 2)无需手动选取特征,训练好权重,即得特征 3)深层次的网络抽取图像信息丰富,表达效果好
缺点:1)需要调参 2)需要调参物理含义不明确
二、正则化与Dropout
1.正则化与Dropout处理
把预测阶段的时间转移到训练上
2.Dropout理解
关于dropout参考资料:
l 2014, Hinton, etc:《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》
l 2013, Stefan Wager, etc 《Dropout Training as Adaptive Regularization》
三、典型结构与训练
1.典型CNN
o LeNet,这是最早用于数字识别的CNN
o AlexNet,2012 ILSVRC比赛远超第2名的CNN,比LeNet更深,用多层小卷积层叠加替换单大卷积层。
o ZF Net,2013 ILSVRC比赛冠军
o GoogLeNet,2014 ILSVRC比赛冠军
o VGGNet,2014 ILSVRC比赛中的模型,图像识别略差于GoogLeNet,但是在很多图像转化学习问题(比如object detection)上效果很好
o ResNet,2015ILSVRC比赛冠军,结构修正(残差学习)以适应深层次CNN训练。
2.训练与调优
1.层级结构 :
o 数据输入层/ Input layer :
1)去均值 :各维度中心化为零
2)归一化:幅度归一化到同样的范围
3)PCA/白化:PCA降维;白化 是对数据每个特征轴上的幅度归一化
o 卷积计算层/ CONV layer:
1)局部关联。每个神经元看做一个filter。
2)窗口(receptive field)滑动,filter对局部数据计算。
3)涉及概念:深度/depth 步长/stride 填充值/zero-padding。
参数共享机制 :假设每个神经元连接数据窗的权重是固定的
固定每个神经元连接权重,可以看做模板 :每个神经元只关注一个特性
需要估算的权重个数减少: 一层 1亿 => 3.5w
一组固定的权重和不同窗口内数据做内积: 卷积
o 激励层 / Activation layer :把卷积层输出结果做非线性映射(eg. Sigmoid, ReLU, Maxout...)
CNN慎用sigmoid
Relu出结果快,是首选,如果失效,用Leaky ReLU或者Maxout
o 池化层 / Pooling layer :夹在连续的卷积层中间; 压缩数据和参数的量,减小过拟合
o 全连接层 / FC layer: 两层之间所有神经元都有权重连接, 通常全连接层在卷积神经网络尾部
o Batch Normalization层(看情况)
2.数据处理
3.训练算法
先定义Loss Function -> 找到最小化损失函数的W和b, CNN用SGD(SGD需计算偏导)
BP算法利用链式求导法则,逐级相乘直到 求解出dW和db。利用SGD/随机梯度下降,迭代和更新W和b
4.优缺点
优点:1)共享卷积核,优化计算量 2)无需手动选取特征,训练好权重,即得特征 3)深层次的网络抽取图像信息丰富,表达效果好
缺点:1)需要调参 2)需要调参物理含义不明确
二、正则化与Dropout
1.正则化与Dropout处理
把预测阶段的时间转移到训练上
2.Dropout理解
关于dropout参考资料:
l 2014, Hinton, etc:《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》
l 2013, Stefan Wager, etc 《Dropout Training as Adaptive Regularization》
三、典型结构与训练
1.典型CNN
o LeNet,这是最早用于数字识别的CNN
o AlexNet,2012 ILSVRC比赛远超第2名的CNN,比LeNet更深,用多层小卷积层叠加替换单大卷积层。
o ZF Net,2013 ILSVRC比赛冠军
o GoogLeNet,2014 ILSVRC比赛冠军
o VGGNet,2014 ILSVRC比赛中的模型,图像识别略差于GoogLeNet,但是在很多图像转化学习问题(比如object detection)上效果很好
o ResNet,2015ILSVRC比赛冠军,结构修正(残差学习)以适应深层次CNN训练。
2.训练与调优
相关文章推荐
- 七月算法深度学习 第三期 学习笔记-第六节 图像风格转换
- 七月算法深度学习 第三期 学习笔记-第七节 循环神经网络与自然语言处理
- 七月算法深度学习 第三期 学习笔记-第九节 强化学习与Deep Q-Network
- 七月算法深度学习 第三期 学习笔记-第二节 DNN与混合网络
- 七月算法深度学习 第三期 学习笔记-第八节 循环神经网络与相关应用
- 七月算法深度学习 第三期 学习笔记-第四节 深度学习框架与应用
- 七月算法深度学习 第三期 学习笔记-第十节 深度学习与迁移学习
- 七月算法深度学习 第三期 学习笔记-第五节 生成对抗网络GAN
- 七月算法深度学习 第三期 学习笔记-第一节 数学基础
- 七月算法深度学习笔记6--CNN推展案例:图像检测、NeuralStyle
- 深度学习Caffe实战笔记(7)Caffe平台下,如何调整卷积神经网络结构
- 七月算法(julyedu.com)5 月深度学习班学习笔记-第一节数学基础
- 深度学习Caffe实战笔记(7)Caffe平台下,如何调整卷积神经网络结构
- 七月算法深度学习笔记7--RNN
- 七月算法深度学习笔记4 -- CNN与常用框架
- 七月算法深度学习笔记5--CNN训练注意事项与框架使用
- 【算法学习笔记】12.数据结构基础 图的初步1
- 【算法学习笔记】09.数据结构基础 二叉树初步练习2
- 【算法学习笔记】11.数据结构基础 二叉树初步练习4
- 【算法学习笔记】06.数据结构基础 队列与堆栈初步