Fix 12
This commit is contained in:
parent
1cc2a77fa9
commit
6909b422a4
@ -1,5 +1,20 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
|
||||
"<div class=\"alert alert-block alert-info\">\n",
|
||||
"<h1> Modelowanie języka</h1>\n",
|
||||
"<h2> 12. <i>Model języka oparty na rekurencyjnej sieci neuronowej</i> [wykład]</h2> \n",
|
||||
"<h3> Filip Graliński (2022)</h3>\n",
|
||||
"</div>\n",
|
||||
"\n",
|
||||
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
@ -94,7 +109,7 @@
|
||||
"Zauważmy, że stosowane tutaj podejście jest tożsame z zastosowaniem funkcji typu `fold`\n",
|
||||
"w językach funkcyjnych:\n",
|
||||
"\n",
|
||||
"![img](./09_Rekurencyjny_model_jezyka/fold.png \"Opis funkcji foldl w języku Haskell\")\n",
|
||||
"![img](./12_Rekurencyjny_model_jezyka/fold.png \"Opis funkcji foldl w języku Haskell\")\n",
|
||||
"\n",
|
||||
"W Pythonie odpowiednik `fold` jest funkcja `reduce` z pakietu `functools`:\n",
|
||||
"\n"
|
||||
@ -171,7 +186,7 @@
|
||||
"rekurencyjną, a czasami szerszą klasę sieci rekurencyjnych\n",
|
||||
"obejmujących również sieci GRU czy LSTM (zob. poniżej).\n",
|
||||
"\n",
|
||||
"![img](./09_Rekurencyjny_model_jezyka/rnn.drawio.png \"Schemat prostego modelu języka opartego na zwykłej sieci rekurencyjnych\")\n",
|
||||
"![img](./12_Rekurencyjny_model_jezyka/rnn.drawio.png \"Schemat prostego modelu języka opartego na zwykłej sieci rekurencyjnych\")\n",
|
||||
"\n",
|
||||
"**Uwaga**: powyższy schemat nie obejmuje już „całego” działania sieci,\n",
|
||||
" tylko pojedynczy krok czasowy.\n",
|
||||
@ -258,7 +273,7 @@
|
||||
"\n",
|
||||
"$$\\vec{s_t} = \\Gamma_u \\bullet \\vec{\\xi_t} + (1 - \\Gamma_u) \\bullet \\vec{s_{t-1}}.$$\n",
|
||||
"\n",
|
||||
"Skąd się biorą bramki $\\Gamma_\\gamma$ i $\\Gamma_u$? Również z poprzedniego stanu i z biężacego wyrazu.\n",
|
||||
"Skąd się biorą bramki $\\Gamma_\\gamma$ i $\\Gamma_u$? Również z poprzedniego stanu i z bieżącego wyrazu.\n",
|
||||
"\n",
|
||||
"$$\\Gamma_\\gamma = \\sigma(W_\\gamma[\\vec{s_{t-1}},E(w_t)] + \\vec{b_\\gamma}),$$\n",
|
||||
"\n",
|
||||
@ -302,7 +317,7 @@
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Komórka pamięci modulowana jest za pomocą bramki zapominania ($\\Gamma_f$) i bramki\n",
|
||||
"wejścia ($\\Gamma_i$), bramki te określają na ile uwzględniamy, odpowiednio,\n",
|
||||
"wejścia ($\\Gamma_i$), bramki te określają, na ile uwzględniamy, odpowiednio,\n",
|
||||
"poprzednią wartość komórki pamięci $\\vec{c_{t-1}}$ i wejście, a\n",
|
||||
"właściwie wejście w połączeniu z poprzednim stanem:\n",
|
||||
"\n",
|
||||
@ -405,7 +420,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.2"
|
||||
"version": "3.10.5"
|
||||
},
|
||||
"org": null
|
||||
},
|
@ -53,7 +53,7 @@ Zauważmy, że stosowane tutaj podejście jest tożsame z zastosowaniem funkcji
|
||||
w językach funkcyjnych:
|
||||
|
||||
#+CAPTION: Opis funkcji foldl w języku Haskell
|
||||
[[./09_Rekurencyjny_model_jezyka/fold.png]]
|
||||
[[./12_Rekurencyjny_model_jezyka/fold.png]]
|
||||
|
||||
W Pythonie odpowiednik ~fold~ jest funkcja ~reduce~ z pakietu ~functools~:
|
||||
|
||||
@ -99,7 +99,7 @@ rekurencyjną, a czasami szerszą klasę sieci rekurencyjnych
|
||||
obejmujących również sieci GRU czy LSTM (zob. poniżej).
|
||||
|
||||
#+CAPTION: Schemat prostego modelu języka opartego na zwykłej sieci rekurencyjnych
|
||||
[[./09_Rekurencyjny_model_jezyka/rnn.drawio.png]]
|
||||
[[./12_Rekurencyjny_model_jezyka/rnn.drawio.png]]
|
||||
|
||||
*Uwaga*: powyższy schemat nie obejmuje już „całego” działania sieci,
|
||||
tylko pojedynczy krok czasowy.
|
||||
@ -150,7 +150,7 @@ Ostateczna wartość stanu jest średnią ważoną poprzedniego stanu i bieżąc
|
||||
|
||||
$$\vec{s_t} = \Gamma_u \bullet \vec{\xi_t} + (1 - \Gamma_u) \bullet \vec{s_{t-1}}.$$
|
||||
|
||||
Skąd się biorą bramki $\Gamma_\gamma$ i $\Gamma_u$? Również z poprzedniego stanu i z biężacego wyrazu.
|
||||
Skąd się biorą bramki $\Gamma_\gamma$ i $\Gamma_u$? Również z poprzedniego stanu i z bieżącego wyrazu.
|
||||
|
||||
$$\Gamma_\gamma = \sigma(W_\gamma[\vec{s_{t-1}},E(w_t)] + \vec{b_\gamma}),$$
|
||||
|
||||
@ -170,7 +170,7 @@ niż GRU, jest od niej nieco bardziej skomplikowana.
|
||||
*** Wzory
|
||||
|
||||
Komórka pamięci modulowana jest za pomocą bramki zapominania ($\Gamma_f$) i bramki
|
||||
wejścia ($\Gamma_i$), bramki te określają na ile uwzględniamy, odpowiednio,
|
||||
wejścia ($\Gamma_i$), bramki te określają, na ile uwzględniamy, odpowiednio,
|
||||
poprzednią wartość komórki pamięci $\vec{c_{t-1}}$ i wejście, a
|
||||
właściwie wejście w połączeniu z poprzednim stanem:
|
||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Loading…
Reference in New Issue
Block a user