forked from filipg/aitech-eks-pub
11
This commit is contained in:
parent
1071d5ba44
commit
a004360ec5
1
wyk/11_rnn.ipynb
Normal file
1
wyk/11_rnn.ipynb
Normal file
File diff suppressed because one or more lines are too long
@ -16,7 +16,7 @@ trochę sztuczne, ale uogólnimy to potem w sensowny sposób.
|
|||||||
Po pierwsze, zauważmy, że w wielu schematach wektoryzacji (np. tf), wektor
|
Po pierwsze, zauważmy, że w wielu schematach wektoryzacji (np. tf), wektor
|
||||||
dokumentów jest po prostu sumą wektorów poszczególnych składowych:
|
dokumentów jest po prostu sumą wektorów poszczególnych składowych:
|
||||||
|
|
||||||
$$\vec{v}(d) = \vec{v}(t^1,\ldots,t^K) = \vec{v}(t^1) \+ \ldots + \vec{v}(t^K) = \sum_{k=1}^K \vec{v}(t^i),$$
|
$$\vec{v}(d) = \vec{v}(t^1,\ldots,t^K) = \vec{v}(t^1) + \ldots + \vec{v}(t^K) = \sum_{k=1}^K \vec{v}(t^i),$$
|
||||||
|
|
||||||
gdzie w schemacie tf \vec{v}(t^i) to po prostu wektor /one-hot/ dla słowa.
|
gdzie w schemacie tf \vec{v}(t^i) to po prostu wektor /one-hot/ dla słowa.
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ $$O(\vec{s}) = \vec{w}\vec{s}$$,
|
|||||||
|
|
||||||
gdzie $\vec{w}$ jest wektorem wyuczylnych wag, dla regresji zaś logistycznej:
|
gdzie $\vec{w}$ jest wektorem wyuczylnych wag, dla regresji zaś logistycznej:
|
||||||
|
|
||||||
$$O(\vec{s}) = \OperatorName(softmax)(\vec{w}\vec{s})$$
|
$$O(\vec{s}) = \operatorname{softmax}(\vec{w}\vec{s})$$
|
||||||
|
|
||||||
*Pytanie*: jaką postać przyjmie $O$ dla klasyfikacji wieloklasowej
|
*Pytanie*: jaką postać przyjmie $O$ dla klasyfikacji wieloklasowej
|
||||||
|
|
||||||
@ -255,11 +255,11 @@ Sieć LSTM zawiera 3 bramki:
|
|||||||
Wszystkie trzy bramki definiowane są za pomocą bardzo podobnego wzoru — warstwy liniowej na
|
Wszystkie trzy bramki definiowane są za pomocą bardzo podobnego wzoru — warstwy liniowej na
|
||||||
poprzedniej wartości warstwy ukrytej i bieżącego wejścia.
|
poprzedniej wartości warstwy ukrytej i bieżącego wejścia.
|
||||||
|
|
||||||
$$\vec{i} = \sigma(W_i\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$
|
$$\vec{i} = \sigma(W_i\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$
|
||||||
|
|
||||||
$$\vec{f} = \sigma(W_f\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$
|
$$\vec{f} = \sigma(W_f\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$
|
||||||
|
|
||||||
$$\vec{o} = \sigma(W_f\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$
|
$$\vec{o} = \sigma(W_f\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$
|
||||||
|
|
||||||
Jak widać, wzory różnią się tylko macierzami wag $W_*$.
|
Jak widać, wzory różnią się tylko macierzami wag $W_*$.
|
||||||
|
|
||||||
@ -269,57 +269,17 @@ $$\vec{c^k} = \vec{f} \odot \vec{c^{k-1}} + \vec{i} \vec{z^k}$$,
|
|||||||
|
|
||||||
gdzie
|
gdzie
|
||||||
|
|
||||||
$$\vec{z^k} = \OperatorName{tanh}(W_z\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$
|
$$\vec{z^k} = \operatorname{tanh}(W_z\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$
|
||||||
|
|
||||||
Stan ukryty zmienia się w następujący sposób:
|
Stan ukryty zmienia się w następujący sposób:
|
||||||
|
|
||||||
$$\vec{h^K} = \vec{o} \odot \OperatorName{tanh}(\vec{c^k})$$.
|
$$\vec{h^K} = \vec{o} \odot \operatorname{tanh}(\vec{c^k})$$.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ostateczne wyjście może być wyliczane na podstawie wektora $\vec{h^k}$:
|
||||||
|
|
||||||
|
$$O(\vec{s}) = O(\langle\vec{c},\vec{h}\rangle) = \vec{h}$$
|
||||||
|
|
||||||
|
*Pytanie*: Ile wag/parametrów ma sieć RNN o rozmiarze wejścia $n$ i
|
||||||
|
|
||||||
|
|
||||||
** Literatura
|
** Literatura
|
||||||
|
Loading…
Reference in New Issue
Block a user