14、循环神经网络:从梯度消失挑战到情感分析实践

循环神经网络:从梯度消失挑战到情感分析实践

1. 梯度消失问题

使用有状态网络模型的动机在于捕捉输入序列中的长期依赖关系。理论上,具有大内存库(即显著规模的循环层)的循环神经网络(RNN)可以总结这些依赖关系。实际上,RNN 是通用的函数表示,只要有足够的神经元和合适的参数设置,它就能表示输入和输出序列之间的任何函数映射。

然而,理论并不一定能转化为实践。我们更关心能否通过梯度下降算法从零开始训练 RNN 学习现实的函数映射。为了探究这个问题,我们从最简单的 RNN 开始,它只有一个输入神经元、一个输出神经元和一个全连接的单神经元循环层。

给定非线性函数 $f$,循环层隐藏神经元在时间步 $t$ 的激活值 $h_t$ 可以表示为:
$h_t = f(w_{in}^t i_t + w_{rec}^{t - 1} h_{t - 1})$

为了量化过去输入的“记忆”保留程度,我们计算隐藏神经元激活值对 $k$ 个时间步之前输入对数的变化率。通过求偏导数并应用链式法则,经过一系列简化和推导,得到最终不等式:
$\left|\frac{\partial h_t}{\partial i_{t - k}}\right| \leq w_{rec}^{t - 1} \cdots w_{rec}^{t - k} w_{in}^{t - k} = w_{rec}^k w_{in}$

由于模型权重在训练开始时初始化为小值,随着 $k$ 的增加,这个导数的值趋近于零。这意味着在计算相对于多个时间步之前的输入的梯度时,梯度会迅速消失,严重限制了模型学习长期依赖关系的能力,这就是梯度消失问题,它极大地影响了普通循环神经网络的学习能力。

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值