word2vecのクロスエントロピー損失の導関数
私はcs224dオンラインスタンフォードクラスのコース教材の最初の問題セットを処理しようとしていますが、問題3Aでいくつかの問題があります。ソフトマックス予測関数とクロスエントロピー損失関数でスキップグラムword2vecモデルを使用すると、予測された単語ベクトルに関して勾配を計算したい。したがって、softmax関数が与えられます: wi^=Pr(wordi∣r^,w)=exp(wTir^)∑|V|jexp(wTjr^)wi^=Pr(wordi∣r^,w)=exp(wiTr^)∑j|V|exp(wjTr^) \hat{w_i} = \Pr(word_i\mid\hat{r}, w) = \frac{\exp(w_i^T \hat{r})}{\sum_{j}^{|V|}exp(w_j^T\hat{r})} そしてクロスエントロピー関数: CE(w,w^)=−∑kwklog(wk^)CE(w,w^)=−∑kwklog(wk^)CE(w, \hat{w}) = -\sum\nolimits_{k} w_klog(\hat{w_k}) \ frac {\ partial {CE}} {\ partial {\ hat {r}}}を計算する必要があり∂CE∂r^∂CE∂r^\frac{\partial{CE}}{\partial{\hat{r}}} 私の手順は次のとおりです。 CE(w,w^)=−∑|V|kwklog(exp(wTkr^)∑|V|jexp(wTjr^))CE(w,w^)=−∑k|V|wklog(exp(wkTr^)∑j|V|exp(wjTr^))CE(w, \hat{w}) = -\sum_{k}^{|V|} w_klog(\frac{\exp(w_k^T \hat{r})}{\sum_{j}^{|V|}exp(w_j^T\hat{r})}) =−∑|V|kwklog(exp(wTkr^)−wklog(∑|V|jexp(wTjr^))=−∑k|V|wklog(exp(wkTr^)−wklog(∑j|V|exp(wjTr^))= -\sum_{k}^{|V|} w_klog(\exp(w_k^T \hat{r}) - w_klog(\sum_{j}^{|V|}exp(w_j^T\hat{r})) ここでwkwkw_kは1つのホットベクトルで、iは正しいクラスです。 CE(w,w^)=−wTir^+log(∑|V|jexp(wTjr^))CE(w,w^)=−wiTr^+log(∑j|V|exp(wjTr^))CE(w, \hat{w}) = - w_i^T\hat{r} + log(\sum_{j}^{|V|}exp(w_j^T\hat{r})) ∂CE∂r^=−wi+1∑|V|jexp(wTjr^)∑|V|jexp(wTjr^)wj∂CE∂r^=−wi+1∑j|V|exp(wjTr^)∑j|V|exp(wjTr^)wj\frac{\partial{CE}}{\partial{\hat{r}}} = -w_i + …