RNN系列之四 长期依赖问题

1.长期依赖问题

    RNN面临的最大挑战就是无法解决长期依赖问题。例如对下面两句话:


最后的was与were如何选择是和前面的单复数有关系的,但对于简单的RNN来说,两个词相隔比较远,如何判断是单数还是复数就很关键。长期依赖的根本问题是,经过许多阶段传播后的梯度倾向于消失(大部分情况)或爆炸(很少,但对优化过程影响很大)。对于梯度爆炸是很好解决的,可以使用梯度修剪(Gradient Clipping),即当梯度向量大于某个阈值,缩放梯度向量。但对于梯度消失是很难解决的。

2.简单的数学推导

    如何从数学的角度来理解梯度消失或者爆炸问题呢,我们将以一个简单的、缺少非线性激活函数和输入x的循环神经网络为例。我们可以认为,循环联系为:

                                               

    可以简化为:

                                                

    当W符合下列形式的特征分解时:

                                                

    其中Q正交,循环联系可以进一步简化为:

                                                

    特征值提升到t次后,幅值小于1的衰减为0,幅值大于1的急剧增大,任何不与最大特征向量对齐的的部分将最终被丢弃。

3.解决方法

   (1)渗透单元及其它多时间尺度的策略

    (2)长短期记忆和其它门控RNN

    (3)优化长期依赖(截断梯度、引导信息流的正则化)

    之后将会对长短期记忆网络(LSTM)以及门控循环单元(GRU)做讲解,其余的部分可查阅花书10.9及10.11节。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值