OpenAI"巧妙"發(fā)現(xiàn)無監(jiān)督情感神經元,可利用文本檢測用戶情感
4月7日消息,OpenAI在官網公布了一項最新的研究成果,介紹了一個可以高效學習情感表征的無監(jiān)督系統(tǒng),目前能夠預測亞馬遜評論中的下一個字符。
研究人員采用了線性模型,在一個小型但是被廣泛采用的數據集(Standford Sentiment Treebank)上取得了非常高的情感分析準確度:OpenAI得到的準確度為91.8%,而之前最好的是90.2%。這一表現(xiàn)可以匹敵之前的監(jiān)督系統(tǒng),而且少用了30~100倍的標記樣本。
此外OpenAI表示,其模型的表征還包含了一個獨立的“情感神經元(sentiment neuron)”,這個“情感神經元”包含了幾乎所有的情感信號。
OpenAI稱,“我們的系統(tǒng)在使用極少訓練數據的情況下,比起其它同樣用Stanford Sentiment Treebank測試的系統(tǒng)有著更好的結果。”
為了達到完全監(jiān)督學習的效果,OpenAI的模型選取了兩個變量來代表標記的樣本(綠色和藍色的線條),每一個變量訓練6920個樣本(灰色虛線)。OpenAI的L1正則化模型(利用亞馬遜的用戶評論以無監(jiān)督的方式進行預先訓練)只用了11個標記的樣本,其表現(xiàn)就能夠與多通道的CNN(卷積神經網絡)相匹敵,而使用了232個訓練樣本之后,其性能甚至達到了非常先進的CT-LSTM Ensembles的水平。
OpenAI稱,他們非常驚訝,因為模型學會了一個可以判斷的特征,除了預測亞馬遜用戶評論的下一個字符外,實際上還能引出情感的概念。OpenAI相信,這種現(xiàn)象不是這一模型所特有的,而是一些大型神經網絡的一般性質(共性),這些大型神經網絡通常被訓練用來預測輸入中的下一步驟或者下一維度。
訓練方法
雷鋒網了解到,OpenAI首先利用亞馬遜上的8200萬條用戶評論,訓練了一個有4096個單元的乘性LSTM(multiplicative LSTM,簡稱mLSTM),來預測一小段文本中的下一個字符。團隊采用了4塊英偉達的Pascal GPU,每小時能夠處理12500個字符,訓練總共花了一個月的時間。
這4096個單元(其實是浮點數組成的向量)可以看成是模型讀取的字符串的特征向量。在訓練mLSTM之后,OpenAI將這些單元進行線性組合,通過現(xiàn)有的監(jiān)督數據學習組合的權重,將原本的模型變成了情感分類器。
情感神經元
在用L1正則化訓練線性模型的同時,令人驚訝的是,OpenAI注意到它使用的學習單元其實非常少。進一步挖掘后,研究人員意識到模型中實際上存在著一種可以精準預測情緒值的“情感神經元”。
盡管這一模型僅被訓練用來預測文本中的下一個字符,但是模型中的情感神經元卻可以將評論歸為負面或者正面兩類。
和其他類似的模型一樣,OpenAI的模型可以用來生成文本;但不同的地方在于,OpenAI可以通過重寫神經元的值來控制合成文字的情感。
上圖是訓練模型生成的合成文本的示例。研究人員先確定情感神經元的值,然后從模型中隨機選擇樣本,以確定評論中的情感。如下圖所示,研究人員還通過模型傳遞前綴“I couldn’t figure out(我搞不清楚)”,然后只選擇高度相似的樣本。
示例
下圖表示情感神經元代表的每個字符的值,紅色的為負,綠色為正。其中“best(最好)”或者“horrendous(可怕的)”這樣有強烈指示性的詞語則會用更深的顏色重點標記。
值得注意的是,在完成句子和短語之后,系統(tǒng)會進行大量更新。例如,在“And about 99.8 percent of that got lost in the film”中,即使“in the film”本身沒有任何情緒內容,但是在“lost”之后模型會進行一次負面更新,而在句子結束后還會有一次大的更新。
無監(jiān)督學習
有標記的數據是機器學習的燃料。收集數據很容易,但是想要大規(guī)模地標記數據則很困難。只有在機器翻譯、語音識別或者自動駕駛等具有切實效果和回報的領域,大規(guī)模地標記數據才是切實可行的。
長久以來,機器學習領域的研究人員一直夢想著開發(fā)出能夠學習數據集的準確表征的無監(jiān)督學習算法,希望用很少的標記數據就能夠解決問題。OpenAI的研究意味著,在創(chuàng)建具有優(yōu)秀表征學習能力的系統(tǒng)時,簡單地利用大量數據訓練大型無監(jiān)督下一步預測模型(next-step-prediction model)很可能是一種不錯的方法。
下一步
OpenAI的研究成果代表通用無監(jiān)督表征學習又向前邁進了一步。研究人員在探索是否可以通過語言建模來學習高質量的表征時意外發(fā)現(xiàn)了這一結果,并在經過仔細選擇的數據集上擴大了這個現(xiàn)有模型。然而,目前研究人員還不清楚這個潛在的現(xiàn)象的具體成因。
這些結果在長文檔的數據上的表現(xiàn)并不是很好。OpenAI猜測,他們的模型難以記住數百乃至數千個時間步長的信息。他們認為,下一步可以嘗試采用層次模型(hierarchical model),因為層次模型可以自適應相應的時間尺度。進一步擴展這些模型,還可能進一步提高表征保真度( representation fidelity ),以及在情感分析和類似任務方面的表現(xiàn)。
當輸入文本和評論數據的差別越大時,該模型的表現(xiàn)就越差。值得驗證的是,擴展文本樣本的語料庫能否獲得適用于更廣泛領域的同等信息量的表征?
OpenAI的研究結果表明,大型的下一步預測模型能夠學會出色的無監(jiān)督表征。利用大規(guī)模的視頻集訓練一個大型的神經網絡來預測下一幀畫面,可能會得到對目標、場景、動作分類器的無監(jiān)督表征。
總的來說,理解模型、訓練方式、以及數據集的屬性是很重要的,因為它很可能會得到同樣出色的表征。