论文笔记:残差网络 Deep Residual Learning for Image Recognition

论文笔记: Deep Residual Learning for Image Recognition

目标:利用残差网络是的训练更加简单

面对的问题:

degradation Problem: 当添加的网络层次变多,精确度逐渐饱和,网络层次将趋近饱和。

Intuition

文中的想法是将堆叠的感知器学习原有输出的残差。

具体表示是:假设 H ( x ) \mathcal{H}(\mathbf{x}) 为表示某几层感知器的, x x 是输入。那么我们令 F ( x ) : = H ( x ) x \mathcal{F}(\mathbf{x}):=\mathcal{H}(\mathbf{x})-\mathbf{x}

那么原来的输出将变成: F ( x ) + x = H ( x ) \mathcal{F}(\mathbf{x})+\mathbf{x} =\mathcal{H}(\mathbf{x}) , 让感知层用来学习 F \mathcal{F}

尽管两者将同时迭代到需要的方程,但两者的难易程度不同。

我们假设后者比前者容易。

在这里插入图片描述

如图中所示,
y = F ( x , { W i } ) + x \mathbf{y}=\mathcal{F}\left(\mathbf{x},\left\{W_{i}\right\}\right)+\mathbf{x}
其中 F = W 2 σ ( W 1 x ) \mathcal{F}=W_{2} \sigma\left(W_{1} \mathbf{x}\right) σ \sigma 便是ReLU

如果 x \mathbf{x} and F \mathcal{F} 不是相同的纬度,那遍让 x \mathbf{x} 乘以一个矩阵 W s W_s :
y = F ( x , { W i } ) + W s x \mathbf{y}=\mathcal{F}\left(\mathbf{x},\left\{W_{i}\right\}\right)+W_{s} \mathbf{x}
即使纬度相同,也可以乘以一个方阵。但是作者认为单位矩阵就足够解决degradation problem.

扫描二维码关注公众号,回复: 11512380 查看本文章

关于 F \mathcal{F} 的选取,作者认为可以是各种样子,可以是很多层,但如果是只有一层,就与线性层没有差别,并不能看出什么优势。

网络结构

普通结构

Baseline 由VCG网络而来。大部分的过滤器由3x3构成,而且都服从以下两条规则:

(i) 如果输出的特征图相同,那么过滤器数量不变

(ii)如果输出的特征图纬度减半,那么过滤器数量翻倍

残差网络

在普通结构上使用残差结构。如果输入输出纬度相同,那我们直接使用单位矩阵。
y = F ( x , { W i } ) + x \mathbf{y}=\mathcal{F}\left(\mathbf{x},\left\{W_{i}\right\}\right)+\mathbf{x}
如果维度(图中虚线部分)缩减,将有两种原则:

(A)捷径的部分(x)仍然使用单位矩阵。缺失的部分添加0来解决,这种方式没有增加多余的参数

(B)用(2)式中的方式,将 x \mathbf{x} 映射到相同纬度上来

对于两种方法,如果残差网络经过了纬度变换的时候,他们的步长为2(也就是说每种维度的特征图各取一层)

在这里插入图片描述

最后的实验证明两种方式(A)(B)并没有太多表现上的区别

猜你喜欢

转载自blog.csdn.net/ArchibaldChain/article/details/107747029
今日推荐