摘要
- 简化
-将层次重新定义为剩余函数
-更容易优化模型
-深度越深精确度越高,且复杂度也降低
-错误率低而赢得2015年ImageNet第一名 - 深度是获奖的基本条件
1.介绍
- 模型深度丰富了深度网络的等级
- 深模型问题:梯度消失/爆炸——导致难以收敛
- 解决方案有两个:归一初始化和中间初始化
- 退化问题——深度加深准确率无法提高,且训练和验证错误率比浅层更大
实验内容:对比浅层模型和深层模型
预测结果:深度模型的损失值会降低
实际结果:现存的方案无法让深度模型的损失值保持或降低
所以以上的两种解决方案均不可行
- 引出本文的解决方案:深度残差学习模型
- 假设优化F(x)要比优化F(x)+x难度更大
- F(x)+x
-可通过捷径连接跳过一个或多个层次
-恒定映射
-不增加参数和计算复杂度
-实现简单
-
在ImageNet数据集
-深度模型更容易优化
-精确度随深度增加而增加 -
在CIF-10中也出现相似现象
-
ResNet
-
52层
-复杂度低于VGG
-误差降到3.57%
-在多个领域获第一名
2.相关工作
-
残差描述
-VLAD
-构建子问题和级联预处理两种方法比无残差方法更好优化 -
捷径连接
-很多文献都有研究,但切入点不同
-无参数也无需调参
-从不关闭,始终包含
3.深度残差学习
3.1 残差学习
- 多层叠加模块=H(x)
- 假设多层线性层约等于复杂函数约,也约等于残差函数
- H(x)=F(x)+x
- 改变非线性层来近似恒定映射
- 如果F(x)趋于0,则H(x)=x
- 重构模型有助于解决优化问题
3.2 利用捷径作恒等映射
- y=F(x,{Wi}) + x
- 为了补齐维度:y=F(x,{Wi}}) + Ws·x
- 对卷积层也可行
3.3 网络神经
测试普通层和残差网络
- 普通层:
-有大量连续相同的卷积层、输入输出维度相同
-如果图片尺寸减半,滤波器数量要翻倍
-相对于VGG,滤波器数量减少,计算复杂度降低(VGG的18%) - 残差网络
-增加了捷径连接
-实现连接F(x)和x维度相同、虚线维度不同
-两种补齐维度方法:空缺元素补零、1x1卷积
3.4 实现
- 数据处理:
-按短边抽样
-224x224剪裁
-减去均值
-色彩增强 - 代码实现
-初始化:batch_size=256(SGD)
-Ir = 0.1 错误时降低10倍
-trainning=60万次
-race = 0,0001
-nomentum = 0.9
-no dropout - 测试
-10-crop
-全连接卷积
-对多个尺寸图像缩放为短边结果取均值
4.实验
4.1 ImageNet分类数据集
- 普通网络
-18 vs 34
-依然是较深的34层网络的交叉验证错误率要高于较浅的18层网络
-BN避免了梯度消失的问题,且没有影响正常梯度值
-猜测:深度网络骄傲的错误率是因为较低的收敛速率 - 残差网络
-基于普通网络增加捷径连接
-补零方法补齐维度
-无新增参数
-结果:深度模型的错误率、训练误差都要低于普通网络
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200622102653925.png?x-oss-pr ocess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MzY5MjAx,size_16,color_FFFFFF,t_70)
- 普通18 vs 残差18
-残差网络收敛速度更快 - 投影快捷连接
-成本不划算 - 深度瓶颈架构
-1x1,3x3,1x1 - 50层残差网络
-换成瓶颈块 - 101层和152层残差网络
-增加了瓶颈块的数目
-复杂度更低
-准确率提高 - 比较
-单个模型就优于之前综合模型