最小熵原理系列:词向量的维度应该怎么选择?

©PaperWeekly 原创 · 做者|苏剑林
微信

单位|追一科技网络

研究方向|NLP、神经网络svg

随着 NLP 的发展,像 Word2Vec、Glove 这样的词向量模型,正逐渐地被基于 Transformer 的 BERT 等模型代替,不过经典始终是经典,词向量模型依然在很多场景发光发热,而且仍有很多值得咱们去研究的地方。本文咱们来关心一个词向量模型可能有的疑惑:词向量的维度大概多少才够?函数

先说结论,笔者给出的估算结果是:学习

更简约的话能够直接记 ,其中 N 是词表大小,n 就是词向量维度, 是天然对数。当 n 超过这个阈值时,就说明模型有足够的容量容纳这 N 个词语(固然 n 越大过拟合风险也越大)。ui

这样一来,当 N=100000 时,获得的 n 大约是 96,因此对于 10 万个词的词向量模型来讲,维度选择 96 就足够了;若是要容纳 500 万个词,那么 n 大概就是 128。编码

背景人工智能

之因此想起这个问题,是由于昨天在 Arxiv 上刷到了论文 Word2vec Skip-gram Dimensionality Selection via Sequential Normalized Maximum Likelihood [1] ,遗憾的是,从这篇论文中笔者并无找到想要的答案。顺带搜索了一下,发现也有相似文献研究一样的问题,好比 On the Dimensionality of Word Embedding [2] ,但答案依旧不是笔者想要的。spa

为何这样说呢?很显然,这个问题的最标准答案应该是靠反复实验来肯定最优维度,因此不能期望理论分析给出至关精确的答案。3d

咱们平时用到的词向量维度,通常有 6四、100、12八、25六、300 等,不一样的维度之间效果差异其实也没多少,因此笔者只但愿能从最简洁直观的方式推导一下通常词向量模型所须要的维度量级,好比几十或者几百,不该该出现太过复杂的分析。

因为没有找到比较满意的现有结果,所以笔者从最小熵原理角度分析了一下,获得了一个接近本身心中所想的答案。

分析

本文要分析是基于 Skip Gram 思想的词向量模型,多数词向量模型其实都是它的变种,至于 CBOW 类的模型,在以往的实验里,它的表现其实跟 Skip Gram 差很少(尤为是数据量较大时),所以能够认为 Skip Gram 的分析结果应该是通用的。

2.1 最小熵

咱们的出发点是信息熵,咱们知道,熵是不肯定性的度量(参考“熵”不起:从熵、最大熵原理到最大熵模型(一)[3] ),语言自己具备必定的不肯定性,而咱们在用向量编码词语时,编码结果应该要等于甚至小于这种不肯定性,才能保证这种编码是有效的、能充分保留原来语言的信息。因此,咱们要消除不肯定性,也就是要最小熵。

要注意的是,词向量是基于 Skip Gram 模型的,因此咱们要计算的不是词平均熵,而是整个 Skip Gram 模型的平均熵,假设词对 的频率是 ,那么能够估算它的熵为:

不一样的词向量训练目标也有所差别,有些是在拟合联合几率 ,有些是在拟合条件几率 ,但这差异不大,前面说了,本文只是想获得一个概数。因此这里统一假设词向量模型为:

其中 表明两套不一样的词向量(中心词向量、上下文词向量), 表明词 而 表明词 。这时候它的信息熵是:

2.2 采样近似

为了近似计算上式,咱们将求和用采样近似,好比:

这里的 N 是词表大小。同理:

因此咱们有近似:

2.3 分布假设

观察已有的词向量模型,咱们能够发现每一个维度的数值有正有负,绝对值大小通常也比较均匀。在此,咱们不妨假设每一个元素的绝对值大概为 1,那么每一个词向量的模长大体就为 (n 是词向量的维度,也就是咱们要估算的目标,若是以为这个近似不够准确,也能够自行调整)。

而且进一步假设全部的词向量均匀分布在半径为 的 n 维超球面上,那么 , 是它们的夹角,因此:

如今 至关于 n 维空间中任意两个向量的夹角,咱们在 n 维空间下两个随机向量的夹角分布 [4] 中就求出了它的分布为:

既然几率密度函数都肯定了,那么对于给定的 N 和 n,近似式(8)是彻底能够数值计算出来的,而由 即可以解出对应的 n。

2.4 结果对比

首先咱们数值计算出

的一些结果:

那么好比 n=64,N=100000,就有 。读者可能会以为奇怪,当 n=128,N=100000时,H 不就是负数了?离散熵怎么多是负数?

事实上,这是由于咱们在前面的推导过程当中,使用了采样近似和精确积分相结合的方式,当空间维数 n 足够大时,就算你采样几十万个样本也不必定能准确估计一些统计量,因此采样近似这一步带来了偏差。

不过这却是给咱们另一个肯定n的思路:当出现 H < 0 时,说明 N 个样本已经没法对统计量作很好地估计了,那么反过来讲就是此时的n维空间要容纳 N 个样本是“绰绰有余”的

所以,咱们能够用 H < 0 简单肯定一个边界,而不须要去估算 。(或者从另一个角度想: 必定是大于 0 的,所以 H < 0 是 的充分条件。)

最后,咱们看到 关于 n 大概是线性的, ,所以 ,让它小于 0 咱们能够解出公式(1)了。

小结

本文从最小熵原理的思想出发分析了词向量的维度选择问题,最终给出了一个近似的估算公式,计算结果代表该估算公式与咱们以往的炼丹经验是相符的。

参考文献

[1] https://arxiv.org/abs/2008.07720

[2] https://arxiv.org/abs/1812.04224

[3] https://kexue.fm/archives/3534

[4] https://kexue.fm/archives/7076

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许能够成为一座桥梁,促使不一样背景、不一样方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或我的,在咱们的平台上分享各种优质内容,能够是最新论文解读,也能够是学习心得技术干货。咱们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系我的原创做品,来稿需注明做者我的信息(姓名+学校/工做单位+学历/职位+研究方向) 

• 若是文章并不是首发,请在投稿时提醒并附上全部已发布连接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 全部文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便咱们在编辑发布时和做者沟通

????

如今,在「知乎」也能找到咱们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅咱们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。若是你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。