我正在阅读Deep Residual Network论文,在论文中有一个我无法完全理解的概念:
问题:
“希望2个重量层适合F(x)”是什么意思?
这里F(x)处理具有两个权重层的x(+ ReLu非线性函数),因此所需的映射是H(x)= F(x)?残差在哪里?
答案 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
,即可获得所需的映射。
残余网络成功的其他因素是从第一层到最后一层的不间断梯度流。这超出了你的问题的范围。您可以阅读论文:“深度剩余网络中的身份映射”,以获取更多相关信息。