CNN卷积神经网络
前言
为什么用卷积神经网络
全连接神经网络问题
- 参数过多
- 过拟合
- 需要更多数据
- 收敛到较差的局部极值
卷积神经网络
- 局部连接
- 参数共享
提示:以下是本篇文章正文内容,下面案例可供参考
一、相关概念
卷积
彩色图像卷积
池化
- 最大池化
- 平均池化
padding
每次卷积图像都会缩小,层数越多,缩小的越多。
边沿的像素会被忽略
- padding大小
n+2p-f+1=n - padding 类型
valid
same - 如果有步长则
(n-f)/S+1+2p=n
Dropout正则化
- 目的
减少过拟合 - 方法
在一次训练时的迭代中,对每一层中的神经元(总数为N)以概率P随机剔除,用余下的(1-P)×N个神经元所构成的网络来训练本次迭代中的数据。
一般来说对于CNN,Dropout仅在池化层后使用
局部归一化
LRN ( Local Response Normalization) 局部响应归一化
二、经典网络
AlexNet
- 作者:
– Alex Krizhevsky - 2012 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络
– 分类准确率从传统的74%提升到84%
– top-5错误率16.4%
亮点: - 首次使用了GPU进行网络加速训练
– 使用了ReLU 激活函数,而不是传统的sigmoid和tanh
– 在全连接层前两层使用了Dropout,减少过拟合
– 局部归一化(Local Response Normalization,简称LRN)
VGGNet介绍
- VGGNet由牛津大学计算机视觉组合和Google DeepMind公司研究员一起研发的深度卷积神经网络
- 成绩:
ILSVRC 2014年比赛的亚军和定位项目的冠军
将 Top-5错误率降到7.3% - 特点:
– 小卷积核和多卷积子层
— 33
– 小池化核
— 22
weight初始赋值
小型的VGG :正态分布
大型的VGG: 从已经训练好的小型VGG中拷贝过去
input图像处理
[256;512]
GoogLeNet
- 谷歌团队创建
成绩:
2014 ILSVRC2014比赛中取得冠军
22层神经网络达到top-5错误率6.7% - 亮点
所用模型参数不足AlexNet(2012年冠军)的1/12
Inception结构
丢弃全连接层,使用平均池化层(大大的减少了模型参数)
添加了两个辅助分类器帮助训练
使用1X1卷积核进行降维以及映射
ResNet介绍
- ResNet(Residual Neural Network)由微软研究院的Kaiming He等四名华人提出
- 成绩:
2015 ILSVRC2015比赛中取得冠军
152层神经网络top5上的错误率为3.57%
同时参数量比VGGNet低
发现层数越多反而效果不i好
原因:梯度消失
resnet解决方案
结果
三、实操一般步骤结构
举例
代码链接
https://github.com/anglersking/simple_deep_learning/tree/master/CNN