赞
踩
word2vec的初心是什么,为什么使用负采样技术。后面看论文过程经常遇到负采样,如mepath2vec等等,对这个知识点不了解清楚,论文很多精华部分理解就会有偏差了。
看了很多博客和B站视频讲解,还是没有讲解清楚。
最后还是知乎大佬说清楚了。详见
其一 我们每次只对窗口中出现的几个单词参数进行更新,但是在计算梯度的过程中,是对整个参数矩阵进行运算,这样参数矩阵中的大部分值都是0。
其二 是 导致计算效率低下
softmax函数激活,会导致计算全部的单词‘得分’(滑动窗口在滑动过程中,需要计算滑动窗口里面单词然后求和,效率低)
负采样的核心思想是:
计算中心词和窗口中上下文词的真实“得分”,再加一些“噪声”,即词表中的随机词(滑动窗口以外)和中心词的“得分”。
目标方程:
(最大化 真实单词对“得分”+ “噪声”作为目标方程。)
采用上述公式解决了之前说的两个问题:
把最大化问题变为最小化问题:
里面涉及到的变量是 ,
和
.分别进行求偏导即可。然后进行更新
其他参数为不管,看为常量。
其中里面的sigmoid函数(除log外)求导后为:
注意这里的log看着以e为底,T这个求和与无关,k这个求和与
有关.
化简得:
,前面知乎大佬没有进行最大化变最小化,直接就给出了答案,是错的。应该先最小化,在求导,结果才对。
其他参数为不管,看为常量。
按照求导思路:
化简得:
化简得:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。