Ref 吳尚鴻教授上課影片 from Youtube: https://www.youtube.com/watch?v=2btuy_-Fw3c&list=PLlPcwHqLqJDkVO0zHMqswX1jA9Xw7OSOK
Ref LaTeX Math Symbols: http://web.ift.uib.no/Teori/KURS/WRK/TeX/symALL.html
本篇主要透過數學表達式,來探討 RNN 之架構
Dataset: X \(= \{ {X^{(n)}} \}_n \in \mathbb{R}^{N \times (D,K) \times T}\)
\({X^{(n)}} = \{(x^{(n,t)},y^{(n,t)}) \}_t\)
a sequence, where the superscript \(n\) can be ommited for spimplicy
很多的 x,y pair
\(T\) is call the horizon and may be different between \({x^{(n)}}\) and \({y^{(n)}}\)
注意: x 跟 y 的 horizon 不一定會相同,可能某些時間點才會同時出現 x 跟 y,而某些時間點只有 x
\(y^{(t)}\) depends on \({x^{(1)}, x^{(2)}, ..., x^{(t)} }\)
Output \({a^{(L,t)}}\) depends on hidden activations
\({a^{(k,t)}} = act(z^{(k,t)}) \\
= act(U^{(k)}a^{(k,t-1)}+W^{(k)}a^{(k-1,t)})\)
k 代表第 k 層
t 代表時間點
對於第 k 層的神經元過 activation a() 函式數值的影響,來自於兩個東西:
一個是上一個時間點同為第 k 層神經元所傳送過來的數值 + 這個時間點,前一層 (k-1) 層傳送過來的數值
p.s. 這裏的數學式省略沒寫 Bias 實際上還要加上 Bias 才完整
公式深入探討:
\({a^{(k,t)}} = act(z^{(k,t)}) \\
= act(U^{(k)}a^{(k,t-1)}+W^{(k)}a^{(k-1,t)})\)
U 跟 W 函數當中,並沒有時間的維度,因此 Weights are shared across time instances 不隨著時間改變,U 跟 W 訓練出來後,在所有時間點可以共用
Assumes that the "transition functions" are time invariant
RNN 假設 transition of U, W 不會隨著時間改變
Our goal is to learn \(U^{(k)}\)'s and \(W^{(k)}\)'s for \(k=1,2,3,...,L\)
RNNs have Memory
右圖: 把所有的時間點都畫一份
左圖: 把右圖的表達畫成 fold 版本
從左圖 folding 的圖看,就可以觀察出,上一個時間點的 a 很明顯的需要先"記下來"放在 Memory 裡面,等待給下一個時間點來使用
例子:
One to Many -> Image Captioning
input: 一張圖
output: 多個文字來描述這張圖片
Many to One -> Sentiment Analysis
input: 一個電影的 Review
Output: 正評還是負評
如果這個例子使用 word vector 單純去 encode 去做的話,可能會被 Reward wins 等字誤導為正面很多的評價,實際上這句是個諷刺的獎項,要從前後文來推敲意思!
Many to Many (Synced): Video Keyframe Tagging
input: 影片
output: 一系列的 tag 點出哪些時間點發球出去
Many to Many (Unsynced): Machine Translation
input: 中文原文
output: 英文翻譯
中英文並非一對一的關係
中文字必須要看到若干個字之後,才能翻譯出正確的一個英文單字
這樣的案例又稱為sequence to sequence learning
原本的 RNN
\({a^{(k,t)}} = act(U^{(k)}a^{(k,t-1)}+W^{(k)}a^{(k-1,t)})\)
第 k 層的除了看過去時間點傳來的參數,也看未來時間點一路傳過來的參數
以網球比賽影片為例: 我們可以多取一些獲勝球員的精彩畫面,來訓練 RNN
這樣的訓練之下的 Model 就可以來預測看哪個球員最後會贏!
基本 RNN 的問題:
越早發生的時間點影響力越小,要離現在時間點越近的weight影響力才會越大,這樣的架構下,對於文意判讀會有問題
NLP 裡面的例子
Given movie review:
Tree 裡面的定義了字跟字之間的關係
U 跟 W 可以是 invariant 的:
在每一個 merged point 都可以是不變的,讓 machine 在每一個點都使用同樣一組 U 跟 W 來 merge 出新的 root
這樣的 RNN 裡面每一個 substructure 都是 recursively shared!
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing