摘自这篇文章:https : //stats.stackexchange.com/a/245452/154812
问题
使用“标准”神经网络学习单词向量存在一些问题。以此方式,在网络学习在给定单词窗口(网络的输入)的情况下预测下一单词的同时学习单词向量。
预测下一个单词就像预测班级。也就是说,这样的网络仅仅是“标准”多项式(多类)分类器。并且该网络必须具有与类一样多的输出神经元。当类是实际的单词时,神经元的数量是巨大的。
通常使用交叉熵代价函数训练“标准”神经网络,该函数需要输出神经元的值来表示概率-这意味着必须对网络为每个类别计算的输出“分数”进行归一化,转换为每个类别的实际概率。该标准化步骤是通过softmax函数实现的。当将Softmax应用于巨大的输出层时,其成本非常高。
(一)解决方案
为了解决此问题,即softmax的昂贵计算,Word2Vec使用了一种称为噪声对比估计的技术。此技术由[A]引入(由[B]进行了重组),然后在[C],[D],[E]中用于从未标记的自然语言文本中学习单词嵌入。
基本思想是将多项式分类问题(因为这是预测下一个单词的问题)转换为二进制分类问题。也就是说,不是使用softmax来估计输出单词的真实概率分布,而是使用二进制逻辑回归(二进制分类)。
对于每个训练样本,增强型(优化的)分类器被提供一个真对(一个中心词和另一个出现在其上下文中的词)和多个kk随机破坏对(由中心词和一个随机选择的词组成)。词汇)。通过学习区分真对和损坏的对,分类器将最终学习单词向量。
这很重要:优化的分类器不会预测下一个单词(“标准”训练技术),而只是预测一对单词是好是坏。
Word2Vec稍微自定义了该过程,并将其称为否定采样。在Word2Vec中,否定样本的单词(用于损坏的对)是从专门设计的分布中抽取的,这有利于将频率较低的单词更频繁地绘制出来。
参考文献
[A] (2005)-对比估计:针对未标记的数据训练对数线性模型
[B] (2010)-噪声对比估算:非标准化统计模型的新估算原理
[C] (2008)-用于自然语言处理的统一架构:具有多任务学习的深度神经网络
[D] (2012)-一种训练神经概率语言模型的快速简单算法。
[E] (2013)-通过噪声对比估计有效地学习单词嵌入。