1
skipgram word2vec的渐变
我正在研究斯坦福大学NLP深度学习班的书面作业问题,网址为http://cs224d.stanford.edu/assignment1/assignment1_soln 我试图了解3a的答案,他们正在寻找中心词向量的导数。 假设你被给予预测的字向量对应于中心字Ç为skipgram,和字预测与在word2vec模型中发现的功能SOFTMAX制成。vcvcv_{c} y^o=p(o|c)=exp(uTovc)∑Ww=1exp(uTwvc)y^o=p(o|c)=exp(uoTvc)∑w=1Wexp(uwTvc)\hat{y}^{o} = p(o | c) = \frac {exp(u_{o}^{T} v_{c})}{\sum_{w=1}^{W}exp(u_{w}^{T} v_{c})} 其中w表示第w个单词,而(w = 1,...,W)是词汇表中所有单词的“输出”单词向量。假定将交叉熵成本应用于此预测,并且单词o是预期单词。uwuwu_w 其中是所有的输出向量的矩阵,并让ÿ是词的SOFTMAX预测的列向量,并且ÿ是独热标签,该标签也是列向量。U=[u1,u2,⋅⋅⋅,uW]U=[u1,u2,···,uW]U = [u_1,u_2, · · · ,u_W ]y^y^\hat{y} 其中交叉熵是CE(y,y^)=−∑iyilog(y^i)CE(y,y^)=−∑iyilog(y^i)CE(y, \hat{y}) = − \sum_iy_i\log(\hat{y}_i) 所以对于梯度为中心矢量答案是∂J∂vc=UT(y^−y).∂J∂vc=UT(y^−y).\frac{∂J}{∂v_c}= U^T(\hat{y} − y). 有人可以告诉我实现此目标的步骤吗?我一直用这个问题作为参考在word2vec交叉熵损失的衍生,但我特别想知道表示。UT(y^−y).UT(y^−y).U^T(\hat{y} − y).