目錄算法
第一週 循環序列模型數據庫
在進行語音識別時,給定一個輸入音頻片斷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,由於man和woman之間和king和queen之間,還有boy和girl之間的向量差在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)已是深度學習中最重要的思想之一,下圖是其運行模式:
注意力模型可以讓一個神經網絡只注意到一部分的輸入句子,當它生成句子的時候,更像人類翻譯。模型以下圖:
參考資料: