This commit is contained in:
Filip Gralinski 2021-05-26 13:48:10 +02:00
parent 54f52bbc6a
commit 340197a94c
2 changed files with 11 additions and 11 deletions

View File

@ -1533,7 +1533,7 @@
"sportowych powyżej), tzn. rozkład prawdopodobieństwa możliwych etykiet\n",
"uzyskujemy poprzez zastosowanie prostej warstwy liniowej i funkcji softmax:\n",
"\n",
"$$p(l^k=i) = s(W\\vec{v}(t^k))_i = \\frac{e^{W\\vec{v}(t^k)}}{Z},$$\n",
"$$p(l^k=j) = s(W\\vec{v}(t^k))_j = \\frac{e^{(W\\vec{v}(t^k))_j}}{Z},$$\n",
"\n",
"gdzie $\\vec{v}(t^k)$ to reprezentacja wektorowa tokenu $t^k$.\n",
"Zauważmy, że tutaj (w przeciwieństwie do klasyfikacji całego tekstu)\n",
@ -1585,7 +1585,7 @@
"cały kontekst, dla *okna* o długości $c$ będzie to kontekst $t^{k-c},\\dots,t^k,\\dots,t^{k+c}$.\n",
"Innymi słowy klasyfikujemy token na podstawie jego samego oraz jego kontekstu:\n",
"\n",
"$$p(l^k=i) = \\frac{e^{W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c})}}{Z_k}.$$\n",
"$$p(l^k=j) = \\frac{e^{(W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_j}}{Z_k}.$$\n",
"\n",
"Zauważmy, że w tej metodzie w ogóle nie rozpatrujemy sensowności\n",
"sekwencji wyjściowej (etykiet), np. może być bardzo mało\n",
@ -1594,7 +1594,7 @@
"Napiszmy wzór określający prawdopodobieństwo całej sekwencji, nie\n",
"tylko pojedynczego tokenu. Na razie będzie to po prostu iloczyn poszczególnych wartości.\n",
"\n",
"$$p(l) = \\prod_{k=1}^K \\frac{e^{W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c})}}{Z_k} = \\frac{e^{\\sum_{k=1}^KW\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c})}}{\\prod_{k=1}^K Z_k}$$\n",
"$$p(l) = \\prod_{k=1}^K \\frac{e^{(W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_{l^k}}}{Z_k} = \\frac{e^{\\sum_{k=1}^K (W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c})_{l^k})}}{\\prod_{k=1}^K Z_k} $$\n",
"\n",
"Reprezentacja kontekstu może być funkcją embeddingów wyrazów\n",
"(zakładamy, że embedding nie zależy od pozycji słowa).\n",
@ -1631,7 +1631,7 @@
"\n",
"W takiej wersji warunkowych pól losowych otrzymamy następujący wzór na prawdopodobieństwo całej sekwencji.\n",
"\n",
"$$p(l) = \\frac{e^{\\sum_{k=1}^KW\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}) + \\sum_{k=1}^{K-1} V_{l_k,l_{k+1}}}}{\\prod_{k=1}^K Z_k}$$\n",
"$$p(l) = \\frac{e^{\\sum_{k=1}^K (W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_{l^k} + \\sum_{k=1}^{K-1} V_{l^k,l^{k+1}}}}{\\prod_{k=1}^K Z_k}$$\n",
"\n"
]
},

View File

