所有文章 > 正文

【NeurIPS2018论文】如何确定词向量嵌入表示的维数?斯坦福提出一种快速选择方法

作者: 江抱石

时间: 2019-06-27 18:52

词嵌入模型得到的词向量用途广泛、使用灵活,被应用于许多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)

PIP损失(PIP loss),即Pairwise Inner Product loss,是该文基于如上两点所提出的一种损失度量,用于评判某次训练出的词向量的好坏。它在酉变换下不变,并且是一个基于矩阵的loss。具体而言,定义PIP矩阵为词向量矩阵E和它自己转置的积,即PIP(E) = EE^T,从而可以定义两个词向量矩阵E和F之间的PIP损失(也可视为距离)为 ||PIP(E) – PIP(F)||,其中的范数是F-范数(即展平矩阵后的向量的2-范数)。

偏差-方差权衡(bias-variance trade-off)

下文将阐述本文章主要的理论结果。假设有一个真实信号矩阵M,那么基于分解M得到的d维词向量矩阵E是最优的。但实际观察到的矩阵\tilde{M}=M+Z,其中加上了均值为0、方差为\sigma的噪声矩阵。我们只能对\tilde{M}进行分解,得到不完美的k维词向量矩阵\hat{E}。相对应的算法可描述如下面几个式子:


我们可以利用PIP损失来度量该估计值和真值之间的误差。该文证明:

当\alpha=0时,有


当\alpha在(0,1)时,


可以看到,当维数k取得太小,会扔掉真实M谱分解的大量信号,即第一项很大;而当维数k取得太大,虽然保留了更多的原始信号,又会引入更多的随机噪声,即第一项减小时,余下的项变大。这样,最优的维数k应该是取某个中间的合适的值,以权衡偏差-方差。

鲁棒性和\alpha

分析PIP损失的上界可以得知,偏差项(第一项)的指数为正(4\alpha),根号内求和由最大特征值决定数量级。因此,当词向量维数k已经很大时,剩余的最大特征值也已经很小,增加k能减小的偏差是很小的。另一方面,方差项(第二项)的指数却是4\alpha-2,从而当\alpha小于0.5,特别的,\alpha趋于0时,再增加k,这一项可能变得非常庞大,因为此时根号内求和是由最小特征值决定数量级的。从而可以得出结论,\alpha越大越鲁棒。实验验证如下图。

特别是,skip-gram Word2Vec model的\alpha是0.5,恰好能保证一个亚线性增长的PIP损失上界,即这个模型能在一定程度上防过拟合,即增加维度k不会显著伤害模型表现。实际实验结果也符合上述推论,如下图。

最优词向量维数

实际数据中我们无法得知真实M和噪声矩阵Z,而只观察到二者之和。该文提出可以利用统计方法来分别估计二者,用一些统计方法,可以估计噪声方差和真实信号矩阵M的各个特征值如下


其中\tilde{M}_1和\tilde{M}_2是对原始矩阵\tilde{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.

[关于转载]:本文为“AMiner”官网文章。转载本文请联系原作者获取授权,转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“AMiner”官网。谢谢您的合作。

二维码 扫码微信阅读
推荐阅读 更多