一種強化學習在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時刻採用動作 動作的概率為: 。公式中的 和 都是PNet的網路引數。在訓練階段,採用的動作 由上述公式根據概率分佈取樣得到;而在預測階段,則是直接挑選概率最大的 所對應的動作。很顯然,在該場景下的reward其實就是經過處理之後,該句子被CNet預測為正確label的概率。最終PNet網路的梯度計算公式為: .
Information Distilled LSTM (ID-LSTM)
在該模型中,action集合中總共有兩個動作:Retain和Delete,使用的基礎模型是基於LSTM的,只不過不同時刻針對不同動作LSTM的運作方式和傳統的比稍有不同:
if
then
if
then
具體流程如下圖所示:
而對於state的定義則有
那麼很簡單,CNet對應的分類公式為
最終PNet部分的Reward定義為:
,其中
代表了被刪除的word數量(意思是鼓勵機器去多刪除一些word),
用來權衡這個力度。
Hierarchically Structured LSTM (HS-LSTM)
在該模型中,action集合中總共有兩個動作:Inside和End,使用的模型是2個層次化的LSTM,一個用來將word轉化成phrase向量,另一個將生成的phrase向量轉化成Sentence 向量。
針對phrase向量生成器來說,其LSTM運作公式如下:
if
then
if
then
對於Sentence向量生成器來說,其LSTM運作公式如下:
if
then