本篇分享的文章是Character-Aware Neural Language Models,作者是Yoon Kim、Alexander M. Rush。两位是HarvardNLP组的学生和老师,前者贡献了一些有意义的torch代码,比如seq2seq+attn,后者第一次将seq2seq的模型应用到了文本摘要。
卷积神经网络之前常常用在计算机视觉领域,用来在图像中寻找features,前几年被研究者应用到了nlp任务中,在文本分类等任务中取得了不错的效果。传统的word embedding对低频词并没有太好的效果,而本文将char embedding作为CNN的输入,用CNN的输出经过一层highway层处理表示word embedding,然后作为RNNLM的输入,避免了这个问题。而且之前的神经网络语言模型中绝大多数需要优化的参数是word embedding,而本文的模型则会将优化参数减少非常多。
本文模型的架构图如下:
可以分为三层,一层是charCNN,通过构建一个char embedding矩阵,将word表示成matrix,和图像类似,输入到CNN模型中提取经过filter层和max pooling层得到一个输出表示,然后将该输出放到Highway Network中,得到一个处理后的效果更好的word embedding作为输出,在第三层中是一个典型的RNN模型,后面的处理与传统方法一样了。
这里需要学习的参数中char embedding规模非常小,相对比之前的模型有非常明显的优势。这里需要说明的一点是HighWay Network,在Rupesh Kumar Srivastava的paper Training Very Deep Networks被提出,受lstm解决rnn梯度衰减问题的思路启发,用来解决训练very deep networks,因为模型越深效果越好,但越难训练。本文的HighWay层如下:
其中
t被称为transform gate,1-t被称为carry gate。
最终的实验证明,使用HighWay层效果比使用普通的MLP或者不使用该层效果更好。
本文通过将传统的word embedding降级到char level,避免了大规模的embedding计算和低频词的问题,通过Highway network技术构建更深的网络,得到了不错的结果。
来源:paperweekly