第二部課程影片:https://www.youtube.com/watch?v=rTqmWlnwz_0&t=581s
當我們要訓練機器時,需要有Training Data才能夠訓練,但當這些資料是句子時,除了原本的句子外,還需要對應到每個單字的比對資料。
一樣以原影片的範例說明:
訓練資料:"arrive Taipei on November 2nd"
標記資料:"other dest other time time"
而輸出會得到一個array,這個array會紀錄當前單字的種類如dest, time, other等...
假如要輸出dest,這個array會變成[0, 0, ..., 1(dest), ..., 0]
time的話也是如此:[0, 0, ..., 1(time), ..., 0]
other是當他不能被歸類到之前的資料時丟進去的地方:[0, 0, ..., 1(other)]
而Training的方法是使用梯度下降法(Gradient descent),但為了訓練得更容易於是針對RNN設計的演算法:"Backpropagation Through Time(BPTT)"。雖然影片中並沒有講解BPTT詳細的內容,如果日後有辦法的話我會盡量生出來qq
但儘管如此,RNN是一個很難訓練的神經網路。