GloVe 损失函数推导过程

  1. 首先定义共现词频矩阵X,\(\widetilde{v_{i}}\)\(\widetilde{v_{k}}\)表示词i和词k的上下文词向量(context vector),其中元素\(x_{ij}\)为词j出现在词i的环境的次数。令\(x_{i}=\sum_{k}^{ }x_{ik}\)为任意词出现在词i的环境的次数,那么\(P_{ij}=P(j|i)=\frac{x_{ij}}{x_{i}}\)为词j出现在词i的环境的概率,这一概率也称词i和词j的共现概率。
  2. GloVe 试图用有关词向量的函数f来表达共现概率比值,即\(f(v_{i},v_{j},\widetilde{v}_{k})=\frac{P_{ik}}{P_{jk}}\),首先用向量之差来表达共现概率的比值,并将其改写为\(f(v_{i}-v_{j},\widetilde{v}_{k})=\frac{P_{ik}}{P_{jk}}\)。
    • 依据:这种改写基于词向量的性质和对词之间关系的理解。词向量空间中,两个词向量的差可以表示它们之间的语义差异。在 GloVe 模型的假设下,认为共现概率比值\(\frac{P_{ik}}{P_{jk}}\)主要与词i和词j相对于词k的语义差异有关,而这种语义差异可以用它们的词向量之差\(v_{i}-v_{j}\)来表示。所以可以将函数f的自变量从\((v_{i},v_{j},\widetilde{v}_{k})\)改写为\((v_{i}-v_{j},\widetilde{v}_{k})\),即\(f(v_{i}-v_{j},\widetilde{v}_{k})=\frac{P_{ik}}{P_{jk}}\)。
  3. 由于共现概率比值是一个标量,使用向量之间的内积把函数f的自变量进一步改写为\(f((v_{i}-v_{j})^{T}\widetilde{v}_{k})=\frac{P_{ik}}{P_{jk}}\)。
    • 依据:因为共现概率比值\(\frac{P_{ik}}{P_{jk}}\)是一个标量,而向量之间的内积运算结果也是标量。\((v_{i}-v_{j})^{T}\widetilde{v}_{k}\)表示向量\(v_{i}-v_{j}\)与向量\(\widetilde{v}_{k}\)的内积,它可以作为一个标量来反映词i、j与词k之间的某种量化关系,这种关系与共现概率比值所表达的词之间的语义关系存在一定的对应性。通过内积运算,可以将两个向量的信息整合为一个标量值,从而用这个标量值来表示共现概率比值,所以可以将函数f的自变量进一步改写为\((v_{i}-v_{j})^{T}\widetilde{v}_{k}\),得到\(f((v_{i}-v_{j})^{T}\widetilde{v}_{k})=\frac{P_{ik}}{P_{jk}}\)。
  4. 假设任意词作为中心词和背景词的词向量相等,即对任意词i,\(v_{i}=\widetilde{v_{i}}\),且词与词之间共现次数矩阵X对称,即对任意词i和j,\(x_{ij}=x_{ji}\),可得到\(f((v_{i}-v_{j})^{T}\widetilde{v}_{k})=\frac{f(v_{i}^{T}\widetilde{v_{k}})}{f(v_{j}^{T}\widetilde{v_{k}})}\),并推出\(f(x)=exp(x)\)。
  5. 由此可得\(exp(v_{i}^{T}\widetilde{v_{k}})=P_{ik}=\frac{x_{ik}}{x_{i}}\),进一步得到\(v_{i}^{T}\widetilde{v_{k}}=log(x_{ik}) - log(x_{i})\)。
  6. \(log(x_{i})\)替换成两个偏移项之和\(b_{i}+b_{k}\),则有\(v_{i}^{T}\widetilde{v_{k}}=log(x_{ik}) - b_{i}-b_{k}\)。
  7. 对于任意一对词i和j,用它们词向量表达共现概率比值最终可以被简化为表达它们共现词频的对数,即\(v_{i}^{T}\widetilde{v_{j}}+b_{i}+b_{j}=log(x_{ij})\)。
  8. 给定词典大小V和权重函数\(f(x_{ij})\),定义损失函数为\(\sum_{i,j=1}^{V}f(x_{ij})(v_{i}^{T}\widetilde{v_{j}}+b_{i}+b_{j}-log(x_{ij}))^{2}\)。

使用变量代替概率的原因

  • 更好地捕捉词间关系1:共现概率的比值能更直观地表达词之间的关系,而概率本身在反映词与词之间的语义相关性等方面存在不足。例如,某些高频词的共现概率可能会对相似性测量产生不成比例的影响,而使用共现概率比值可以避免这种问题,更准确地捕捉词之间的细微关系。
  • 避免概率分布的局限性:交叉熵误差等基于概率分布的距离度量对不太可能发生的事件给予了过多权重,可能导致模型对低频事件过度关注,而忽略了更常见、更具代表性的词间关系。使用变量代替概率可以摆脱概率分布的一些限制,采用更灵活的方式来衡量词向量与共现信息之间的关系。
  • 简化计算和模型训练:直接使用共现次数等变量,并对其取对数等操作,在计算上相对简单,而且可以使模型更容易收敛。相比之下,处理复杂的概率分布和相关的计算可能会增加模型的训练难度和计算成本
posted @ 2025-04-08 21:30  有何m不可  阅读(54)  评论(0)    收藏  举报