GloVe 基本思想

动机

  • 希望能够利用全局信息,而不是局部窗口的信息

    共现概率的比率

  • 比起原始的共现概率,共现概率的比值能够更好地区分相关单词和无关单词

image.png

  • 说明 word vector 学习的起点应该是共现概率的比值,而不是共现概率值本身

    GloVe 基本概念与符号

  • 共现计数矩阵 X

    • Word Vectors - GloVe - 图2:表示单词 j 在单词 i 的上下文中出现的次数
    • Word Vectors - GloVe - 图3:表示在单词 i 的上下文中出现的单词的总次数
  • 共现概率

    • Word Vectors - GloVe - 图4:单词 j 在单词 i 的上下文中出现的概率

      GloVe 的学习目标

      学习对象

  • 共现概率的比值 Word Vectors - GloVe - 图5

    构造模型

  • Word Vectors - GloVe - 图6涉及到 3 个单词:i, j, k,所以模型可以表示为:Word Vectors - GloVe - 图7

  • 因为想要能够编码两个概率的比值信息,在线性空间中,最自然的方法就是做向量的差,所以模型可以进而考虑构造为 Word Vectors - GloVe - 图8
  • 又因为最后的结果是一个具体的数值,所以可以进一步构造为:Word Vectors - GloVe - 图9
  • 因为交换 Word Vectors - GloVe - 图10 后,值应该变为原来的导数,而且当 Word Vectors - GloVe - 图11 时,值为 1。

Word Vectors - GloVe - 图12

  • 由上述的 F 的性质可知 Word Vectors - GloVe - 图13
    • 即:Word Vectors - GloVe - 图14
    • 不过,由于 Word Vectors - GloVe - 图15 应该同样具有对称性,所以,要设法消除 Word Vectors - GloVe - 图16的影响。由于它与 k 无关,所以可以被放在 Word Vectors - GloVe - 图17 的 bias 项 Word Vectors - GloVe - 图18
    • 在此基础上,再为 Word Vectors - GloVe - 图19 引入一个 bias 项 Word Vectors - GloVe - 图20 即可保持对称性。
  • 最终得到:Word Vectors - GloVe - 图21

    损失函数

    基于上述的模型,计算最小均方误差,并对所有的单词取加权和:
    Word Vectors - GloVe - 图22
    权重计算函数 Word Vectors - GloVe - 图23 应该满足:
    image.png
    选择的函数:
    image.png

    GloVe 与其他方法的关系

    Skip-gram 模型

    在 Skip-gram 模型中,建模的概率对象为:
    image.png
    不过,建模的时候,用的是上下文窗口,而不是全部的语料。因此,当考虑全部语料时,隐含的全局损失函数为:
    image.png
    将同样的单词汇总起来,可以得到:
    image.png
    由:Word Vectors - GloVe - 图29 可得:
    image.png
    上述损失函数可以看作是全局的 Skip-gram 模型。不过,交叉熵不是唯一的用来衡量误差的方法,可以考虑用最小均方误差作为衡量。
    使用一个去除分母的正则项的概率来计算最小均方误差:
    Word Vectors - GloVe - 图31
    因为 Word Vectors - GloVe - 图32 通常很大,所以可以考虑取对数后,再优化:
    Word Vectors - GloVe - 图33
    同样,以 Word Vectors - GloVe - 图34 为权重不一定是最优的。引入合适的权重函数,得到的损失函数便是 GloVe 方法中的损失函数:
    Word Vectors - GloVe - 图35