自学内容网 自学内容网

54 循环神经网络RNN_by《李沐:动手学深度学习v2》pytorch版

系列文章目录



循环神经网络

在这里插入图片描述
在这里插入图片描述

使用循环神经网络的语言模型

在这里插入图片描述
输入“你”,更新隐变量,输出“好”。

困惑度(perplexity)

语言模型说白了,是个分类模型,我的输出是对下一个词的预测,假设一共有m个词,也就是m个类的分类问题,对于分类问题,当然可以使用交叉熵来做。
在这里插入图片描述

梯度剪裁

对于长度为 T T T的序列,我们在迭代中计算这 T T T个时间步上的梯度,将会在反向传播过程中产生长度为 O ( T ) \mathcal{O}(T) O(T)的矩阵乘法链,当 T T T较大时,它可能导致数值不稳定。
一个流行的替代方案是通过将梯度 g \mathbf{g} g投影回给定半径(例如 θ \theta θ)的球来裁剪梯度 g \mathbf{g} g
如下式:

g ← min ⁡ ( 1 , θ ∥ g ∥ ) g . \mathbf{g} \leftarrow \min\left(1, \frac{\theta}{\|\mathbf{g}\|}\right) \mathbf{g}. gmin(1,gθ)g.

通过这样做,我们知道梯度范数永远不会超过 θ \theta θ,并且更新后的梯度完全与 g \mathbf{g} g的原始方向对齐。


原文地址:https://blog.csdn.net/buyaotutou/article/details/142433846

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!