【NeurIPS2018论文】如何确定词向量嵌入表示的维数?斯坦福提出一种快速选择方法
词嵌入模型得到的词向量用途广泛、使用灵活,被应用于许多NLP任务中。很多NLP任务的模型,甚至是建立在词嵌入模型之上,比如机器翻译、情感分析等。然而,过往并无系统研究词向量维数怎样影响后续应用效果的工作。
斯坦福Zi Yin在NeurIPS 2018的一篇论文“On the Dimensionality of Word Embedding”提供了一种快速选择维数的方法。
直观而言,一方面,词向量维数不能太小,比如仅1维时,向量空间表达能力有限。另一方面,词向量维数也不能太大,否则有可能过拟合。即使不过拟合,考虑到下游任务的输入维数通常是词向量维数,这一线性增长的计算成本将使模型难以训练、调试。
最常用的词向量维数是300,因为Mikolov在他2013年那篇著名的skip-gram Word2Vec model中用到的维数是300。就实践而言,除了这样专制地选择一个维数,也可以通过搜索的办法去寻找一个维度,使得下游任务效果最好。但若搜索空间太小,如grid search的搜索空间,所得解一定是次优的。搜索空间太大,如连续每一个整数均进行词向量训练,则计算成本无法控制,且针对不同的下游任务,均需重启搜索。况且,全空间实际上是不能在有限时间被遍历的。
这些实际观察,启发作者发展一套崭新的理论去指导词向量维数的选择。下面就来说明该理论的两个基本前提。
对于某一词向量矩阵经过酉变换得到的新矩阵,即左乘酉矩阵U(UU^T=I),我们认为它和原始词向量矩阵等价,仍然可以用作词向量。这一认识的关键在于,酉变换保持向量内积不变。而在词向量的假设中,两个词向量具体的数值不重要,而只有内积是关注的重点,因为内积表明了两个词向量对应的词之间的相似关系。既然旋转坐标轴不应该改变词之间的相似关系,那么酉变换对于词向量而言就应该是一个等价变换。该文所提出的衡量词向量效果的指标,就考虑了酉变换不变性这一点。
很多词嵌入模型都显示或隐式地对某个信号矩阵进行SVD分解。尤其是,skip-gram Word2Vec model 被证明等价于对PMI矩阵M的分解(Levy &Goldberg,2014)。一种等价的得到词向量算法是,首先对M做SVD分解M=UDV^T,然后将左乘矩阵U截取k维,并左乘D的前k维方阵的1/2次方,就得到词表每一项的词向量所构成的矩阵。这里的k,即为词向量维数。次方指数取1/2,是为了满足对称性需要。该文将说明,次方指数能够调节词向量模型的鲁棒性。
PIP损失(PIP loss),即Pairwise Inner Product loss,是该文基于如上两点所提出的一种损失度量,用于评判某次训练出的词向量的好坏。它在酉变换下不变,并且是一个基于矩阵的loss。具体而言,定义PIP矩阵为词向量矩阵E和它自己转置的积,即PIP(E) = EE^T,从而可以定义两个词向量矩阵E和F之间的PIP损失(也可视为距离)为 ||PIP(E) – PIP(F)||,其中的范数是F-范数(即展平矩阵后的向量的2-范数)。
下文将阐述本文章主要的理论结果。假设有一个真实信号矩阵M,那么基于分解M得到的d维词向量矩阵E是最优的。但实际观察到的矩阵ilde{M}=M+Z,其中加上了均值为0、方差为sigma的噪声矩阵。我们只能对ilde{M}进行分解,得到不完美的k维词向量矩阵hat{E}。相对应的算法可描述如下面几个式子:
我们可以利用PIP损失来度量该估计值和真值之间的误差。该文证明:
当alpha=0时,有
当alpha在(0,1)时,有
可以看到,当维数k取得太小,会扔掉真实M谱分解的大量信号,即第一项很大;而当维数k取得太大,虽然保留了更多的原始信号,又会引入更多的随机噪声,即第一项减小时,余下的项变大。这样,最优的维数k应该是取某个中间的合适的值,以权衡偏差-方差。
分析PIP损失的上界可以得知,偏差项(第一项)的指数为正(4alpha),根号内求和由最大特征值决定数量级。因此,当词向量维数k已经很大时,剩余的最大特征值也已经很小,增加k能减小的偏差是很小的。另一方面,方差项(第二项)的指数却是4alpha-2,从而当alpha小于0.5,特别的,alpha趋于0时,再增加k,这一项可能变得非常庞大,因为此时根号内求和是由最小特征值决定数量级的。从而可以得出结论,alpha越大越鲁棒。实验验证如下图。
特别是skip-gram Word2Vec model的alpha是0.5,恰好能保证一个亚线性增长的PIP损失上界,即这个模型能在一定程度上防过拟合,即增加维度k不会显著伤害模型表现。实际实验结果也符合上述推论,如下图。
实际数据中我们无法得知真实M和噪声矩阵Z,而只观察到二者之和。该文提出可以利用统计方法来分别估计二者,用一些统计方法,可以估计噪声方差和真实信号矩阵M的各个特征值如下
其中ilde{M}_1和ilde{M}_2是对原始矩阵ilde{M}的一个随机划分。得到估计值以后,我们可以选择与真实词向量矩阵间PIP损失最小的估计词向量矩阵的维数(注意,真实词向量矩阵是基于如上估计值得到的)。
注意,用PIP损失选择最优词向量维数的优势就在于,不必再训练后续的任务,回头来判断哪个维数最优,而只需要计算矩阵间距离(PIP损失)。可以看下面一个例子。在WS353,MT771和Analogy三个任务上,使用后续任务表现来选择最优维数,其数值分别为56,102和220。可以看到,不同任务会被选择出不同的最优维数,而这些维数都落在和最优PIP损失差距为5%的区间内,即[67,218]。
参考文献:
Zi Yin, Yuanyuan Shen. On the Dimensionality of Word Embedding. NeurIPS2018.
AI Time第三期6月28日下午三点-五点于海淀区中关村东路搜狐大厦二楼1911(清华科技园)举行,我们邀请到了加州大学洛杉矶分校(UCLA)副教授孙怡舟、加拿大蒙特利尔学习算法研究所 (MILA)研究员唐建和中科院自动化所副研究员刘康来论道知识图谱:“知识决定智能还是智能产生知识”。
赶快戳下方小程序进入报名通道!
学术头条已建立AI Time交流群,想进群的同学请扫描下方二维码,若群满请加学术君微信:AMiner308,记得备注:AT