Resnet 网络结构的理解以及论文

Resnet是ImageNet竞赛中分类问题比较好的网络,它有多种结构形式,有Resnet-34,Resnet-50, Resnet-101, Resnet-152.
这里写图片描述
github上的caffe网络结构的prototxt地址:https://github.com/antingshen/resnet-protofiles

先说一下残差表示:VLAD是一种通过关于字典的残差向量进行编码的表示形式。

残差学习:H(x) 作为几个堆叠层(不必是整个网络)要拟合的基础映射,x表示这些层中第一层的输入。假设多个非线性层可以渐近地近似复杂函数,它等价于假设它们可以渐近地近似残差函数,即H(x)−x(假设输入输出是相同维度)。因此,我们明确让这些层近似参数函数 F(x):=H(x)−x,而不是期望堆叠层近似H(x)。因此原始函数变为F(x)+x。

快捷恒等映射:我们每隔几个堆叠层采用残差学习。构建块如图2所示。在本文中我们考虑构建块正式定义为:

y=F(x,Wi)+x (1)
x和y是考虑的层的输入和输出向量。函数F(x,Wi)表示要学习的残差映射。图2中的例子有两层,F=W2σ(W1x)中σ表示ReLU,为了简化写法忽略偏置项。F+x操作通过快捷连接和各个元素相加来执行。在相加之后我们采纳了第二种非线性(即σ(y))。

公式(1)中的快捷连接既没有引入外部参数又没有增加计算复杂度。这不仅在实践中有吸引力,而且在简单网络和残差网络的比较中也很重要。我们可以公平地比较同时具有相同数量的参数,相同深度,宽度和计算成本的简单/残差网络(除了不可忽略的元素加法之外)。

方程(1)中x和F的维度必须是相等的。如果不是这种情况(例如,当更改输入/输出通道时),我们可以通过快捷连接执行线性投影Ws来匹配维度:

y=F(x,Wi)+Wsx.
我们也可以使用方程(1)中的方阵Ws。但是我们将通过实验表明,恒等映射足以解决退化问题,并且是合算的,因此Ws仅在匹配维度时使用。

残差函数F的形式是可变的。本文中的实验包括有两层或三层的函数F,同时可能有更多的层。但如果F只有一层,方程(1)类似于线性层:y=W1x+x,我们没有看到优势。
这里写图片描述

Resnet是每隔二层或三层进行的相加求下一步的输入,这是与VGG网络不同的,VGG主要是直接进行卷积,送入到下一层,同时每一层的核大小都是固定的,Resnet里面也采用了。Resnet网络结构的设计遵循两种设计规则:(1)对于相同的输出特征图尺寸,层具有相同数量的滤波器;(2)如果特征图大小减半,则滤波器的数量加倍,以便保持每一层的时间复杂度。

使用快捷连接要保证输入和输出具有相同的维度。当我们在进行两种维度的跨越进行连接的时候,有两种方式可以进行,第一种额外的进行填充零输入,增加维度;第二种方式:用1x1卷积核,步长为2。

这里有对Resnet论文Deep Residual Learning for Image Recognition的翻译,大家可以看看。
原文:https://arxiv.org/pdf/1512.03385.pdf
翻译:https://blog.csdn.net/Quincuntial/article/details/77263562?locationNum=6
还有可以看看的:https://blog.csdn.net/u011534057/article/details/51819968

猜你喜欢

转载自blog.csdn.net/caicai2526/article/details/79819586