一、潜变量回归模型
使用潜变量 h t h_{t} ht总结过去的信息
二、RNN
更新隐藏状态: h t = φ ( W h h h t − 1 + W h x x t − 1 + b h ) h_{t}=φ(W_{hh}h_{t-1}+W_{hx}x_{t-1}+b_{h}) ht=φ(Whhht−1+Whxxt−1+bh)
更新输出: o t = W o h h t + b o o_{t}=W_{oh}h_{t}+b_{o} ot=Wohht+bo
RNN的输出取决于当前输入和前一时间的隐变量
三、困惑度
衡量语言模型的好坏,可用平均交叉熵损失
π = 1 n ∑ i = 1 n − l o g p ( x i ∣ x i − 1 , . . . ) π=\frac 1n \sum_{i=1}^n -logp(x_{i}|x_{i-1},...) π=n1i=1∑n−logp(xi∣xi−1,...)
p p p是语言模型的预测概率, x i x_{i} xi是真实词
NLP领域使用困惑度 e x p ( π ) exp(π) exp(π) 来衡量语言模型的好坏,当 e x p ( π ) = 1 exp(π)=1 exp(π)=1时,结果完美;当 e x p ( π ) exp(π) exp(π)无穷大时,情况最坏
四、梯度裁剪
梯度裁剪可有效预防梯度爆炸,即如果梯度长度超过 θ θ θ,则将其赋值为 θ θ θ
g = m i n ( 1 , θ ∣ ∣ g ∣ ∣ ) g g=min(1,\frac θ{||g||})g g=min(1,∣∣g∣∣θ)g