残差网络

Residual Network


原文:Deep Residual Learning for Image Recognition

博文参考:

代码参考:https://github.com/tornadomeet/ResNet


简介

深度卷积神经网络的出现使得图像分类问题的研究突飞猛进,但随之也出现了两个问题:

  • 梯度消失、爆炸问题;
  • 退化问题(degradation problem)。

前者,通常在初始化时,对数据进行归一化处理,以及添加正则化层处理。而后者,实验表明除了在浅层网络模型的基础上添加恒等映射(identity mapping)来构建深度网络模型之外,作者还没有找到其他的好的解决方案。


退化问题:随着网络层数的增加,模型准确度达到某一值后迅速降低,如下图一所示:

上图为不同深度的网络模型在CIFAR-10数据集上的误差变化曲线图。


因此,针对退化问题本文引入了深度残差学习框架(deep residual learning framework),让stacked layers拟合残差映射(residual mapping),而不是直接拟合the desired underlying mapping。

注:将the desired underlying mapping记为H(x),现让stacked nonlinear layers拟合残差映射,即:F(x):=H(x)-x,则原映射(即the desired underlying mapping)H(x)将改写为:F(x)+x

对此,作者假设残差映射相较于原映射更易优化。对于残差块,采用shortcut connection来实现,如下图二所示:

其中,shortcut connection仅执行恒等映射,且其输出添加至stacked layers的输出。恒等shortcut connection既不添加额外参数,也不增加计算的复杂度。

  • 统计学:残差指预测值和观测值间的差距。
  • 网络的一层视为y=H(x)
  • 恒等映射:H(x):=x
  • 残差映射:H(x):=F(x)+x,其中F(x)为残差函数。x为输入,F(x)为卷积分支的输出,H(x)为整个结构的输出。
  • 由于作者在文中已言明,目前还没有其他解决方案用于退化问题。因此,为了优化恒等映射(即通过stacked layer拟合很困难),作者提出残差映射方法。在原始的方法中,为了实现恒等映射,通过stacked layers来拟合H(x)。但在残差映射中,只需令残差函数F(x)为0即可实现。

深度残差学习

残差学习

在简介部分已经说明了,原始的恒等映射需要多个非线性层来拟合,但在实际实现过程中很难实现。因此,作者引入了残差映射。理论上,只要恒等映射达到最佳时,则可迫使多个非线性层的权重趋向于0即可实现恒等映射。

虽然在实际情况中,恒等映射是不太可能为最佳的,但若存在最优的函数接更近于恒等映射而不是接近于0,则网络会更易发现扰动因素。实验表明学习到的残差函数响应值通常较小,同时也表明了恒等映射提供了合理的预处理,如下图三所示。

上图为在CIFAR-10数据集上各网络的层响应值的标准差变化曲线图。其中,响应值为每个大小为3*3层的BN之后非线性之前的输出。上下两幅图其层的顺序有所不同:前者为原始顺序,后者为以响应值从大到小排列。

以shortcut的恒等映射

在每个stacked layer都使用残差学习,其结构如图二所示,数学表达式为:

y=F(x,\{W_i\})+x

其中,yx均为残差块所在层的输入与输出向量,函数F(x, \{W_i\})为训练残差映射所学习到的。

以图二的残差块为例,其残差函数为F=W_2\sigma(W_1x),其中\sigma表示ReLU激活函数,出于简化省略偏置项。对于F(x)+x运算,由一个shortcut connection和以element-wise方式累加实现的,其值为二阶非线性。

对于y=F(x,\{W_i\})+x,要求xF维数相同。若出现维数不同的情况,则在shortcut connection上添加一个线性投影W_s来匹配维度:

y=F(x,\{W_i\})+W_sx

注:残差函数F同样适用于卷积层,且形式灵活。

网络结构

Plain Network

卷积层的filter大多为3*3大小,且遵循两个设计原则:

  • 对于相同大小的输出特征图,其层需含有相同数量的filter;
  • 若特征图的大小减半,则filter的数量需翻倍,以保证每层的时间复杂度。

在卷积层上以步长为2进行下采样操作。在网络末端以全局的均值池化层和1000个激活函数为softmax函数的全连接层结束。含权重的层总数为34层。

ResNet

在plain network的基础上添加shortcut connection,将网络变为ResNet。当维度增加时,可考虑如下两个方法:

  • 使用0来填补增加的维数,且此方法不会引入额外参数;
  • 在shortcut connection上添加一个线性投影W_s来匹配维数(通过卷积核大小为1*1的卷积实现)。

对于以上两种方法,其步长均为2。


注:

对于添加线性投影,实际上有两种情况:

  • 只对维数增加的数据进行处理;
  • 对所有数据进行处理。

后续实验表明,后者比前者效果好,但引入了额外参数,且线性投影与退化问题无关。因此,为了降低内存的使用、时间复杂度以及模型大小,作者采用前者进行处理。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容