ResNet残差网络
来源:互联网 发布:二手域名 编辑:程序博客网 时间:2024/04/24 19:46
前面我们对常用的经典网络进行了介绍,可以查看前面文章:浅入浅出TensorFlow 6 - 实现经典网络
随着网络越来越深,大家发现,仅仅靠 BN、ReLU、DropOut 等 Trick无法解决收敛问题,相反,网络的加深带来参数的增加。
基于之前的实践经验,我们知道:网络并不是越深越好,一方面过多的参数容易导致过拟合(当然样本足够多可以一定程度上解决这个问题);另一方面,训练结果会在真值周围变化,导致网络震荡。
借鉴之前的经验,我们在训练分类器的时候,用到的 GBDT 和 xgBoost 的思维,借助残差来解决 震荡问题。
ResNet 全称是 Residual Network,每一个节点学到的不再是参数本身,而是残差,这就决定了网络有可能无限加深,基线不变,后面的节点学到的是对前面节点的补充,虽然有震荡,但震荡范围越来越小,直到趋于0。
ResNet 的网络结构借鉴了 HighWay,添加一条从 input到output的路径,也就是shortcut连接,这是关键之处。
该模块用公式描述为:
对于输入 x,通过中间函数 F(x,w) 进行参数学习,F也就是我们说的残差函数。
模块中间对应两个Layer,每个 Layer 处理一个乘累加和一个 ReLU,F(x)+x 是在x的基础上实现快捷连接,连接后又实现了一个 ReLU。
最早的 ResNet 是由 MSRA团队提出的一个 152 层的网络,在2015年的 ILSVRC2015 取得了冠军,来看效果对比:
比14年的 VGG 和 GoogLeNet 好了不少,错误率 3.57 相当的惹眼,它的网络结构是什么样的呢?不用想,肯定是一大串(都馋了吧?)
多个 Block单元 组成的一大串,目前几种常用的ResNet网络包括:ResNet-50/101/152,当然层数越多计算量越大,基于ResNet的改进我们也提前了解下,包括 Google的 Inception-ResNet-V2, Kaiming 的 ResNeXt等。
ok,我们将在接下来的文章里介绍 ResNeXt。
- ResNet残差网络
- 残差网络resnet
- 深度残差网络:ResNet
- 深度残差网络 ResNet
- 残差网络resnet学习
- 残差网络resnet学习
- 残差网络resnet学习
- 残差resnet网络原理详解
- 深度残差网络(ResNet)浅析
- 关于残差网络Resnet的理解
- ResNet残差网络的理解
- 深度残差网络(ResNet)浅析
- 从零开始搭建 ResNet 之 残差网络(持续更新)
- tensorflow搭建自己的残差网络(ResNet)
- [深度学习]Deep Residual Learning for Image Recognition(ResNet,残差网络)阅读笔记
- Deep Residual Learning for Image Recognition(ResNet)残差网络解读
- Deep Learning-TensorFlow (14) CNN卷积神经网络_深度残差网络 ResNet
- 深度学习之神经网络结构——残差网络ResNet
- 同一天面两位电子科大朋友的不同感受
- 第五次试验
- Retrofit详解
- 关于 Lua 内存泄漏的检测
- 简单用户体验的秘诀 —— 简约至上 交互式设计四策略
- ResNet残差网络
- 关于大三找实习的一些思考
- 深化Java基础之——数组与内存控制
- Java I/O 学习总结(一)
- Java I/O 学习总结(二)
- 深化Java基础之——对象与内存控制
- Java实现常见的排序算法
- 栈
- (SystemJS) Can't resolve all parameters for