论文阅读笔记:Resnet

当废人真的好快乐
不学习不去实验室的日子也太舒坦了吧!
所以小李又拖到现在才来更新了
——————————
论文名称:《Deep Residual Learning for Image Recognition》
论文地址:https://arxiv.org/pdf/1512.03385.pdf
论文翻译:https://blog.csdn.net/c_chuxin/article/details/82948733
论文代码:https://github.com/tornadomeet/ResNet


Background

按惯例先说一下背景:深度卷积网络近几年来在图像分类任务上取得了巨大突破,它是通过综合中、低、高层特征以及分类器来形成的,不少实验结果表明,网络深度对于性能来说是及其重要的,通过增加层数(即加深网络)在一定程度上可以丰富网络学习到的特征。凭着这一基本准则CNN分类网络自Alexnet发展到了VGG的16乃至19层,后来更有了Googlenet的22层。那么现在有一个问题:是不是简单地通过加深网络就可以获得更好的性能和更高的精准率?答案是否,通过后来的实验我们可以发现深度CNN网络达到一定深度后再一味地增加层数并不能带来进一步地分类性能提高,反会容易造成由梯度消失和梯度爆炸引起的网络不收敛问题。
这个问题可以通过归一初始化与中间初始化来解决。(如下图所示)

步骤解释:
1.计算样本均值。
2.计算样本方差。
3.样本数据标准化处理。
4.进行平移和缩放处理。引入了γ和β两个参数。来训练γ和β两个参数。引入了这个可学习重构参数γ、β,让我们的网络可以学习恢复出原始网络所要学习的特征分布。
即第一图:x先经过Wh1的线性变换后得到s1,将s1再减去batch的平均值μB,将s2乘以γ调整数值大小,再加上β增加偏移后得到s3
通过归一初始化与中间初始化解决了网络不收敛的问题,但是又有了新的问题,这个时候发现网络出现了退化问题,如下图。
由图可知56层网络比20层的网络错误率更高,可猜测这种退化并不是由过拟合造成的,在一个合理的深度模型中增加更多的层却导致了更高的错误率。退化问题表明了,求解器在通过多个非线性层来估计恒等映射上可能是存在困难的。因而,论文推测是优化器出了了问题。

Idea

因而,我们假设有一个浅层网络,如果通过向上堆积新层来建立深层网络,前提是这些增加的层什么也不学习,仅仅复制浅层网络的特征,即这样新层是恒等映射(对任意集合A,如果映射f:A→A定义为f(a)=a,即规定A中每个元素a与自身对应,则称f为A上的恒等映射)。
在这种情况下,深层网络应该至少和浅层网络性能一样,也不应该出现退化现象。
因而,基于这个问题论文作者提出了残差学习框架(Resnet).

Resnet

Model

H(x)是底层映射
F(x)多层堆叠的非线性层来拟合的映射
x是原始映射
原始的网络直接拟合所需要的函数H(x),而残差块则拟合残差函数,即:F(x)=H(x)−x,F(x)它拟合的是底层映射与输入的差值,最后通过把输入与残差相加求得底层映射,间接拟合所需要的函数,即:H(x)=F(x)+x。
相加操作是通过一条shortcut来实现。
这边有个问题补充说明一下:为什么要通过间接拟合学习我们所需要的函数H(x)?
网络退化问题说明了优化器在优化非线性层拟合恒等函数时会有困难,而当拟合残差函数时,如果恒等函数是最优解,那么优化器只需要将非线性层权重参数置零即可。也就是说:将残差推至零比用一堆非线性层拟合恒等映射更容易,优化器会更容易优化残差函数。除此,如下图所示,我们可以看到变化对F的影响远远大于G,说明引入残差后的映射对输出的变化更敏感,这样是有利于网络进行传播的,更快收敛

Deep residual Learning


如上图,一个残差块可以如上第一个式子表示,x和y表示这些层的输入和输出,F函数表示要学习的残差映射。整体的一个网络结构大致如下:
{注:上图式子中的σ代表ReLU}
ResNet通过直接将输入信息绕道传到输出,保护信息的完整性,网络只需要学习输入、输出差别的那一部分,简化学习目标和难度.

