残差连接

介绍残差连接哈哈哈
深度学习
Author

Hahabula

Published

April 16, 2025

1 背景

当DNN很深时,会增加计算资源消耗及模型过拟合,还会出现梯度消失或爆炸的问题。残差连接是一种解决深度学习中梯度消失或爆炸问题的有效方法。

网络退化

模型M层,最优模型K层,多出的 \(M-K\) 层会使得模型效果变差,表现为loss函数先下降并趋于稳定值而后再次上升

2 残差网络

\[ y = H(X) = F(X) + X \]

残差网络的一个残差块为 \(H(X)=F(X)+X\),其中 \(F(X)\) 是残差块残差,\(X\) 是残差块的跳跃连接。

2.1 信息递增

当深层网络在前向传播时,随网络加深,网络获得的信息会逐层递减,而通过 \(F(X)+X\) 的形式信息会呈现处逐层递增的趋势而不用担心信息丢失的问题。

\(x_{l+1}\)\(x_{l}\) 的维度不一致时,则有:

\[ x_{l+1} = h(x_l)+F(x_l, w_l) \]

\(h(x_l)=W'x_l\),用于转换维度。

3 优势

残差网络为啥能解决梯度消失或爆炸问题呢?

3.1 解决梯度消失问题

上图可以看出:残差网络始终保留了原始信息,还增加了网络中的新获取的新知识。

上图中的<2>部分在经过中间权重矩阵的传递可能会变为0,但<1>部分可以绕过中间权重矩阵直接传递到 \(j\) 层,从而防止梯度消失的问题。

3.2 解决网络退化问题

相比于学习 \(H(X)=X\),学习 \(F(X)=0\) 是更容易实现的,尤其在 \(F(X)\) 中的激活函数选择relu时就便更快能够学习到。

Back to top