第一周 循環序列模型
目前還是使用one-hot的方法來做~
為什么不適用標準的神經網絡呢?原因有以下幾點:
它不僅根據現在的輸入決定輸出,而且根據之前的輸入決定輸出。但是這樣的單向只利用了之前的信息,沒利用后面的信息。所以,會在后面的雙向RNN中介紹~
前向傳播
反向傳播:
有很對序列模型 輸入和輸出維度不一樣,
多對多的里面機器翻譯,提到了Attention模型,還有上周師兄講過的transformer模型
用RNN建立一個語言模型,a little abstract:
采樣? ?從RNN中隨機選擇
還可以用基于字符的語言模型。優點是不會出現mau這種UNK詞匯,缺點是計算負擔重,難以捕捉詞匯間的關系
如何解決梯度消失問題,還有梯度爆炸問題也存在。深層的RNN難以捕捉深層次的長期依賴
GRU(gated recurrent unit)
可以更好捕捉長期依賴~
LSTM(long short term memory)長短期記憶網絡【閑時看了下Wang的個人主頁,發現人與人真是云泥之別,不再確定自己是否真的適合這一行。哎。】增加了遺忘門和更新門,并且和GRU不同的是,a和c視作是不同的值。
GRU:結構更簡單點,更能夠創建大點的網絡,計算更大 LSTM更強大靈活
雙向循環神經網絡
Deep RNNs:一般三層就OK了
第二周 自然語言處理與詞嵌入
Word representation:one-hot,使用這樣的方法不能捕捉詞和詞之間的聯系,因為它們內積都是0。使用詞嵌入可以用特征來表示兩個詞,可以使用TSNE來將300維的向量可視化。
NLP and word embedding:可以使用遷移學習,把網上學好的詞典的數據拿來用
和圖像識別的不同:圖像可以是未知的圖片,而詞向量是有固定的詞表的
詞嵌入的特性:實現類比推理。計算向量距離
計算相似度的:
嵌入矩陣:通過E與one-hot向量相乘,得到最終的300維的表示。
學習詞嵌入:
word2Vec:
負采樣:
Glove詞向量:最小化這個函數
情感分類:將embedding加起來,但是左下角的不使用,所以要使用RNN,來捕捉not good這種思想。
詞嵌入除偏:
第三周:序列模型和注意力機制
序列模型作機器翻譯和圖像描述
機器翻譯可以看作是條件語言模型:找到可能性最大的序列
貪心算法并不適用
定向搜索:考慮多種結果
改進定向搜索:長度歸一化,上面的損失函數傾向于短句子
束搜索的誤差分析:判斷是RNN模型出錯了,還是束搜索出錯了
Bleu score(bilingual evaluation understudy 雙語評估houbu):用來衡量一個語言翻譯結果的準確性,因為通常有多種結果
為了懲罰太短的翻譯結果:BP
Attention模型直觀理解:That's it,Attention!
注意力模型:
語音識別
觸發字檢測:
At last 這是deep learning的開始,不是結束。接下來我將完成課程配套的quiz以及編程練習并將代碼放在我的GitHub主頁上~