1.概述
比较老的阅读论文记录,整理发布一下
采用16-19层的结构,同时使用的是3x3的filter
相对原始网络,效果大幅度提升
主要使用在location和classfication
主要采用的数据集合是imageNet,在其他数据集合中使用的效果也很好
ConvNet在视频和高清图片中表现得都很好,速度有提升
- GPU加速计算
- 研究从高纬的浅层网络过渡到深层的ConvNet网络中上
图像识别改进的方向是:
- 使用更小的filter尺寸,更小的stride(有的是在第一层上使用更小的Conv层)
-
训练测试整图和多个scales上下功夫
-
本文:深度角度努力。固定其他的超参数,不断增加层数;技巧是使用了固定的卷积3x3
2.Convet设计
2.1 常规设置
- input:224x224 RGB
- 预处理是:减去RGB均值
- Conv filter: 3 x 3 (部分结构使用了1x1的filter,主要是对input做线性变化
- stride: 1
- padding: same 保持input的长与宽保持不变,采用3x3
- 使用了5个max_pool (并非所有的conv后面都有),filter 2x2、stride=2
2.2 通用结构
-
多个conv层
-
3个FC层,2层4096和1个softmax层 1000
-
隐藏层采用的是ReLu激活函数
-
函数中没有采用LRN:没有改进效果,增加了内存占用和计算时间
-
配置:6各不同的模型:A: 11层带有位置的权重,参数随着深度的增加,参数会越变越多。
2.3 讨论
之前的模型:
- filter: 11x11 & 7x7
- strides:4 & 2
本文模型:3x3 1
- 作用:
- 2个叠加的3x3 conv(no pooling) == 1个5x5conv
- 3个叠加的3x3 conv(no pooling) == 1个7x7conv
- 意义:
- 比单个relu,有更强的分辨能力
- 减少了parameters数量:
- 1个7x7 conv 需要49Channels**2;
- 3个3x3 conv 需要27C**2
- 参数少了80%
- 1x1conv层
- 维持input output维数保持不变
- 简单线性计算
- 增加非线性的处理
- 对比前人成果
- Ciresan2011: 结构较浅,未使用ImageNet
- Goodfellow2014: 11层,street数据,证明更深的模型效果更好
- googlenet: 22层,files: 1x1 3x3 5x5
- 本模型在single-network上的classification表现的更优秀
3 模型训练
###3.1模型的训练过程
主要是基于AlexNet网络的,没有像它的那种cropping
loss:选中最优化的值,multinomial
logistic regression:mini-batch gradient
descent:内部使用bp+momentum,batch_size: 256,momentum: 0.9,weight decay: L2=5e-4
dropout:前2个FC,rate:0.5
learning_rate:10e-2,validation stop 1e-1,74 epochs, 3times(下调了learning rate三次)
对比了ALexNet
- 能更快的找到最低loss
-
深度更深+filter更小==间接实现了regularization的效果
- 对某些层做了预初始化处理
weights的初始化的意义:影响反向传播的稳定性
如何确保良好的weights初始值
- 给于A模型随机weights
-
训练A模型,从而获取训练好的conv,FC的weight,给更深的模型使用
- 其他层的weight使用random weight(mean=0, var=0.01),bias=0
- learning_rate从原始初始值开始
Bengio2010 suggest,no need pre-training weights
图片处理,input layer,压缩,修剪至224x224,CPU计算,循环训练中进行,水平翻转和RGB颜色shift,依然保持识别能力
3.2Testing
原图class scores:原图的scores和水平翻转图scroe的平均值
没有使用cropping,速度更快,如果使用cropping,预测精度更高(基于细致的修剪图片抽样,同时需要做padding,从而帮助抓住更多的图片context)
但是修剪导致增加的时间成本VS产生的预测精度: 最终感觉不划算
使用caffe,使用多GPU,能接收全尺寸,无修剪,不同scale,mini-batch 分GPU做正方向传递,在收集取均值
gradient计算与单GPU计算无差异
- 我的微信小程序
- 这是我的微信小程序扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-
评论