@ShawnNg
2017-01-23T21:52:33.000000Z
字数 1505
阅读 1604
深度学习
NLP
Y Bengio, R Ducharme, P Vincent, C Jauvin
Université de Montréal(蒙特利尔大学)
Statistical language modeling, artificial neural networks, distributed representation, curse of dimensionality
Journal of Machine Learning Research 2003
提出基于神经网络的语言模型,同时学习word embedding和语言模型参数
模型主要是用context来预测下一个词。
这是一个简单的三层的前向神经网络,输入层是context的word embedding的联合,需要预先选择context的窗口大小。一层隐藏层。输出层是词表中每个词的概率,长度为词表大小。图中虚线表示输入层与输出层的直连。公式如下:
损失函数方程是:
该模型的计算瓶颈在于softmax输出层。文中提及两种方法,一种是使用共享内存的多处理器进行数据并行,另一种是使用集群进行参数并行。前者是每个处理器处理各自分配到的样本,分别对共享内存中的参数进行SGD。后者是每个CPU各自计算分配到的输出层的未归一化概率。
评价标准为perlexity,是指的几何平均。但是该训练时间较长,仅仅5个epoch就花费40个CPU三个星期。结果显示:
1. 更多的context会表现得更好
2. 隐藏层是有用的
3. 使用ensemble也有用
4. 小语料时不用直连层会更好
这篇文章内容很丰富,并且讲解的很清晰,十分值得一读。并且该文章开创了将NN运用在语言模型上的历史。我相信其中文中给出的建议对后人的研究有深刻的影响,比如使用RNN,相信Tomas那篇RNNLM的灵感也是来自于此。