深度残差网络的直觉

Intuition on Deep Residual Network

我在看Deep Residual Network的论文,论文中有一个概念我无法完全理解:

问题:

  1. "hope the 2 weight layers fit F(x)"是什么意思?

  2. 这里F(x)是用两个权值层(+ReLu非线性函数)处理x,所以想要的映射是H(x)=F(x)?残差在哪里?

What does it mean by "hope the 2 weight layers fit F(x)" ?

所以如图所示的残差单元经过x两个权重层的处理得到F(x)。然后它将xF(x)相加得到H(x)。现在,假设 H(x) 是您理想的预测输出,它与您的基本事实相匹配。由于H(x) = F(x) + x,获得想要的H(x)取决于获得完美的F(x)。这意味着残差单元中的两个权重层实际上应该能够产生所需的F(x),然后保证得到理想的H(x)

Here F(x) is processing x with two weight layers(+ ReLu non-linear function), so the desired mapping is H(x)=F(x)? where is the residual?

第一部分是正确的。 F(x) 是从 x 得到的,如下所示。

x -> weight_1 -> ReLU -> weight_2

H(x)是从F(x)得到的,如下。

F(x) + x -> ReLU 

所以,我不明白你问题的第二部分。残差为F(x).

作者假设残差映射(即 F(x))可能比 H(x) 更容易优化。用一个简单的例子来说明,假设理想的H(x) = x。然后对于直接映射,很难学习恒等映射,因为有一堆非线性层如下。

x -> weight_1 -> ReLU -> weight_2 -> ReLU -> ... -> x

因此,在中间使用所有这些权重和 ReLU 来近似恒等映射是很困难的。

现在,如果我们定义了想要的映射H(x) = F(x) + x,那么我们只需要如下得到F(x) = 0

x -> weight_1 -> ReLU -> weight_2 -> ReLU -> ... -> 0  # look at the last 0

实现上述目标很容易。只需将任何权重设置为零,您就会得到零输出。加回 x 即可得到所需的映射。

残差网络成功的另一个因素是从第一层到最后一层的不间断梯度流。这超出了您的问题范围。您可以阅读论文:"identity mappings in deep residual networks" 了解更多相关信息。