词嵌入和矩阵分解的统一

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 探究词嵌入与矩阵分解之间的关系。

2018年对于自然语言处理(Natural Language Processing, NPL)是极有意义的一年,这一年出现了许多新的研究方向和尖端成果。在学术界和工业界,由于带有上下文的嵌入模型对内存和硬件的要求极高,预先训练词嵌入的使用仍然十分普遍。

SGNS and Matrix Factorization
You shall know a word by the company it keeps. (Firth, 1957)
正如Firth所言,词义的确定需要结合它与其它词语之间的搭配关系,他所说的“company”指的就是与某一词语同现的搭配词语。构建预先训练词嵌入的优势在于,其向量表示能够反映通用语言信息,这些信息对后续任务的开展有很大的帮助。对于NLP而言,通过创建单词的词嵌入向量,能够预测可能会出现在该单词周围的单词。

Skip-Gram with Negative Sampling (SGNS)
SGNS作为一种神经网络模型受到了广泛的关注,其目的是预测给定当前单词的所有上下文单词。在下图中,我们将通过单词“a”,对“am”,“I”,“neural”,“network”等单词进行预测。词汇量的大小及单词的顺序决定了,对一个单词,我们都会产生million-dimensional预测向量,并且需要在整个辞典上计算全部词向量和当前中心词的点积,这个计算量太大了。

SGNS的提出者引入了“负采样(negative sampling)”来解决这一问题。其思想就是,做一个负样本,可以理解成随机语料。于是每次训练的时候,我们就有一个正样本和若干个负样本,我们让正样本的预测概率尽可能大,而让负样本预测概率尽可能小,通过负样本的引入,将本来建立在整个辞典上的一个|V|分类问题,转换成一个建模在正负样本上的一个二分类问题。

1

SGNS的基本过程大致如上图所示,但当对输出层使用softmax函数时,需要用单词的上下文嵌入(context embedding)矩阵C乘以输入单词的词嵌入矩阵W,该图在这一点上未能清楚描述。

对输出层采用softmax函数,其计算量过大。负采样(negative sampling)的引入能够有效缓解这个问题。不同于原来每个训练样本更新所有的权重,负采样每次让一个训练样本仅仅更新一部分的权重,降低了梯度下降过程中的计算量。

SGNS其实是一种隐式的矩阵分解
接下来我们将提出一个不同的概念框架来理解Word2vec,在深入讨论细节之前,让我们先形式化一些符号:

  • Sigma (σ) :常用的逻辑回归函数
  • 输入单词的词嵌入矩阵W,其它上下文单词的词嵌入矩阵C。值得注意的是,Word2vec和GloVe一样,需要单独的单词和上下文嵌入,即使它们对应相同的词汇表。这与逻辑回归中将特征向量(单词)与学习的权重向量(上下文)分离是同一个道理。

下面公式中的求和符号表明,通过噪声分布U近似抽取k个负样本。
SGNS的目标函数如下所示:

1

损失函数需要帮我们完成以下任务:(1)最大化矩阵W与C的点积;(2)最小化矩阵W和随机采样k的点积。
但是目标函数并未包含上下文窗口,其大小是一个超参数。下图可以更好的代表SGNS:

1

从图中可以看出,SGNS并未做任何预测。这个模型和上面的损失函数准确地描述了随机梯度下降过程中采样的每一步嵌入情况。通俗来讲,每次模型读取一个单词并查看它周围的上下文时,我们都能确切地捕捉它的学习过程。然而它看上去更像是一个自然语言处理的工具,而不是一个基于神经网络的学习算法。

Levy & Goldberg: Local Prediction is Global Approximation
Levy和Goldberg从理论上证明了Word2Vec其实近似等价于矩阵分解(Matrix Factorization),甚至能够说SGNS就是一种隐式的矩阵分解,类似于GloVe和singular value decomposition。
PMI矩阵的计算如下所示:

1

