NNLM学习笔记

原论文: http://jmlr.org/papers/volume3/bengio03a/bengio03a.pdf
其他资料:https://blog.csdn.net/sxhlovehmm/article/details/41252125

NNLM(Neural Probabilistic Language Model),使用神经网络来对语言模型进行建模。
语言模型的公式如下:
P ^ ( w 1 T ) = ∏ t = 1 T P ^ ( w t ∣ w 1 t − 1 ) \hat P (w_1^T) = \prod^T_{t=1} \hat P (w_t | \pmb w_1^{t-1}) P^(w1T)=t=1TP^(wtwww1t1)
其中 w t w_t wt是第 t t t个词, w i j = ( w i , w i + 1 , . . . , w j ) \pmb w_i^j = (w_i, w_{i+1}, ..., w_{j}) wwwij=(wi,wi+1,...,wj)
也就是用前几个词去预测后一个词。一般,上面的模型用起来太困难,所以使用n元语言模型
P ^ ( w 1 T ∣ w 1 t − 1 ) ≈ P ^ ( w t ∣ w t − n + 1 t − 1 ) \hat P (w_1^T | \pmb w_1^{t-1}) \approx \hat P (w_t | \pmb w_{t-n+1}^{t-1}) P^(w1Twww1t1)P^(wtwwwtn+1t1)
也就是认为,当前词出现的概率仅与前 n − 1 n-1 n1个词有关。

NNLM的结构:

在这里插入图片描述

前向传播:
x = ( C ( w t − 1 ) , C ( w t − 2 ) , C ( w t − 3 ) , . . . , C ( w t − n + 1 ) ) \pmb x = (C(w_{t-1}), C(w_{t-2}), C(w_{t-3}), ..., C(w_{t-n+1})) xxx=(C(wt1),C(wt2),C(wt3),...,C(wtn+1))
y = b + W x + U t a n h ( d + H x ) \pmb y = \pmb b + \pmb{W} \pmb{x} + \pmb{U} tanh(\pmb{d}+\pmb{H}\pmb{x}) yyy=bbb+WWWxxx+UUUtanh(ddd+HHHxxx)
P ^ = s o f t m a x ( y ) \hat{P} = softmax(\pmb{y}) P^=softmax(yyy)
基于SGD的训练方法:
θ ← θ + ϵ ∂ l o g P ^ ∂ θ \theta \leftarrow \theta + \epsilon\frac{\partial log \hat{P}}{\partial \theta} θθ+ϵθlogP^
其中, θ = ( b , d , W , U , H , C ) \theta = (\pmb b, \pmb d, \pmb W, \pmb U, \pmb H, C) θ=(bbb,ddd,WWW,UUU,HHH,C)

重点:

两个基本步骤:

  1. C C C:一个将单词表 V V V中的某元素 i i i转换为向量 C ( i ) ∈ R m C(i) \in \mathbb{R}^m C(i)Rm的映射。它就是现在被称为的词向量词嵌入。形式上讲,它是一个 ∣ V ∣ × m |V|\times m V×m的参数矩阵。上式中, x \pmb x xxx就是输入序列中的词的词向量构成的向量,或者说,它是一个 ∣ V ∣ × m |V|\times m V×m矩阵。
  2. g(.):一个将输入单词的词向量转换为概率的映射。在上式中, g ( x ) = s o f t m a x ( y ( x ) ) g(\pmb{x}) = softmax(\pmb{y}(\pmb{x})) g(xxx)=softmax(yyy(xxx))。此外, g ( . ) g(.) g(.)也可以是FFN、RNN等可学习的模型。
补充:

训练目标:最大化如下的损失函数:
L = 1 T ∑ t l o g f ( w t , w t − 1 , . . . , w t − n + 1 ; θ ) + R ( θ ) L = \frac{1}{T} \sum_t log f(w_t, w_{t-1}, ... , w_{t-n+1}; \theta) + R(\theta) L=T1tlogf(wt,wt1,...,wtn+1;θ)+R(θ)
其中, R ( θ ) R(\theta) R(θ)是正则项,原论文使用的是weight decay,但未用于bias上。 f f f P ^ \hat P P^

其他内容,如训练算法针对CPU的并行化方案等,参见原论文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值