@ -824,7 +824,7 @@ klasyfikacji wieloklasowej (jak w przykładzie klasyfikacji dyscyplin
sportowych powyżej), tzn. rozkład prawdopodobieństwa możliwych etykiet
uzyskujemy poprzez zastosowanie prostej warstwy liniowej i funkcji softmax:
$$p(l^k=i) = s(W\vec{v}(t^k))_i = \frac{e^{W\vec{v}(t^k)}}{Z},$$
$$p(l^k=j) = s(W\vec{v}(t^k))_j = \frac{e^{(W\vec{v}(t^k))_j}}{Z},$$
gdzie $\vec{v}(t^k)$ to reprezentacja wektorowa tokenu $t^k$.
Zauważmy, że tutaj (w przeciwieństwie do klasyfikacji całego tekstu)
@ -852,7 +852,7 @@ Za pomocą wektora można przedstawić nie pojedynczy token $t^k$, lecz
cały kontekst, dla /okna/ o długości $c$ będzie to kontekst $t^{k-c},\dots,t^k,\dots,t^{k+c}$.
Innymi słowy klasyfikujemy token na podstawie jego samego oraz jego kontekstu:
$$p(l^k=i) = \frac{e^{W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c})}}{Z_k}.$$
$$p(l^k=j) = \frac{e^{(W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_j}}{Z_k}.$$
Zauważmy, że w tej metodzie w ogóle nie rozpatrujemy sensowności
sekwencji wyjściowej (etykiet), np. może być bardzo mało
@ -861,7 +861,7 @@ prawdopodobne, że bezpośrednio po nazwisku występuje data.
Napiszmy wzór określający prawdopodobieństwo całej sekwencji, nie
tylko pojedynczego tokenu. Na razie będzie to po prostu iloczyn poszczególnych wartości.
$$p(l) = \prod_{k=1}^K \frac{e^{W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c})}}{Z_k} = \frac{e^{\sum_{k=1}^KW\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c})}}{\prod_{k=1}^K Z_k}$$
$$p(l) = \prod_{k=1}^K \frac{e^{(W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k}}}{Z_k} = \frac{e^{\sum_{k=1}^K (W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k}}}{\prod_{k=1}^K Z_k}$$
Reprezentacja kontekstu może być funkcją embeddingów wyrazów
(zakładamy, że embedding nie zależy od pozycji słowa).
@ -886,7 +886,7 @@ przyjmować dowolne wartości, które będę normalizowane podobnie, tak jak to
W takiej wersji warunkowych pól losowych otrzymamy następujący wzór na prawdopodobieństwo całej sekwencji.
$$p(l) = \frac{e^{\sum_{k=1}^KW\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}) + \sum_{k=1}^{K-1} V_{l_k,l_{k+1}}}}{\prod_{k=1}^K Z_k}$$
$$p(l) = \frac{e^{\sum_{k=1}^K (W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k} + \sum_{k=1}^{K-1} V_{l^k,l^{k+1}}}}{\prod_{k=1}^K Z_k}$$
** Algorytm Viterbiego
@ -916,7 +916,7 @@ Inicjalizacja:
Dla $i > 1$ i dla każdego $j$ będziemy teraz szukać:
$$\underset{q \in \{1,\dots,|V|}} \operatorname{max} s[i-1, q] + (W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_j + V_{q, j}$$
$$\underset{q \in \{1,\dots,|V|\}}{\operatorname{max}} s[i-1, q] + (W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_j + V_{q, j}$$
Tę wartość przypiszemy do $s[i, j]$, z kolei do $b[i, j]$ — indeks
$q$, dla którego ta największa wartość jest osiągnięta.
@ -924,11 +924,11 @@ $q$, dla którego ta największa wartość jest osiągnięta.
Najpierw obliczenia wykonujemy wprzód wypełniając tabelę dla coraz większych wartości $j$.
W ten sposób otrzymamy największą wartość (nieznormalizowanego) prawdopodobieństwa:
$$\underset{q \in \{1,\dots,|V|}} \operatorname{max} s[K, q]$$
$$\underset{q \in \{1,\dots,|V|\}}{\operatorname{max}} s[K, q]$$
oraz ostatnią etykietę:
$$y^K = \underset{q \in \{1,\dots,|V|}} \operatorname{argmax} s[K, q]$$
$$y^K = \underset{q \in \{1,\dots,|V|\}}{\operatorname{argmax}} s[K, q]$$
Aby uzyskać cały ciąg, kierujemy się /wstecz/ używając wskaźników: