深度残留网络的直觉

时间:2017-04-08 04:28:24

标签: deep-learning deep-residual-networks

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

enter image description here

问题:

  1. “希望2个重量层适合F(x)”是什么意思?

  2. 这里F(x)处理具有两个权重层的x(+ ReLu非线性函数),因此所需的映射是H(x)= F(x)?残差在哪里?

1 个答案:

答案 0 :(得分:2)

  

“希望2个重量层适合F(x)”是什么意思?

因此,显示的剩余单位通过处理具有两个权重层的F(x)来获得x。然后,它会将x添加到F(x)以获取H(x)。现在,假设H(x)是您理想的预测输出,与您的实际情况相符。自H(x) = F(x) + x起,获得所需的H(x)取决于获得完美F(x)。这意味着剩余单元中的两个权重层实际上应该能够产生所需的F(x),然后保证理想的H(x)

  

这里F(x)处理具有两个权重层的x(+ ReLu非线性函数),因此所需的映射是H(x)= F(x)?残差在哪里?

第一部分是正确的。 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,即可获得所需的映射。

残余网络成功的其他因素是从第一层到最后一层的不间断梯度流。这超出了你的问题的范围。您可以阅读论文:“深度剩余网络中的身份映射”,以获取更多相关信息。