Sequence Models

序列模型

  • 如下圖,常見的幾個序列模型的應用:1、語音識別 2、音樂生產 3、文本情感分類 4、DNA序列分析 5、機器翻譯 6、視頻運動識別 7、命名實體識別。
    在這裏插入圖片描述

  • 下圖是該博客使用的符號說明:
    x代表輸入序列,y代表輸出序列 ,用右上角尖括號x<t>x^{<t>}代表x的第t個位置的數據,TxT_x代表輸入x的序列長度,相應的TyT_y代表輸出序列的長度。下列Tx=TyT_x=T_y但很多時候,兩者可以不相等。另外圓括號,仍然表示第i個樣本。
    在這裏插入圖片描述

  • 解決序列問題的模型 -RNN
    那麼問題來了,在解釋什麼是RNN之前,先思考,爲什麼不用傳統的標準神經網絡來處理,下圖給出答案:
    原因有兩個,1、如果把序列的每個位置數據作爲input X的一個feature,首先,不同的樣本輸入、輸出的長度可能是不同的,而標準的神經網絡結構,顯然輸入層、輸出層神經元的個數是固定的。
    2、最主要的問題在於,一段文本序列在不同的位置無法共享features。比如一段話中出現了兩個相同的詞,其中先出現的位置,該詞已經識別出,但它無法告訴model後面位置的詞該信息。
    在這裏插入圖片描述

  • 以下是RNN結構的展開形式
    序列x,以從左右到右的順序,依次將x<t>x^{<t>}輸入RNN,其中最有趣的結構就是hidden state,下圖用a<t>a^{<t>}來表示,每次輸出時,除了要看當前時序的輸入x<t>x^{<t>}還要看之前的信息a<t1>a^{<t-1>},具體的公式如下:
    在這裏插入圖片描述

  • 下面是幾種常見的RNN結構類型

  • 在這裏插入圖片描述

  • one to many 屬於序列生產,只需要一個輸入,便可輸出多個y

  • many to one典型的應用是文本情感分類,比如電影評論分析。只在整個句子輸入完後,纔會輸出一個y。

  • many to many 第一個是輸入和輸出長度相同的情況,在每個輸入都會產生一個輸出。

  • many to many 第二個輸入和輸出長度不相同,就是sequence·to sequence Model,左邊是encoder 右邊是decoder,典型的應用是機器翻譯,輸入一段中文,翻譯成英文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章