神经网络语言模型(NNML)

本文介绍了神经网络语言模型(NNML)的基本结构和工作原理,包括输入层、投影层、隐藏层和输出层。模型利用1-of-∣V∣编码方式处理词汇,并通过投影矩阵、隐藏层的tanh激活函数以及softmax输出层来预测词序列。训练过程中采用随机梯度下降法更新参数。

把自己对神经网络语言模型(NNML)的一些理解记录下来,有理解不正确的地方还请在评论区批评指正。

原文可在这里阅读下载

模型结构如下图所示:
模型架构
模型包含:输入层,投影层,隐藏层,以及输出层。

输入层:将前N-1个词 ( w t − n + 1 , ⋯   , w t − 2 , w t − 1 ) (w_{t-n+1}, \cdots,w_{t-2}, w_{t-1}) (wtn+1,,wt2,wt1)用1-of- ∣ V ∣ |V| V编码方式(好像是dummy coding,可以参考pandas中的get_dummies函数)编码, V V V是词典。假设将词 w t − n + 1 w_{t-n+1} wtn+1编码之后的向量用 a t − n + 1 ∈ R 1 × ∣ V ∣ a_{t-n+1}\in R^{1\times |V|} atn+1R1×V表示。
投影层:假设每个词用 m m m维表示。使用一个投影矩阵 C ∈ R ∣ V ∣ × m C\in R^{|V|\times m} CRV×m将输入 a t − n + 1 a_{t-n+1} atn+1映射为向量 C t − n + 1 ∈ R 1 × m C_{t-n+1}\in R^{1\times m} Ctn+1R1×m。一共有 n − 1 n-1 n1个输入,将映射后的向量拼接形成 ( C t − n + 1 , ⋯   , C t − 2 , C t − 1 ) ∈ R ( n − 1 ) m × 1 (C_{t-n+1}, \cdots, C_{t-2}, C_{t-1})\in R^{(n-1)m\times1} (Ctn+1,,Ct2,Ct1)R(n1)m×1
隐藏层:隐藏层的输入为 x = ( C t − n + 1 , ⋯   , C t − 2 , C t − 1 ) x=(C_{t-n+1}, \cdots, C_{t-2}, C_{t-1}) x=(Ctn+1,,Ct2,Ct1),激活函数为 t a n h tanh tanh函数。此层的输出为 t a n h ( d + H x ) tanh(d+Hx) tanh(d+Hx),其中 d ∈ R h × 1 d\in R^{h\times1} dRh×1为投影层的偏置, H ∈ R h × ( n − 1 ) m H\in R^{h\times(n-1)m} HRh×(n1)m为投影层到隐藏层的权重矩阵。
输出层:采用的是 s o f t m a x softmax softmax函数,即 P ^ ( w t ∣ w t − 1 , ⋯ w t − n + 1 ) = e y w t ∑ i e y i \hat{P}\left(w_{t} | w_{t-1}, \cdots w_{t-n+1}\right)=\frac{e^{y_{w_{t}}}}{\sum_{i} e^{y_{i}}} P^(wtwt1,wtn+1)=ieyieywt
其中 y = b + W x + U tanh ⁡ ( d + H x ) y=b+W x+U \tanh (d+H x) y=b+Wx+Utanh(d+Hx) b ∈ R ∣ V ∣ × 1 b\in R^{|V|\times1} bRV×1为隐藏层的偏置, t a n h ( d + H x ) tanh(d+Hx) tanh(d+Hx)为隐藏层的输出; U ∈ R ∣ V ∣ × h U\in R^{|V|\times h} URV×h为隐藏层到输出层的权重矩阵; W ∈ R ∣ V ∣ × ( n − 1 ) m W\in R^{|V|\times(n-1)m} WRV×(n1)m为投影层到输出层的权重矩阵,如图中的虚线,可以为0,表示投影层到输出层没有连接。输出层的维度为 ∣ V ∣ × 1 |V|\times 1 V×1,第 i i i 位表示词序列中第 n n n 个词是 V i V_i Vi的概率,和为1。

综上所述,模型需要学习的参数 θ = ( b , d , W , U , H , C ) \theta=(b, d, W, U, H, C) θ=(b,d,W,U,H,C)。训练模型使用随机梯度下降法: θ ← θ + ε ∂ log ⁡ P ^ ( w t ∣ w t − 1 , ⋯ w t − n + 1 ) ∂ θ \theta \leftarrow \theta+\varepsilon \frac{\partial \log \hat{P}\left(w_{t} | w_{t-1}, \cdots w_{t-n+1}\right)}{\partial \theta} θθ+εθlogP^(wtwt1,wtn+1)

[1] Bengio Y, Ducharme R, Vincent P, et al. A neural probabilistic language model. Journal of machine learning research, 2003, 3(Feb): 1137-1155
[2] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space. arXiv preprint arXiv, 2013, 1301(3781)
[3] https://blog.csdn.net/lilong117194/article/details/82018008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值