前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【AI不惑境】残差网络的前世今生与原理

【AI不惑境】残差网络的前世今生与原理

作者头像
用户1508658
发布2019-07-28 14:19:22
5010
发布2019-07-28 14:19:22
举报
文章被收录于专栏:有三AI有三AI有三AI

1 残差网络之前的历史

残差连接的思想起源于中心化,在神经网络系统中,对输入数据等进行中心化转换,即将数据减去均值,被广泛验证有利于加快系统的学习速度。

Schraudolph[1]将这样的思想拓展到了梯度的反向传播中,不仅是输入和隐藏层单元的激活值要中心化,梯度误差以及权重的更新也可以中心化,这便是通过将输入输出进行连接的shortcut connection,也称为跳层连接技术。

在1998年的时候,它们提出了将网络分解为biased和centered两个子网络的思想,通过并行训练两个子网络,分别学习线性和非线性变换部分,不仅降低了各个网络的学习难度,也大大提升了梯度下降算法的训练速度。

Raiko等人则在论文[2]中更加细致地研究了shortcut connections对模型能力的影响,在网络包含2到5个隐藏层,使用与不使用正则化等各种环境配置下,MNIST和CIFAR图像分类任务和MNIST图像重构任务的结果都表明,这样的技术提高了随机梯度下降算法的学习能力,并且提高了模型的泛化能力。

Srivastava等人在2015年的文章[3]中提出了highway network,对深层神经网络使用了跳层连接,明确提出了残差结构,借鉴了来自于LSTM的控制门的思想。

当T(x,Wt)=0时,y=x,T(x,Wt)=1时,y=H(x,Wh)T(x,Wt)。在该文章中,研究者没有使用特殊的初始化方法等技巧,也能够训练上千层的网络。

从以上的发展可以看出来,跳层连接由来已久。

2 残差网络

何凯明等人在2015年的论文[4]中正式提出了ResNet,简化了highway network中的形式,表达式如下:

相比于之前的卷积和池化相互堆叠的网络,其基本的结构单元如下:

当我们直接将一个输入添加到输出的时候,输出y可以明确的拆分为H(x,Wh)和x的线性叠加,从而让梯度多了一条恒等映射通道,这被认为对于深层网络的训练是非常重要的,一个典型的resnet网络结构如下:

resnet在当年的ImageNet的多项竞赛中取得冠军,风头一时无两,随后被广泛深扒。关于ResNet的详细解读,大家可以关注我们的往期文章。

残差网络

3 残差网络结构的发展

对于残差网络的研究,大部分集中在两个方向,第一个是结构方面的研究,另一个是残差网络原理的研究,首先说几个具有代表性的结构,不会将所有结构都包含进来,如果感兴趣大家可以关注知识星球有三AI。

3.1、更密集的跳层连接DenseNet

如果将ResNet的跳层结构发挥到极致,即每两层都相互连接,那么就成为了DenseNet,关于DenseNet的详细解读,可以查看我们的往期文章。

DenseNet是一个非常高效率的网络结构,以更少的通道数更低的计算代价,获得比ResNet更强大的性能。

3.2、更多并行的跳层连接

如果将ResNet和DenseNet分为作为两个通道并行处理,之后再将信息融合,就可以得到Dual Path Network,网络结构如下:

其背后的思想是resnet对于重用信息更有效,而densenet对于学习新的信息更有效,这个结构在最后一届ImageNet竞赛中也取得了很好的成绩,分类比赛的亚军,定位比赛的冠军。类似的结构变种还有如下的结构,不再一一赘述。

当然,还有比上面的Dual Path Network更加简单的并行结构,即直接使用多个完全独立且相同的分支并行处理,然后合并。

也有更加复杂的变种,即所谓的resnet in resnet结构,如下图。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有三AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档