天天看點

Semi-supervised Sequence Learning

之前分享過幾篇有監督的sentence表示方法,比如recurrent convolutional neural networks for text classification、convolutional neural networks for sentence classification,也分享過很多幾篇無監督的sentence表示方法,比如distributed representations of sentences and documents、skip-thought vectors。本篇将分享是一篇半監督的sentence表示方法,該方法比paragraph vectors更容易做微調,與skip-thought相比,目标函數并沒有它那麼困難,因為skip-thought是用來預測相鄰句子的。本文的題目是semi-supervised sequence learning,作者是來自google的andrew m. dai博士。

純粹的有監督學習是通過神經網絡來表示一個句子,然後通過分類任務資料集去學習網絡參數;而純粹的無監督學習是通過上文預測下文來學習句子表示,利用得到的表示進行分類任務。本文的方法将無監督學習之後的表示作為有監督訓練模型的初始值,是以稱為半監督。本文的有監督模型采用lstm,無監督模型共兩種,一種是自編碼器,一種是循環神經網絡語言模型。

第一種模型稱為sequence autoencoder lstm(sa-lstm),模型架構圖如下:

Semi-supervised Sequence Learning

這幅圖大家看着都眼熟,和sequence to sequence learning with neural networks中的seq2seq架構圖很相似,隻不過target和input一樣,即用input來預測input自己。将自編碼器學習到的表示作為lstm的初始值,進行有監督訓練。一般來說用lstm中的最後一個hidden state作為輸出,但本文也嘗試用了每個hidden state權重遞增的線性組合作為輸出。這兩種思路都是将無監督和有監督分開訓練,本文也提供了一種聯合訓練的思路作為對比,稱為joint learning。

第二種模型稱為language model lstm(lm-lstm),将上圖中的encoder部分去掉就是lm模型。語言模型介紹過很多了,比如a neural probabilistic language model和character-aware neural language models,詳細的可以看之前的分享,這裡不再贅述了。

模型部分就是這些,後面作者在情感分析、文本分類、目标分類等多組任務中進行了對比實驗,均取得了不錯的結果。

本文的創新點在于結合了無監督和有監督學習兩種思路的優點來解決一個傳統問題,雖然說無監督是一種趨勢所在,但有監督針對具體的問題會有更好的效果。這種融合各類模型優點的模型會更受歡迎,也是一種不錯的思路。

來源:paperweekly

<a href="https://mp.weixin.qq.com/s/ltdoq939hswopa0qtjjjtg" target="_blank">原文連結</a>

繼續閱讀