Fix 12
This commit is contained in:
parent
1cc2a77fa9
commit
6909b422a4
@ -1,5 +1,20 @@
|
|||||||
{
|
{
|
||||||
"cells": [
|
"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",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
@ -94,7 +109,7 @@
|
|||||||
"Zauważmy, że stosowane tutaj podejście jest tożsame z zastosowaniem funkcji typu `fold`\n",
|
"Zauważmy, że stosowane tutaj podejście jest tożsame z zastosowaniem funkcji typu `fold`\n",
|
||||||
"w językach funkcyjnych:\n",
|
"w językach funkcyjnych:\n",
|
||||||
"\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",
|
"\n",
|
||||||
"W Pythonie odpowiednik `fold` jest funkcja `reduce` z pakietu `functools`:\n",
|
"W Pythonie odpowiednik `fold` jest funkcja `reduce` z pakietu `functools`:\n",
|
||||||
"\n"
|
"\n"
|
||||||
@ -171,7 +186,7 @@
|
|||||||
"rekurencyjną, a czasami szerszą klasę sieci rekurencyjnych\n",
|
"rekurencyjną, a czasami szerszą klasę sieci rekurencyjnych\n",
|
||||||
"obejmujących również sieci GRU czy LSTM (zob. poniżej).\n",
|
"obejmujących również sieci GRU czy LSTM (zob. poniżej).\n",
|
||||||
"\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",
|
"\n",
|
||||||
"**Uwaga**: powyższy schemat nie obejmuje już „całego” działania sieci,\n",
|
"**Uwaga**: powyższy schemat nie obejmuje już „całego” działania sieci,\n",
|
||||||
" tylko pojedynczy krok czasowy.\n",
|
" tylko pojedynczy krok czasowy.\n",
|
||||||
@ -258,7 +273,7 @@
|
|||||||
"\n",
|
"\n",
|
||||||
"$$\\vec{s_t} = \\Gamma_u \\bullet \\vec{\\xi_t} + (1 - \\Gamma_u) \\bullet \\vec{s_{t-1}}.$$\n",
|
"$$\\vec{s_t} = \\Gamma_u \\bullet \\vec{\\xi_t} + (1 - \\Gamma_u) \\bullet \\vec{s_{t-1}}.$$\n",
|
||||||
"\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",
|
"\n",
|
||||||
"$$\\Gamma_\\gamma = \\sigma(W_\\gamma[\\vec{s_{t-1}},E(w_t)] + \\vec{b_\\gamma}),$$\n",
|
"$$\\Gamma_\\gamma = \\sigma(W_\\gamma[\\vec{s_{t-1}},E(w_t)] + \\vec{b_\\gamma}),$$\n",
|
||||||
"\n",
|
"\n",
|
||||||
@ -302,7 +317,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"Komórka pamięci modulowana jest za pomocą bramki zapominania ($\\Gamma_f$) i bramki\n",
|
"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",
|
"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",
|
"właściwie wejście w połączeniu z poprzednim stanem:\n",
|
||||||
"\n",
|
"\n",
|
||||||
@ -405,7 +420,7 @@
|
|||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.10.2"
|
"version": "3.10.5"
|
||||||
},
|
},
|
||||||
"org": null
|
"org": null
|
||||||
},
|
},
|
@ -53,7 +53,7 @@ Zauważmy, że stosowane tutaj podejście jest tożsame z zastosowaniem funkcji
|
|||||||
w językach funkcyjnych:
|
w językach funkcyjnych:
|
||||||
|
|
||||||
#+CAPTION: Opis funkcji foldl w języku Haskell
|
#+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~:
|
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).
|
obejmujących również sieci GRU czy LSTM (zob. poniżej).
|
||||||
|
|
||||||
#+CAPTION: Schemat prostego modelu języka opartego na zwykłej sieci rekurencyjnych
|
#+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,
|
*Uwaga*: powyższy schemat nie obejmuje już „całego” działania sieci,
|
||||||
tylko pojedynczy krok czasowy.
|
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}}.$$
|
$$\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}),$$
|
$$\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
|
*** Wzory
|
||||||
|
|
||||||
Komórka pamięci modulowana jest za pomocą bramki zapominania ($\Gamma_f$) i bramki
|
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
|
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:
|
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