CS224n (Spring 2017) assignment 1-----3. word2vec
注:这种问题首先确定各个变量的维度,然后可以按照正常的标量求导法则进行求导(其实在向量或者tensor的情况下多数是jacobian),根据CS231n中的derivative的维度来确定求导后各个变量的维度,最后调整一下维度,使其与最终导数的维度保持统一。
Vc的第一项写错了,是乘以U0.
就是按照之前推出的公式进行编码
normalize:x每个元素都除以各行平方和的平方根。
softmaxCostAndGradient:
注:np.out()是求两个向量外积的,dot是求内积
negSamplingCostAndGradient:
注:getNegtiveSamples是放回取样,所以,红框中应该是+=
skipgram:
注:在CPU上跑了将近两个半小时,cost小于10以后就减小的很慢,不知道什么原因。