1. 程式人生 > >一種強化學習在NLP文字分類上的應用模型

一種強化學習在NLP文字分類上的應用模型

在胳膊骨折修養的這段期間,系統的學習了一下強化學習相關的知識。正好今天看到了黃民烈老師團隊2018年在AAAI上發表的paper《Learning Structured Representation for Text Classification via Reinforcement Learning》。

這篇paper以文字分類作為主要的任務,運用強化學習提出了兩個模型:ID-LSTM和HS-LSTM,其中ID-LSTM用來自動地把一句話中和目標任務無關的詞語刪除掉,起到簡化句子的作用;HS-LSTM則是用來自動地從句子中抽取phrase,從而更好的幫助模型進行文字分類。

首先這兩個模型都由三個部分組成:Policy Network(PNet),structured representation models和Classification Network (CNet)。這裡的PNet對應t時刻採用動作 α

\alpha 動作的概率為: π ( α t s t
; θ ) = σ ( W s t
+ b ) \pi( \alpha_t |s_t; \theta )=\sigma(W*s_t+b)
。公式中的 W W b b 都是PNet的網路引數。在訓練階段,採用的動作 α t \alpha_t 由上述公式根據概率分佈取樣得到;而在預測階段,則是直接挑選概率最大的 α t \alpha_t 所對應的動作。很顯然,在該場景下的reward其實就是經過處理之後,該句子被CNet預測為正確label的概率。最終PNet網路的梯度計算公式為: θ J ( θ ) = t = 1 L R L θ l o g π θ ( α t s t ) \nabla_{\theta}J(\theta)=\sum_{t=1}^LR_L\nabla_{\theta} log \pi_{\theta}(\alpha_t|s_t) .

Information Distilled LSTM (ID-LSTM)
在該模型中,action集合中總共有兩個動作:Retain和Delete,使用的基礎模型是基於LSTM的,只不過不同時刻針對不同動作LSTM的運作方式和傳統的比稍有不同:
if α t = r e t a i n \alpha_t=retain then c t , h t = L S T M ( c t 1 , h t 1 , x t ) c_t,h_t=LSTM(c_{t-1},h_{t-1},x_t)
if α t = d e l e t e \alpha_t=delete then c t , h t = c t 1 , h t 1 c_t,h_t=c_{t-1},h_{t-1}
具體流程如下圖所示:
在這裡插入圖片描述
而對於state的定義則有 s t = c t 1 h t 1 x t s_t=c_{t-1} \bigoplus h_{t-1} \bigoplus x_t
那麼很簡單,CNet對應的分類公式為 P ( y X ) = s o f t m a x ( W s h L + b s ) P(y|X)=softmax(W_s*h_L+b_s)
最終PNet部分的Reward定義為: R L = l o g P ( c t r u e X ) + γ L / L R_L=log P(c_{true} | X)+\gamma L^`/L ,其中 L L^` 代表了被刪除的word數量(意思是鼓勵機器去多刪除一些word), γ \gamma 用來權衡這個力度。

Hierarchically Structured LSTM (HS-LSTM)
在該模型中,action集合中總共有兩個動作:Inside和End,使用的模型是2個層次化的LSTM,一個用來將word轉化成phrase向量,另一個將生成的phrase向量轉化成Sentence 向量。
針對phrase向量生成器來說,其LSTM運作公式如下:
if α t = E n d \alpha_t=End then c t w , h t w = ϕ w ( 0 , 0 , x t ) c_t^w,h_t^w=\phi^w (0,0,x_t)
if α t = I n s i d e \alpha_t=Inside then c t w , h t w = ϕ w ( c t 1 w , h t 1 w , x t ) c_t^w,h_t^w=\phi^w (c_{t-1}^w,h_{t-1}^w,x_t)

對於Sentence向量生成器來說,其LSTM運作公式如下:
if α t = E n d \alpha_t=End then c t p , h t p = ϕ p ( c t 1 p , h t 1 p , h t w )