LSTM+CRF機器學習模型

本文介紹的深度學習模型來自Di Jin和Peter Szolovits的paper《PICO Element Detection in Medical Text via Long Short-Term Memory Neural Networks》。在該模型中涉及到的知識點主要有詞嵌入(word embedding),雙向LSTM網絡,Attention機制(Hierarchical Attention),Softmax迴歸,以及條件隨機場。該模型的架構如圖所示。

1. word Embedding

舉個例子,下表詞彙表在手工特徵中的編碼值,大小在[-1,+1]之間。絕對值越接近1表示該詞具有該特徵。

這裏King位於詞彙表的第3個位置,則King的One-hot編碼爲: [公式] 。

想要獲得King的特徵值向量,可以通過將上表表示的矩陣與King的One-hot編碼做乘法得到,即 [公式] 。

2. bi-Long Short-Term Memorybi-LSTM)

LSTM神經網絡架構是RNN架構的變體。首先看一下雙向的RNN展開圖的架構。

該架構的輸入輸出可由下式給出:

LSTM神經網絡單元較RNN單元來說,增加了較多的參數。其單元內部結構如下圖所示:

雙向的LSTM架構則是以LSTM單元按照前面雙向RNN架構的方式組織在一塊的。關於各個門的輸出情況,已經在《深度學習綜述》一文中給出。

3. Attention機制

本模型中只使用了Hierarchical Attention模型中的Word Attention。Hierarchical Attention模型如下圖所示。對於上下文關係,這裏面沒有使用sentence attention層,而是使用了條件隨機場模型。

Why Word Attention ?

並非所有的詞都對句子意義的表示有同等的貢獻。因此,我們引入注意機制來提取對於句子的意義重要的詞,並將這些詞彙的表示聚合在一起形成一個句子向量。

How Word Attention ?

其中, [公式] 是一個隨機初始化的上下文向量,會隨着模型的訓練一起學習。這裏,Attention Pooling層首先有一個單層的神經網絡將 [公式] 轉換成 [公式] ,通過比較 [公式] 和 [公式] 的相似性確定其權重。對 [公式] 加權求和得到句子信息向量 [公式] 。

 

4. Softmax層的數學依據

這裏,首先需要對指數族分佈和一般線性模型有所瞭解。

指數族分佈:概率分佈滿足 [公式]

伯努利分佈,高斯分佈,泊松分佈,貝塔分佈都屬於指數分佈。

一般線性模型要點:

1) y|x; θ 滿足一個以η爲參數的指數分佈,那麼可以求得η的表達式。

2) 給定 x,我們的目標是要確定T(y),大多數情況下T(y) = y,那麼我們實際上要確

定的是h(x), 而h(x) = E[y|x]。

3) [公式] 。

使用單層神經網絡Softmax迴歸對句子進行多元分類。多元分類的對應於多項式分佈,就像二元分類對應伯努利分佈一樣,都有其數學模型在裏面。對於二元分類問題我們使用的是logistic迴歸。

在對數迴歸時,採用的是伯努利分佈,伯努利分佈的概率可以表示爲:

[公式]其中,令 [公式] 則有 [公式]

該表達式就是logistic迴歸的sigmoid函數。

再看Softmax迴歸,其 T(y)爲一組k-1維的向量。

[公式]

其中, [公式] 。 [公式] 表示T(y)的第i個數。

[公式]

求得: [公式]

5. 條件隨機場(conditional random field, CRF)

不同於隱馬爾科夫模型和馬爾科夫隨機場這種生成式模型,條件隨機場是判別式模型。

生成式模型直接對聯合分佈進行建模,而判別式模型則是對條件分佈進行建模。

條件隨機場試圖對多個變量在給定觀測值後的條件概率進行建模。

若令 [公式] 爲觀測序列, [公式] 爲與之對應的標記序列,則條件隨機場的目標是構建條件概率模型P(x)。

鏈式條件隨機場(chain-structured CRF)

[公式] 是定義在觀測序列的兩個相鄰標記位置上的轉移函數,用於刻畫相鄰標記變量之間的相關關係以及觀測序列對他們的影響。

[公式] 是定義在觀測序列的標記位置i上的狀態特徵函數,用於刻畫觀測序列對標記序列的影響。

[公式] , [公式] 是參數,Z是規範化因子。

這裏需要對 [公式] 取最大值以獲取概率最大的序列,可採用維特比算法

x_ij表示狀態x_i 的第j種可能的值

#1. 從S點出發,對於第一個狀態 [公式] 的各個節點,計算 出S到他們的距離d(S, [公式] ),其中 [公式] 表示任意狀態1的節點。

#2. 對於第二個狀態 [公式] ,的所有節點,計算出從S到它們的最短距離:

#3. 按照步驟2的方法從狀態2走到狀態n。

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