CS224n (Spring 2017) assignment 1-----3. word2vec

CS224n (Spring 2017) assignment 1-----3. word2vec_第1张图片

CS224n (Spring 2017) assignment 1-----3. word2vec_第2张图片

注:这种问题首先确定各个变量的维度,然后可以按照正常的标量求导法则进行求导(其实在向量或者tensor的情况下多数是jacobian),根据CS231n中的derivative的维度来确定求导后各个变量的维度,最后调整一下维度,使其与最终导数的维度保持统一。



CS224n (Spring 2017) assignment 1-----3. word2vec_第3张图片



CS224n (Spring 2017) assignment 1-----3. word2vec_第4张图片

CS224n (Spring 2017) assignment 1-----3. word2vec_第5张图片

Vc的第一项写错了,是乘以U0.


CS224n (Spring 2017) assignment 1-----3. word2vec_第6张图片

CS224n (Spring 2017) assignment 1-----3. word2vec_第7张图片


CS224n (Spring 2017) assignment 1-----3. word2vec_第8张图片

就是按照之前推出的公式进行编码

normalize:x每个元素都除以各行平方和的平方根。

CS224n (Spring 2017) assignment 1-----3. word2vec_第9张图片

softmaxCostAndGradient: 



注:np.out()是求两个向量外积的,dot是求内积

negSamplingCostAndGradient:



注:getNegtiveSamples是放回取样,所以,红框中应该是+=

skipgram:












注:在CPU上跑了将近两个半小时,cost小于10以后就减小的很慢,不知道什么原因。


你可能感兴趣的:(CS224n作业)