深度学习中的神经网络架构与语义分割
1. 循环神经网络与梯度消失问题
循环神经网络(RNN)在处理序列数据时,其扩展主要体现在对矩阵 U 和 W 的导数计算上。由于 W 在每个时间步都会被使用,直到我们关注的输出,因此需要通过网络一路反向传播梯度,即对每个时间步对梯度的贡献进行求和。
然而,RNN 在学习长期依赖关系方面存在困难,这是由于梯度消失问题导致的。当激活函数(如 sigmoid 或 tanh)的导数接近 0 时,对应的神经元会饱和,并使前一层的其他梯度趋近于 0。矩阵中的小值和多次矩阵乘法会导致梯度非常快速地消失,这意味着来自远处时间步的梯度贡献变为 0。这种问题不仅存在于循环神经网络中,在(非常)深的前馈网络中也会出现。
为了避免梯度消失问题,有一些解决方案:
- 使用 ReLu 作为激活函数 :用 ReLu 替代 sigmoid 或 tanh 函数,可在一定程度上缓解梯度消失问题。
- 使用长短期记忆网络(LSTM) :这是一种更合适的解决方案。
2. 长短期记忆网络(LSTM)
2.1 LSTM 简介
LSTM 是一种循环神经网络,其单元比简单 RNN 更复杂。信息从当前数据 $x_t$ 和隐藏层的前一个值 $h_{t - 1}$ 进入单元。
2.2 LSTM 单元的计算步骤
- 遗忘门计算 :单元计算遗忘门的值 $f_t = \sigma(W_f \cdot [h_{t - 1}, x_t] + b_f)$,它
超级会员免费看
订阅专栏 解锁全文
1262

被折叠的 条评论
为什么被折叠?