k是一个超参数,表示负采样的数量(默认值为15)
点间互信息(Pointwise Mutual Information,PMI)是NLP中用得很多的信息度量指标,主要用于计算词语间的语义相似度,基本思想是统计两个词语在文本中同时出现的概率,如果概率越大,其相关性就越紧密,关联度越高。例如,“costa”和“rica”之间就拥有较高的PMI值,因为你看见其中一个单词的时候,会有很大概率想起另一个单词。PMI的定义如下所示,值得注意的是,如果语料库中从未出现单词-上下文对,那么他们之间的P(i,j)=0,其PMI值为log(0),或者负无穷。

1

Levy和Goldberg表示,Word2vec就是隐式的矩阵分解。SGNS能够将单词和其对应的上下文嵌入到一起,这样计算得到的点积可以表示它们同时出现的可能性。

只要做到以下几点,我们就能用矩阵分解算法来实现SGNS:
1、 根据语料库,预先计算正确的PMI矩阵
2、 找到对应的损失函数

在发现SGNS其实就是隐式的矩阵分解后,Levy和Goldberg尝试利用显式矩阵分解表示SGNS,如下:
1、 由于PMI矩阵是个稠密矩阵,还会有很多不好处理的缺失值,而且把缺失值写成0也会有问题,所以分解Positive PMI会更合理,也就是把所有非正值都变成0:PPMI(x) = max(0, PMI(x))
2、 直接用SVD分解,SVD在复原PMI或类似矩阵方面效果非常好,而且不用调优任何参数。

但该方法并不能很好的代替SGNS。原因在与(1)没有使用shifted PMI矩阵;(2)没有找到正确的损失函数。


作者信息

Kian Kenyon-Dean

本文由阿里云云栖社区组织翻译。
文章原标题《Unifying Word Embeddings and Matrix Factorization — Part 1》,译者:Elaine,审校:袁虎。
文章简译,更为详细的内容,请查看原文

相关文章
|
7月前
|
机器学习/深度学习 人工智能 算法
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
159 0
|
7月前
|
机器学习/深度学习 算法 机器人
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
|
2月前
|
机器学习/深度学习 算法 数据挖掘
稀疏促进动态模态分解(SPDMD)详细介绍以及应用
稀疏促进动态模态分解(SPDMD)结合了动态模态分解(DMD)的数学优雅性和稀疏优化技术,有效提取高维数据中的关键特征。SPDMD通过稀疏约束自动筛选出最重要模态,去除冗余信息,提升模型的可解释性和计算效率。该方法在流体动力学、图像处理、时间序列分析及金融数据等领域广泛应用,能够识别主要趋势、周期性模式及异常现象。SPDMD不仅提高了数据分析效率,还为各领域研究提供了强有力的工具。通过自动选择最相关的模态,SPDMD尤其适用于大规模数据集和实时应用。
78 4
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
基于Mamba架构的,状态空间音频分类模型AUM
【8月更文挑战第7天】随着AI技术的发展,音频分类在诸多领域变得至关重要。传统方法如CNN面临计算成本高的问题。新兴的Mamba架构,基于状态空间模型(SSM),展示出优秀性能。受此启发,研究者开发了Audio Mamba (AUM)模型,首个完全基于SSM且不依赖自注意力机制的音频分类模型。AUM利用SSM的高效性捕捉音频时频特征,大幅降低计算复杂度,尤其适合大规模数据。实验显示,AUM在多个任务上的表现与先进自注意力模型相当甚至更好。尽管如此,AUM在复杂任务及泛化能力方面仍存在讨论空间。[论文](https://arxiv.org/abs/2406.03344)
88 1
|
6月前
|
机器学习/深度学习 算法 vr&ar
Theta方法:一种时间序列分解与预测的简化方法
Theta方法整合了两个基本概念:分解时间序列和利用基本预测技术来估计未来的价值。
169 0
|
7月前
|
算法 数据可视化 前端开发
r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化(下)
r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化
|
7月前
|
算法 数据可视化 数据挖掘
r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化(上)
r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化
|
人工智能
sMLP:稀疏全mlp进行高效语言建模
论文提出了sMLP,通过设计确定性路由和部分预测来解决下游任务方面的问题。
125 3
|
机器学习/深度学习 算法 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(1)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力
161 0
|
算法 数据挖掘 计算机视觉
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力(2)
在对比学习中引入显式跨图像相似度建模能力,中南大学显著提高无监督表征的泛化能力
153 0