自然语言模型通常必须解决两个难题:将句子前缀映射到固定大小的表示,以及使用这些表示来预测文本中的下一个单词。在最近的一篇论文中,Facebook人工智能研究中心的研究人员断言,映射问题可能比预测问题更简单。他们说,它允许记忆罕见的模式,而且不需要额外的训练就能达到最先进的复杂性分数(衡量词汇和语法多样性的指标)。
正如研究人员所解释的那样,语言模型将概率分配给单词序列,例如,从标记的上下文序列(例如,单词)估计目标标记上的分布(不同可能结果出现的概率)。该方法将上下文映射到预先训练的语言模型计算得到的固定长度的数学表达式。给出一个训练示例,定义了一个键-值对,其中键是上下文的数学表示,值是目标单词。
在测试时,kNN-LM接受一个输入上下文,并为下一个单词和上下文表示生成一个输出分布。它根据距离函数检索最近的邻居,然后计算邻居上的分布,同时聚合检索到的目标中所有词汇表项出现的概率。
研究人员指出,kNN-LM与任何产生固定大小上下文表示的语言模型都是兼容的。在研究中,这使得基于转换的模型的训练成为可能,该模型基于一个由来自Wikipedia文章的1.03亿个令牌组成的数据集,其中25万个令牌被保留用于开发和测试。
在实验中,kNN-LM在测试时“明显”优于基线,团队将其归因于其对具有隐含相似性概念的上下文的表示函数的学习倾向。kNN-LM增加了一些计算开销,在单个处理器上构建1.03亿个条目的缓存大约需要两个小时,运行验证集大约需要25分钟。但是该团队指出,将模型并行化是“微不足道的”,并且不需要基于GPU的培训。
“一般来说,我们发现kNN-LM最有帮助的例子通常包含罕见的模式,”该研究的合著者写道。例子包括来自训练集的事实知识、名字和近似重复的句子。在这些情况下,分配相似的表示形式的训练和测试实例似乎比隐式记忆模型参数中的下一个单词更容易。”
