Deep Residual Learning for Image Recognition笔记
2016-07-07 16:11
369 查看
ResNet网络,本文获得2016
CVPR best paper
本篇文章解决了深度神经网络中产生的退化问题(degradation
problem)。什么是退化问题呢?如下图:
上图显示,网络随着深度的增加(从20层增加到56层),训练误差和测试误差非但没有降低,反而变大了。然而这种问题的出现并不是因为过拟合(overfitting)。
照理来说,如果我们有一个浅层的网络,然后我们可以构造一个这样的深层的网络:前面一部分的网络和浅层网络一模一样,后面一部分的网络采用恒等映射(identity mapping),那么,深层网络的产生的误差至少不会比浅层网络的高。但是目前却不能找到一个更好的方法比用刚才的方法构造的网络效果要好。
于是,作者就提出了deepresidual learning framework。结构如下:
其实就是在原来网络的基础上,每隔2层(或者3层,或者更多,这篇文章作者只做了2层和3层)的输出F(x)上再加上之前的输入x。这样做,不会增加额外的参数和计算复杂度,整个网络也可以用SGD方法进行端对端的训练,用目前流行的深度学习库(caffe等)也可以很容易的实现。
这种网络的优点有:
1) 更容易优化(easier tooptimize)
2) can gain accuracy from increased depth,即能够做到网络越深,准确率越高
对于作者提出的网络结构,有2种情形。
1) 当F和x维度相同时,直接相加,公式如下:
这种方法不会增加网络的参数以及计算复杂度。
2) 当F和x维度不同时,需要先将x做一个变换,然后再相加,公式如下:
其中,Ws仅仅用于维度匹配上。
CVPR best paper
本篇文章解决了深度神经网络中产生的退化问题(degradation
problem)。什么是退化问题呢?如下图:
上图显示,网络随着深度的增加(从20层增加到56层),训练误差和测试误差非但没有降低,反而变大了。然而这种问题的出现并不是因为过拟合(overfitting)。
照理来说,如果我们有一个浅层的网络,然后我们可以构造一个这样的深层的网络:前面一部分的网络和浅层网络一模一样,后面一部分的网络采用恒等映射(identity mapping),那么,深层网络的产生的误差至少不会比浅层网络的高。但是目前却不能找到一个更好的方法比用刚才的方法构造的网络效果要好。
于是,作者就提出了deepresidual learning framework。结构如下:
其实就是在原来网络的基础上,每隔2层(或者3层,或者更多,这篇文章作者只做了2层和3层)的输出F(x)上再加上之前的输入x。这样做,不会增加额外的参数和计算复杂度,整个网络也可以用SGD方法进行端对端的训练,用目前流行的深度学习库(caffe等)也可以很容易的实现。
这种网络的优点有:
1) 更容易优化(easier tooptimize)
2) can gain accuracy from increased depth,即能够做到网络越深,准确率越高
对于作者提出的网络结构,有2种情形。
1) 当F和x维度相同时,直接相加,公式如下:
这种方法不会增加网络的参数以及计算复杂度。
2) 当F和x维度不同时,需要先将x做一个变换,然后再相加,公式如下:
其中,Ws仅仅用于维度匹配上。
相关文章推荐
- CSS3之利用选择器和content属性在页面中插入内容
- 起点
- 仿微信摇一摇 ios
- 百宝云注册码系统V2
- Servlet开发(一)
- 7月7号项目讲解总结
- 【动态规划】XMU 1029 矩阵链乘法
- onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击 onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击
- 5.7 隐藏列表,点击出现 P154
- android_监听事件
- Hadoop格式化HDFS报错java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
- Shell中的${}、##和%%使用范例
- 软件版本命名规范(Beta,RC,Release)
- [51nod1766]
- ios打包实践
- 利用mybatis-generator自动生成代码
- 输出单向链表倒数第k个节点,倒数第0个指向尾节点.
- C++继承与派生
- 修改Win7工具栏资源管理器打开后的默认路径
- 团体程序设计天梯赛-练习集L2-002. 链表去重