1 序列模型
序列模型廣泛應用于語音識別,音樂生成,情感分析绷跑,DNA序列分析力奋,機器翻譯,視頻行為識別籍胯,命名實體識別等眾多領域竟闪。序列模型的輸入與輸出的對應關系有非常多的組合,比如一對一芒炼,多對多瘫怜,一對多,多對一本刽,多對多(個數不同)等情況來針對不同的應用
2 數學符號
- x(i)<t>前面的i表示第i個訓練樣本鲸湃,t表示某個序列樣本中索引位置,如下面的一句話是一個樣本子寓,“and”的索引是3暗挑,序列的長度用Tx表示,下面句子中Tx=9
-
單詞是無法直接輸入到網絡中斜友,所以必須轉成數子炸裆,用數字來表示單詞。方法是將數據集中出現次數最多的10000個單詞鲜屏,用one-hot來表示每一個單詞
3 循環(huán)神經網絡模型
- 首先烹看,將第一個單詞x<1>x<1>輸入神經網絡,并預測 y<1>y<1>; 然后洛史,將第二個單詞x<2>x<2>輸入神經網絡惯殊,同時將第一步計算的激活值a<1>a<1>也輸入到神經網絡,共同作用并預測y<2>y<2>; 重復第二步也殖,直至把所有單詞都訓練完畢土思。
循環(huán)神經網絡中的參數是共享的,從輸入到隱藏層的參數表示為wax忆嗜,水平方向激活值向下一層輸入的參數表示為waa己儒,從隱藏層到輸出的殘水表示為wya 。其前向傳播可以如下表示:
對應的反向傳播:
4不同類型的循環(huán)神經網絡
循環(huán)神經可以對應不同的輸出類型捆毫。第一種是傳統(tǒng)標準的網絡層闪湾,第二是一對多(音樂生成),第三是多對一(情感分析)绩卤,第四是多對多(輸出與輸入個數相等响谓,語音識別)损合,第五是多對多(輸出與輸入個數不一定相等,機器翻譯)娘纷。
5語言模型和序列生成
語言模型要解決的就是那個句子出現的概率更大嫁审,則輸出哪個。語言模型如下圖所示赖晶,首先第一個輸出是在無任何提示下輸出各個詞的概率律适,第二個輸出是在給定第一個輸出標簽時各個詞(10002)輸出的概率,以此類推遏插,每一個輸出都是在給定條件下一個輸出各個單詞的概率捂贿。
6 對新序列采樣
在應用上面訓練好的網絡時,只需要用numpy取出來第一個輸出中單詞概率最大的單詞胳嘲,這樣就實現了對序列的采樣厂僧,然后將獲得的詞作為已知條件,取獲取下一個單詞了牛。如下圖所示:
7 GRU單元
GRU 是一種常見得循環(huán)序列模型颜屠。GRU即門控循環(huán)單元,可以解決循環(huán)神經網絡的梯度消失問題鹰祸,進而可以解決上面的遠距離也能影響后面的輸出甫窟。GRU改變了RNN隱藏層單元使其更好的捕捉深層連接,并改善了梯度消失問題蛙婴。 相比于普通的RNN隱藏層單元粗井,GRU增加了一個C(memory cell)記憶細胞,以增加記憶功能街图。
8 LSTM 長短時記憶單元
LSTM包括遺忘門浇衬、更新門和輸出門。LSTM比之GRU更加有效餐济。
雙向循環(huán)神經網絡