1. 序列模型用途
之所以要用到序列模型,是因爲,在現實生活中,我們的很多數據都具有連續的關係,比如
-
語音識別:根據音頻數據,識別爲語言文本
-
音樂生成:給定0個或某幾個音節,自動生成歌曲
-
情感分析:根據一段文本,來判斷其情緒
-
DNA序列分析:從給定的DNA序列中,標記出值得關注的某一段序列
-
機器翻譯:德語文本轉英文
-
視頻行爲識別:根據視頻中一段連續的畫面,判斷畫面中人的行爲
-
命名實體識別:識別出文本中的所有人名
2. 序列模型常用的數學符號
如下舉一個例子:
輸入X:Harry Potter and Hermoine Granger invented a new spell.
輸出Y:1 1 0 1 1 0 0 0 0
目標是識別給定句子中的人名,也就是所謂的實體詞。
下圖中用紅色文字標註各個數學符號的含義:
總結一下,圓括號表示第i個樣本,尖括號表示某個樣本中第t個值。
3. 用詞典和one-hot編碼表示文本
文字、單詞無法直接進行計算,所以要轉換爲數字。下圖就是轉換步驟:
-
首先,要做一個字典,這裏假設字典中含有10000個單詞。
-
然後,將輸入文本中的每一個詞,都找到其在字典中的位置,並映射爲one-hot編碼。
-
比如Harry在字典中的位置(索引)是4075,則需要用一個10000維度的向量來表示Harry,這個向量在4075位置上的值爲1,其他位置上的值爲0。注意句子中的每一個單詞都要用相同維度的向量來表示。
參考
- Andrew Ng. deep learning class. sequence model.