Najpierw nakreślmy, co mamy i nasze założenia dotyczące kształtów różnych wektorów. Pozwolić,
- | W.|być liczbą słów w słownictwie
- y i są wektorami kolumnowymi o kształciex 1y^| W.|
- uja i będą wektorami kolumnowymi kształtu X 1 ( = wymiar osadzenia)vjotrere
- y będzie zakodowanym na gorąco wektorem kolumny o kształciex 1| W.|
- y^ być wektorem kolumny predykcji softmax kształtux 1| W.|
- y^ja= P( i | c ) =e x p (uT.javdo)∑W.w = 1e x p (uT.wvdo)
- Strata entropii krzyżowej:jot= -∑W.i = 1yjal o g(yja^)
- U= [u1,u2), . . . ,uk, . . .uW.] być macierzą złożoną z wektorów kolumnowych .uk
Teraz możemy napisać
Uproszczenie,
Teraz wiemy, że jest zakodowane jednorazowo, więc wszystkie jego elementy są równe zero, z wyjątkiem jednego, powiedzmy, indeksu . Co oznacza, że w powyższym podsumowaniu jest tylko jeden niezerowy wyraz odpowiadający a wszystkie inne wyrażenia w podsumowaniu są zerami. Koszt można więc zapisać również jako:
Uwaga: powyżej wynosi 1.
jot= -∑i = 1W.yjal o g(e x p (uT.javdo)∑W.w = 1e x p (uT.wvdo))
jot= -∑i = 1W.yja[uT.javdo- l o g(∑w =1W.e xp (uT.wvdo) ) ]
ykt godzykjot= -yk[uT.kvdo- l og(∑w = 1W.e x p (uT.wvdo) ) ]
yk
Rozwiązywanie dla :
∂jot∂vdo
∂jot∂vdo= - [uk-∑W.w = 1e x p (uT.wvdo)uw∑W.x = 1e x p (uT.xvdo)]
Które można zmienić za pomocą:
Korzystając z definicji (6), możemy przepisać powyższe równanie jako:
∂jot∂vdo=∑w = 1W.(e x p (uT.wvdo)∑W.x = 1e x p(uT.xvdo)uw)-uk
∂jot∂vdo=∑w = 1W.(y^wuw) -uk
Zobaczmy teraz, jak można to zapisać w notacji Matrix.
- uk można zapisać jako mnożenie wektora macierzy:U.y
- A to liniowa transformacja wektorów w skalowana odpowiednio przez . To znowu można zapisać jako∑Ww=1(y^wuw)uwUy^wU.y^
Całość można więc zwięźle napisać jako:
U[y^−y]
Na koniec zauważ, że założyliśmy, że to wektory kolumnowe. Gdybyśmy zaczęli od wektorów wierszowych, otrzymalibyśmy , tak jak to, czego szukaliście.uiUT[y^−y]