iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 6
0

RNN的特點在於輸出除了被當下的input影響外,之前input的東西也會被記憶在hidden layer的參數內,利用此參數可以記憶之前Input的內容,再將其輸入到下一次Input中的同一個hidden layer參數。

https://ithelp.ithome.com.tw/upload/images/20190919/20103852sBT9WnvOhQ.png

可以發現除了一個一個的資料本身以外,資料的先後順序也會影響到最後的Output。畢盡我們的文法本來就會照著先後順序說,我們在理解一個句子的時候也會看看上下文去理解句子的意思。

其實Recurrent Neurel Netowrk的基本概念僅此,如果看不懂也無仿,只要知道重點是RNN會多看資料的先後順序及關係影響最後的輸出就好了。

https://ithelp.ithome.com.tw/upload/images/20190919/201038521Uhx7XKLXs.png

(這張投影片的意思是你可以堆很多很多層hidden layer,好多好爽好慢QQ)


資料儲存類型

Recurrent Neurel Netowrk的變形有Elman Network和Jorden Network:

Elman Network

  • 把hidden layer的值在前面存起來,下一個時間點再丟進去同一個hidden layer中。

Jorden Network

  • 此方法存的是整個經過hidden layer的結果存進去memory中,所以每次儲存前都會跑一次函式。

https://ithelp.ithome.com.tw/upload/images/20190919/201038529CRCTr7pSn.png

Jorden Network因為有Output的目標,所以Jorden Network的成效正常情況下會比Elman Network還要高。


Bidirectional RNN

我們在看一段文字的時候雖然接收的次序是從前到後,但有時候要聽到後面的意思才會了解前面的語意。將此概念套入RNN中的話,可以看成我們將整個Input都看過一遍的情況下,輸出每個單獨Input經不同參數的hidden layer的加總。

https://ithelp.ithome.com.tw/upload/images/20190919/20103852bD8lmN7FIA.png


Long Short-term Memory

以上都是以最基本的RNN延伸出的模型,但其實看到這裡可能會覺得很奇怪,因為如果前面的資料已經跑過去很多時,Output的值可能會越來越大,或者是每個hidden layer能夠參考的記憶只有上一個資料。於是Long Short-term Memory可以將這些問題都解決。

https://ithelp.ithome.com.tw/upload/images/20190919/20103852egJJ4aIUN0.png

請把 dash 放在 Shortterm 中,原本的Short-term Memory只能記住上一個資料,而LSTM只要不把Forget get關掉就可以讓資料一直傳遞下去。 - 李宏毅


上一篇
【Day 05】RNN學習筆記 Part I
下一篇
【Day 07】RNN學習筆記 Part III
系列文
我是高中生,我學ML和NLP20

尚未有邦友留言

立即登入留言