ML Lecture 21-1: Recurrent Neural Network (Part I)



Example Application

Slot filling

假設我們做一個語音客服,使用者講了一段話,我們從中抓出幾個需要的資料

以右圖為例,需要的資料是destination 與 time of arrival (兩個slot),可以判斷一句話每個字屬於哪個slot 或是other

因為就好像是填滿插槽,故稱之為 Slot filling

但有時候,同一個關鍵字可能有不同意義,例如出發地目的地

因此希望NN可以有記憶性,例如他在看到Taipei之前,記住arrive或leave,使得NN可以根據上下文有不圖的output

這種有記憶的NN,就叫做 Recurrent Neural Network,簡稱RNN

RNN

當hidden layer的neuron有output的時候,他就會存到記憶體裡面

當下一次有input的時候,他不只會考慮 x₁ x₂,他還會考慮存在記憶體裡面的a₁ a₂

舉個例子

把一個序列 [1 1]T [1 1]T [2 2]T 當作input,假設NN所有w都是1,沒有bias,紀錄hidden layer output

第一次輸入是[1 1] 輸出是[4 4] 紀錄了[2 2]

第二次輸入是[1 1] 輸出是[12 12] 紀錄了[6 6]

這麼一來,就可以實現相同input不同output了

使用RNN來處理Slot filling: