加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

从经典结构到改进方法,神经网络语言模型综述

发布时间:2019-07-24 12:44:55 所属栏目:建站 来源:机器之心编译
导读:作为自然语言处理(NLP)系统的核心组成部分,语言模型可以提供词表征和单词序列的概率化表示。神经网络语言模型(NNLM)克服了维数的限制,提升了传统语言模型的性能。本文对 NNLM 进行了综述,首先描述了经典的 NNLM 的结构,然后介绍并分析了一些主要的改进

另一种缓存机制是将缓存用作 NNLM 的加速技术。该方法主要的思路是将 LM 的输出和状态存储在一个哈希表中,用来在给定相同上下文历史的条件下进行未来的预测。例如,Huang 等人于 2014 年提出使用 4 个缓存来加速模型推理。使用到的缓存分别为:「查询到语言模型概率的缓存(Query to Language Model Probability Cache)」、「历史到隐藏状态向量的缓存(History to Hidden State Vector Cache)」、「历史到分类归一化因子的缓存(History to Class Normalization Factor Cache)」以及「历史和分类 Id 到子词汇表归一化因子的缓存(History and Class Id to Sub-vocabulary Normalization Factor Cache)」。

(5) 注意力机制

RNNLM 利用上下文预测下一个单词。然而,并非上下文中所有的单词都与下一个相关、对于预测有效。和人类一样,带有注意力机制的 LM 通过从单词中选择出有用的单词表征,高效地使用长期的历史。Bahdanau 等人于 2014 年首次提出将注意力机制用于 NLP 任务(在他们的论文中是机器翻译任务)。Tran 等人和 Mei 等人分别于 2016 年证明了注意力机制可以提升 RNNLM 的性能。

注意力机制可以通过一系列针对每个输入的注意力系数捕获需要被重点关注的目标区域。注意力向量 z_t 是通过 token 的表征 {r_0,r_1,· · ·,r_(t−1)} 来计算的。

从经典结构到改进方法,神经网络语言模型综述

这里的注意力系数α_ti 是通过得分 e_ti 的 Softmax 函数值归一化计算得来的,其中

从经典结构到改进方法,神经网络语言模型综述

这是一个对齐模型,用于评估某个 token 的表征 r_i 和隐藏状态 h_(t-1) 的匹配程度。该注意力向量是用于预测的上下文历史的一种很好的表征。

2. 针对大型语料库的加速技术

在一个拥有大规模单词表的语料库上训练模型是非常费时的。这主要是由于用于大型词汇表的 Softmax 层。为了解决训练深度神经网络时输出空间大的问题,人们提出了许多方法。一般来说,这些方法可以分为四类,即:分层的 Softmax、基于采样的近似、自归一化以及在有限损失函数上的精确梯度。其中前两种方法被广泛用于 NNLM。

语料库

一般来说,为了减少训练和测试的开销,需要在小型语料库上对模型的可行性进行验证。常用的小型语料库包括 Brown、Penn Treebank 以及 WikiText-2(见表 1)。

在模型结构被确定后,需要在大型语料库上对其进行训练和评估,从而证明模型具有可靠的泛化能力。常用的大型语料库会随着时间根据网站、报纸等媒体(包括华尔街日报、维基百科、新闻评论、 News Crawl、Common Crawl 、美联社(AP)新闻等)被更新。

然而,我们通常会利用不同的大型语料库训练 LM。即使在同一个语料库上,各种不同的预处理方法和不同的训练/测试集的划分也会影响实验结果。与此同时,展示训练时间的方式也不一样,或者在一些论文中并没有给出训练时间。不同论文中的实验结果并没有得到充分的比较。

工具包

传统的 LM 工具包主要包括「CMU-Cambridge SLM」、「SRILM」、「IRSTLM」、「MITLM」以及「BerkeleyLM」,它们只支持带有各种平滑技术的 N 元语言模型的训练和评估。随着深度学习的发展,人们提出了许多基于 NNLM 的工具包。

Mikolov 等人于 2011 年构建了 RNNLM 工具包。该工具包支持训练 RNNLM 来优化语音识别和机器翻译,但是它并不支持并行训练算法和 GPU 运算。Schwenk 于 2013 年构建了神经网络开源工具 CSLM(连续空间语言建模),用于支持 FFNN 的训练和评估。Enarvi 和 Kurimo 于 2016 年提出了可伸缩的神经网络模型工具包「TheanoLM」,它训练 LM 对句子进行打分并生成文本。

根据调查,我们发现并没有同时支持传统 N 元语言模型和 NNLM 的工具包。而且它们通常并不包含加载常用的 LM 的功能。

未来的研究方向

首先,降低计算开销、减少参数数量的方法仍然会被继续探索,从而在不增加困惑度的条件下提升训练和评估的速度。其次,我们期待能够产生一种新的架构,它能够模拟人的工作方式,从而提升 LM 的性能。例如,为 LM 构建一种生成模型(例如 GAN),可能会成为一个新的研究方向。最后,同样重要的是,目前的 LM 的评估体系并不规范。因此,有必要构建一个评价对比基准来统一预处理以及论文中应该展示的实验结果。

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读