题图:tirza-van-dijk-563345-unsplash
昨天推送了 3 种重要的语言模型,感兴趣读者可参考:从 n-gram 到 RNN 做的那些优化改进。RNN 是一种重要的语言模型 ( language model),它的输入不受输入单词个数限制,可以是任意长度,隐含层节点间的权重 w 都相等。RNN作为一种神经网络模型,它的训练技术依然沿用反向传播方法。下面,通过斯坦福的PPT,详细阐述整个训练求解权重参数 w 的过程。
损失函数选用交叉熵,机器学习的很多算法模型也都会选用交叉熵。显然,损失函数大小不想受训练语料库的单词数影响,因此计算所有训练单词的交叉熵再求平均即可。
t 时步,yj为正确单词,yj^为预测单词,V为单词总数, T为训练样本总数,如下图所示,输入单词 the 正确的输出应该为 students,对应 J1 的损失。
依次求出 y2, ..., yn ,得到所有的损失平均值。
通过反向传播调整参数取值,如下所示,这是一种时间的反向传播算法,t 时步的损失梯度为前 t 个时步的损失梯度和。
到此,调整权重的公式已经得出,RNN模型的理论部分总结到这里。
接下来,问大家一个问题,LM为什么要单独作为一堂课来讲解呢?LM 是其他 NLP系统的子集。语音识别,机器翻译,总结系统都用到,具体如下:
领取专属 10元无门槛券
私享最新 技术干货