Native RNN存在很多问题:
记忆力过强
在传统的 RNN 中,每个时间步的隐藏状态都是通过当前的输入和上一时间步的隐藏状态计算得到的,每个时间步的隐藏状态都包含了全部历史时刻的信息,因此随着时间步的增加,隐藏状态中的信息会越来越多,其中有价值的信息含量的比率会越来越少。
为了解决这个问题,我们要想办法给Native RNN引入遗忘机制。
处理长序列时存在梯度消失和梯度爆炸的问题
模型的记忆力过强不仅会降低信息的价值,还会导致处理长序列时的梯度消失和梯度爆炸等问题,从而导致模型难以捕捉到序列中较远的依赖关系。这会影响模型的性能和泛化能力。
-
在反向传播过程中,模型的梯度需要从输出端传回输入端,经过每个时间步的参数更新。
-
如果模型的记忆力过强,也就是在输入端的信息需要经过很多个时间步之后才能传递到输出端(可以参考我在4.1.2贴的那张自己手绘的图),那么在反向传播过程中,每个时间步的梯度都需要乘以相同的参数矩阵,这就会导致梯度指数级别地增加或减小,从而导致梯度爆炸或梯度消失的问题。
-
梯度爆炸相对而言比较好解决,通过梯度裁剪、调整学习率等方法就可以很好的控制,但是处理梯度消失就非常的麻烦(所以后面我们也会更多的关注梯度消失的问题)。当梯度消失时,网络就很难学习到序列中的长期依赖关系。
这些问题限制了传统 RNNs 在处理长序列数据时的应用,并且难以让模型获得良好的性能和泛化能力。为了解决这些问题,出现了许多改进的循环神经网络,如长短时记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU),这些模型通过引入门控机制来缓解梯度消失和梯度爆炸的问题,从而使得模型能够更好地处理长序列数据。
AI科技智库👉️👉️👉️www.aigchouse.com,一站式AI工具、资料、课程资源学习平台,每日持续更新。通过分享最新AI工具、AI资源等,帮助更多人了解使用AI,提升工作和学习效率。这里有海量AI工具整合包、AI学习资料、AI免费课程和AI咨询服务,AI之路不迷路,2024我们一起变强。