【问题标题】:The center of a word vector词向量的中心
【发布时间】:2020-04-28 13:44:05
【问题描述】:

我正在研究 NLP,并围绕着通过多层感知器的步骤展开。由于向量是空间中的大小和方向,我很好奇词向量的中心代表什么。在一个非常简单的向量中,我的词可能是 21,-5。 0,0 代表什么?如果不是,它可以在训练模型后代表什么吗?

如果我理解正确,一个以前从未见过的单词将被赋予一个数字标识和一个 M 维向量。然后这个向量传递到第一层,第一层的节点数量与维度一样多,因此在本例中为 M 个节点。通过反向传播改变权重,以便相似的词在向量空间中“组合”在一起。 (这意味着词向量本身永远不会从它们的初始随机值修改,对吗?)如果我在这里做出了错误的假设,请纠正我。我只是欣赏一些见解。

【问题讨论】:

    标签: tensorflow nlp vectorization word2vec dl4j


    【解决方案1】:

    您可以将单词“向量”从数字上视为点。它们都从原点“开始”([0.0, 0.0, 0.0, ..., 0.0])并不是很重要。

    任何这样的向量的“中心”只是它的中点,它也是一个具有相同“方向性”的向量,幅度只有一半。 通常但并非总是,词向量仅根据原始方向进行比较,不是幅度,通过“余弦相似度”,本质上是一个差异角度忽略长度/大小的计算。 (所以,cosine_similarity(a, b) 将与 cosine_similarity(a/2, b)cosine_similarity(a, b*4) 等相同。)因此,您所询问的这个“中心”/半长实例通常没有其他意义,它带有词向量,而不是其他矢量模型。通常,只要您使用余弦相似度作为比较向量的主要方法,将它们移近原点是无关紧要的。所以,在那个框架中,原点并没有真正的明确含义。

    关于幅度的警告:由 word2vec 训练创建的实际原始向量实际上具有各种幅度。一些人观察到,这些量级有时与有趣的单词差异相关——例如,高度多义词(具有许多替代含义)通常比具有一种主要含义的单词的量级低——因为需要在替代上下文中“做一些有用的事情”在训练期间将向量拉到两个极端之间,使其更加“处于中间”。虽然逐词比较通常会因为纯粹的角余弦相似度而忽略这些量级,但有时下游使用(例如文本分类)可能会逐渐更好地保持原始量级。

    关于原点的警告:至少有一篇论文,“All-but-the-Top: Simple and Effective Postprocessing for Word Representations”,由 Mu、Bhat 和 Viswanath 撰写,观察到通常所有词向量的“平均值”不是原点,但明显偏向一个方向——这(在我的程式化理解中)有点让整个空间不平衡,就它是否使用“所有角度”来表示含义上的对比而言。 (此外,在我的实验中,这种不平衡的程度似乎是负采样中使用了多少 negative 示例的函数。)他们发现,对向量进行后处理以重新定位它们可以提高某些任务的性能,但我没有看到许多其他项目将此作为标准步骤。 (他们还建议进行一些其他后处理转换,以从本质上“增加最有价值维度的对比度”。)

    关于您的“IIUC”,是的,单词被赋予了起始向量 - 但是这些是随机的,然后通过反向传播微调不断调整,在依次尝试每个训练示例后重复,以使那些作为试图预测附近“目标/中心/输出”词的神经网络的输入,“输入词”向量稍微好一点。调整了网络“内部”/“隐藏”权重,以及input vectors 本身,它们本质上是“投影权重”——从单个词汇的单热表示,“到”M 个不同的内部隐藏——层节点。也就是说,每个“词向量”本质上都是神经网络内部权重的特定词子集。

    【讨论】:

      【解决方案2】:

      添加到 Radim 的答案 - 关于 0 向量(原点),需要注意的是,虽然 0 向量是 数学领域 的一部分, R^d,即 d 维的笛卡尔(嵌入)空间,具有加法和标量乘法的常用向量空间操作,从实际的角度来看,你可能永远不会遇到 0 向量

      这是因为一个词的参数(它的向量表示)是用随机梯度下降形式更新的

      w(t+1)_j <-- w(t)_j + (error)*input_j, 
      

      即,给定单词的权重向量的第 j 个分量根据预测其上下文的误差进行更新,(input_j 是单词初始编码的第 j 个分量),不太可能 所有这些参数对于任何单词都会收敛到 0

      因此,尽管从理论的角度来看,0 向量可能是有意义的,但从实际的角度来看,它绝不是嵌入空间的一部分(即它本身不是一个词,也不太可能是你会得到 0 向量作为一组单词的质心出现)。

      【讨论】:

        猜你喜欢
        • 2013-06-16
        • 2015-02-08
        • 1970-01-01
        • 2020-06-28
        • 2017-11-08
        • 1970-01-01
        • 2013-04-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多