Deep Learning.ai學習筆記_第五門課_序列模型

目錄算法

第一週 循環序列模型數據庫

第二週 天然語言處理與詞嵌入數組

第三週 序列模型和注意力機制網絡

 

第一週 循環序列模型

在進行語音識別時,給定一個輸入音頻片斷X,並要求輸出對應的文字記錄Y,這個例子中輸入和輸出數據就是序列模型。app

音樂生產問題也是使用序列數據的一個例子。ide

 

在天然語言處理中,首先須要決定怎樣表示一個序列裏單獨的單詞,解決辦法式建立一個詞典。而後每一個單詞的序列表示可使用該詞典長度的一維數組來表示,匹配的位置數據爲1,其它位置數據爲0。學習

下面看一個循環神經網絡模型:idea

 

RNN反向傳播示意圖:spa

 

如何構建一個語言模型呢?.net

首先須要一個訓練集,包含一個很大的英文文本語料(corpus)或者其它的語言,你想用於構建模型的語言的語料庫。語料庫是天然語言處理的一個專有名詞,意思就是很長的或者說數量衆多的英文句子組成的文本。

 

下圖是一個RNN構建序列的機率模型:

 

RNN的梯度消失:

 

 

GRU單元:

 

LSTM主要公式:

 

雙向RNN:

 

深層循環神經網絡(Deep RNNs)

 

下面看一下RNN單元:

 

LSTM模型能夠更好地解決梯度消失問題,可以更好地記住一條信息,而且能夠在不少時間步中保存。

下面看下LSTM模塊:

 

 

第二週 天然語言處理與詞嵌入

在對單詞進行向量化表示的時候,能夠對其特徵進行標誌學習,例如學習apple的相關特性後,能夠依據orange與apple的類似程度,推斷出orange也會有相關的特性。通常能夠定義一個多維的特徵向量,每一維表示一個特性判斷。

 

使用詞潛入,可以有效解決一些同類型詞特性識別問題,其中該詞在訓練集中出現較少或者就沒有出現過。 當你的任務的訓練集相對較小時,詞嵌入的做用最明顯,因此它普遍用於NLP領域。

 

詞嵌入的特性

若是你學習一些詞嵌入,經過算法來找到使得類似度最大化的單詞w,你確實能夠獲得徹底正確的答案。例如,man和women的差值,求出king對應的差值單詞,比較理想的單詞是queen。

詞嵌入的一個顯著成果就是,可學習的類比關係的通常性。舉個例子,它能學會man對於woman至關於boy對於girl,由於manwoman之間和kingqueen之間,還有boygirl之間的向量差在gender性別)這一維都是同樣的。

 

如何創建神經網絡來預測序列中的下一個單詞?以下圖模型

 

 

CBOW是從原始語句推測目標字詞;而Skip-Gram正好相反,是從目標字詞推測出原始語句。CBOW對小型數據庫比較合適,而Skip-Gram在大型語料中表現更好。 (下圖左邊爲CBOW,右邊爲Skip-Gram

 

 

情感分類任務就是看一段文本,而後分辨這我的是否喜歡他們在討論的這個東西,這是NLP中最重要的模塊之一,常常用在許多應用中(PS:例如,從用戶對某店鋪的評價留言信息,分析出是正面評價還負面評價,並給出最終的打分衡量數據)。 情感分類一個最大的挑戰就是可能標記的訓練集沒有那麼多。下圖是一個簡單的模型:

 

 

第三週 序列模型和注意力機制

目前,深度學習技術能夠藉助seq2seq模型實現不一樣語言的互譯,以及識別圖片,給出圖片中物體的描述。以下圖,識別圖中貓,給出文字描述:

 

 

集束搜索算法可以讓機器翻譯的記過更加貼近原意,並且語法也可以儘可能規整。

長度歸一化(Length normalization)是對集束搜索算法稍做調整的一種方式,幫助獲得更好的結果。

 

當你使用RNN讀一個句子,因而另外一個會輸出一個句子。咱們要對其作一些改變,稱爲注意力模型(the Attention Model),而且這會使它工做得更好。注意力模型或者說注意力這種思想(The attention algorithm, the attention idea)已是深度學習中最重要的思想之一,下圖是其運行模式:

 

注意力模型可以讓一個神經網絡只注意到一部分的輸入句子,當它生成句子的時候,更像人類翻譯。模型以下圖:

 

 

 

參考資料:

1.http://www.javashuo.com/article/p-tecmlaqx-mr.html

2.http://www.ai-start.com

相關文章
相關標籤/搜索