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

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

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

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


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

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



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

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

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


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

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


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

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

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

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

softmaxCostAndGradient: 

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

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

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

negSamplingCostAndGradient:

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

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

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

skipgram:

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

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


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

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

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

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


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

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

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

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

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