shortcut
shortcut在resnet起着至关重要的作用,它执行了一个相加的操作,Shortcut的作用是简单地执行恒等映射,将恒等映射的输入添加到堆层的输出,引入shortcut既不需要额外的参数,也没有计算复杂性。


shortcu两种情况如上图所示:
1.在BB1中只有卷积层,图片大小没有改变,也就是等式中的x和F需要具有相同维度,可以直接相加:y=F(x)+x
2.在BB2中,图片尺寸缩小了一半,维度不匹配,因此不可以直接相加:y=F(x)+Wsx.
论文的作者给了两种解决方法:
1.shortcut仍然使用恒等映射,在增加的维度上使用0来填充,这样做不会增加额外的参数;
2.使用一个投影矩阵Ws来匹配维度(通过1×1卷积)

Experiments

这篇论文实验涉及较多 这边简要记录几个

*Network Architectures

实验一:
Plain Network的设计是借鉴了VGG nets的思想,并且遵循以下两种原则:
1、输出特征图大小不变时,卷积核数量不变;
2、特征图大小缩小一半时,卷积核数量就增加一倍,以保持每层的时间复杂度。除此之外,VGG通过Max Pooling下采样,而这里通过步长为2的卷积层直接下采样,同时Plain Network最后通过Average Pooling来获得最后的特征,并且通过softmax层来获得最后1000维的预测。

Residual Network是在Plain Network的基础上加入shortcut connection来形成残差学习模块,为了匹配维度,这里考虑两种不同操作:
1、在增加的维度上使用0来填充,这样做不会增加额外的参数;
2、投影映射 (通过1x1卷积层来增加维度。)
对比结果:


1.plain-18 VS plain-34,展示了退化问题。说明了退化问题不是因为梯度消失,另外也不能简单地增加迭代次数来使其收敛,增加迭代次数仍然会出现退化问题。
2。ResNet-18 VS ResNet-34不会出现退化问题,ResNet-34明显表现的比ResNet-18和plain-34好,证明了残差学习解决了随网络深度增加带来的退化问题。因此可以通过增加深度来获取更高的精度 在极深网络中,residual learning 是有效的。
3.同等深度的plain-18和ResNet-18,残差网络更容易优化,收敛更快。

实验二:
网络构造同上一个实验,这里是比较对于同等映射维度不匹配时,匹配维度的两种方法的优劣,其中:
A: 用 zero-padding shortcut 来增加维度,且所有的 shortcut 无需额外的参数
B:用 projection shortcut 来增加维度,一般采用1x1的卷积。其他的 shortcut 用于 identity mapping
C :所有的 shortcut 都用 projectio


实验证明,投影法会比zero padding表现稍好一些。因为zero padding的部分没有参与残差学习。将维度匹配或不匹配的同等映射全用投影法会取得更稍好的结果,但是考虑到不增加复杂度和参数free,不采用这种方法.

实验三
瓶颈结构的构造

考虑到时间花费问题,这里将原来的残差学习结构改为瓶颈结构,如上图。
对于每个残差函数F,我们使用一个由3层组成的堆栈,而不是2层。
这三层分别是1×1、3×3和1×1卷积,其中1×1层负责减小然后增加(恢复)维数,使3×3层成为输入/输出维数较小的瓶颈。此时投影法映射带来的参数成为不可忽略的部分(因为输入维度的增大),所以要使用zero padding的恒等映射。
替换原本ResNet的残差学习结构,同时也可以增加结构的数量,网络深度得以增加,生成了ResNet-50,ResNet-101,ResNet-152。
通过下图结果可以看到,随着深度增加,因为解决了退化问题,性能不断提升,可以享受增加的深度中获得的显著的精确性。

实验四

Exploring Over 1000 layers

在Cifar-10上尝试了1202层的网络,结果在训练误差上与一个较浅的110层的相近,但是测试误差要比110层大1.5%。作者认为是采用了太深的网络,发生了过拟合。

把resent与其他深层窄模型,如FitNet和 Highway做了对比
结果:具有更少的参数,然而却达到了最好的结果


参考:25组-Deep Residual Learning for Image Recognition
resnet论文阅读

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

推荐阅读更多精彩内容