word2vec에서 교차 엔트로피 손실의 유도


10

cs224d 온라인 스탠포드 클래스 코스 자료 의 첫 번째 문제 세트 를 통해 노력 하고 있는데 문제 3A와 관련하여 문제가 있습니다. softmax 예측 함수 및 교차 엔트로피 손실 함수와 함께 스킵 그램 word2vec 모델을 사용할 때 예측 된 단어 벡터에 대한 기울기를 계산하려고합니다. 따라서 softmax 기능이 주어집니다.

wi^=Pr(wordir^,w)=exp(wiTr^)j|V|exp(wjTr^)

교차 엔트로피 기능 :

CE(w,w^)=kwklog(wk^)

\ frac {\ partial {CE}} {\ partial {\ hat {r}}}을 ( 를) 계산해야합니다.CEr^

내 단계는 다음과 같습니다.

CE(w,w^)=k|V|wklog(exp(wkTr^)j|V|exp(wjTr^))

=k|V|wklog(exp(wkTr^)wklog(j|V|exp(wjTr^))

이제 wk 는 하나의 핫 벡터이며 i는 올바른 클래스입니다.

CE(w,w^)=wiTr^+log(j|V|exp(wjTr^))

CEr^=wi+1j|V|exp(wjTr^)j|V|exp(wjTr^)wj

이것이 맞습니까? 아니면 더 단순화 할 수 있습니까? 문제 세트 솔루션이 온라인에 게시되지 않았으므로 올바른 방향으로 가고 있는지 확인하고 싶습니다. 또한 프로그래밍 과제를 올바르게 수행하려면 서면 과제를 올바르게받는 것이 중요합니다.


질문에 자기 학습 태그를 추가하십시오
Dawny33

첫 번째 로그 ID의 두 번째 빼기 부호는 플러스 여야합니다. 문제를 해결하려고했지만 수정 사항은 6 자 이상이어야합니다 : \
FatalMojo

답변:


7

CEr^=wi+1j|V|exp(wjTr^)j|V|exp(wjTr^)wj
는 로 다시 쓸 수 있습니다. 참고로, 합계는 j로 색인화되지만 실제로는 2 개의 다른 변수 여야합니다. 이것은 더 적합합니다 번역
CEr^=wi+j|V|(exp(wjr^)j|V|exp(wjTr^)wj)
CEr^=wi+x|V|(exp(wxr^)j|V|exp(wjTr^)wx)
CEr^=wi+x|V|Pr(wordxr^,w)wx

1
이와 관련하여 그는 강의 2 @ 38:00
FatalMojo에서

합계를 다른 변수로 색인화해야하는 이유는 무엇입니까?
Yamaneko

1
혼란을 피하기 위해. 수학적으로 같은 의미이지만 새 합계를 추가 할 때 인덱스 레이블을 변경하는 것이 좋습니다.
FatalMojo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.