天天看點

OpenAI"巧妙"發現無監督情感神經元,可利用文本檢測使用者情感

雷鋒網(公衆号:雷鋒網)4月7日消息,openai在官網公布了一項最新的研究成果,介紹了一個可以高效學習情感表征的無監督系統,目前能夠預測亞馬遜評論中的下一個字元。

研究人員采用了線性模型,在一個小型但是被廣泛采用的資料集(standford

sentiment

treebank)上取得了非常高的情感分析準确度:openai得到的準确度為91.8%,而之前最好的是90.2%。這一表現可以匹敵之前的監督系統,而且少用了30~100倍的标記樣本。

此外openai表示,其模型的表征還包含了一個獨立的“情感神經元(sentiment neuron)”,這個“情感神經元”包含了幾乎所有的情感信号。

openai稱,“我們的系統在使用極少訓練資料的情況下,比起其它同樣用stanford sentiment treebank測試的系統有着更好的結果。”

OpenAI"巧妙"發現無監督情感神經元,可利用文本檢測使用者情感

為了達到完全監督學習的效果,openai的模型選取了兩個變量來代表标記的樣本(綠色和藍色的線條),每一個變量訓練6920個樣本(灰色虛線)。openai的l1正則化模型(利用亞馬遜的使用者評論以無監督的方式進行預先訓練)隻用了11個标記的樣本,其表現就能夠與多通道的cnn(卷積神經網絡)相匹敵,而使用了232個訓練樣本之後,其性能甚至達到了非常先進的ct-lstm

ensembles的水準。

openai稱,他們非常驚訝,因為模型學會了一個可以判斷的特征,除了預測亞馬遜使用者評論的下一個字元外,實際上還能引出情感的概念。openai相信,這種現象不是這一模型所特有的,而是一些大型神經網絡的一般性質(共性),這些大型神經網絡通常被訓練用來預測輸入中的下一步驟或者下一次元。

雷鋒網了解到,openai首先利用亞馬遜上的8200萬條使用者評論,訓練了一個有4096個單元的乘性lstm(multiplicative

lstm,簡稱mlstm),來預測一小段文本中的下一個字元。團隊采用了4塊英偉達的pascal

gpu,每小時能夠處理12500個字元,訓練總共花了一個月的時間。

這4096個單元(其實是浮點數組成的向量)可以看成是模型讀取的字元串的特征向量。在訓練mlstm之後,openai将這些單元進行線性組合,通過現有的監督資料學習組合的權重,将原本的模型變成了情感分類器。

在用l1正則化訓練線性模型的同時,令人驚訝的是,openai注意到它使用的學習單元其實非常少。進一步挖掘後,研究人員意識到模型中實際上存在着一種可以精準預測情緒值的“情感神經元”。

OpenAI"巧妙"發現無監督情感神經元,可利用文本檢測使用者情感

盡管這一模型僅被訓練用來預測文本中的下一個字元,但是模型中的情感神經元卻可以将評論歸為負面或者正面兩類。

和其他類似的模型一樣,openai的模型可以用來生成文本;但不同的地方在于,openai可以通過重寫神經元的值來控制合成文字的情感。

OpenAI"巧妙"發現無監督情感神經元,可利用文本檢測使用者情感

上圖是訓練模型生成的合成文本的示例。研究人員先确定情感神經元的值,然後從模型中随機選擇樣本,以确定評論中的情感。如下圖所示,研究人員還通過模型傳遞字首“i couldn’t figure out(我搞不清楚)”,然後隻選擇高度相似的樣本。

OpenAI"巧妙"發現無監督情感神經元,可利用文本檢測使用者情感

下圖表示情感神經元代表的每個字元的值,紅色的為負,綠色為正。其中“best(最好)”或者“horrendous(可怕的)”這樣有強烈訓示性的詞語則會用更深的顔色重點标記。

OpenAI"巧妙"發現無監督情感神經元,可利用文本檢測使用者情感

值得注意的是,在完成句子和短語之後,系統會進行大量更新。例如,在“and

about 99.8 percent of that got lost in the film”中,即使“in the

film”本身沒有任何情緒内容,但是在“lost”之後模型會進行一次負面更新,而在句子結束後還會有一次大的更新。

有标記的資料是機器學習的燃料。收集資料很容易,但是想要大規模地标記資料則很困難。隻有在機器翻譯、語音識别或者自動駕駛等具有切實效果和回報的領域,大規模地标記資料才是切實可行的。

長久以來,機器學習領域的研究人員一直夢想着開發出能夠學習資料集的準确表征的無監督學習算法,希望用很少的标記資料就能夠解決問題。openai的研究意味着,在建立具有優秀表征學習能力的系統時,簡單地利用大量資料訓練大型無監督下一步預測模型(next-step-prediction

model)很可能是一種不錯的方法。

openai的研究成果代表通用無監督表征學習又向前邁進了一步。研究人員在探索是否可以通過語言模組化來學習高品質的表征時意外發現了這一結果,并在經過仔細選擇的資料集上擴大了這個現有模型。然而,目前研究人員還不清楚這個潛在的現象的具體成因。

這些結果在長文檔的資料上的表現并不是很好。openai猜測,他們的模型難以記住數百乃至數千個時間步長的資訊。他們認為,下一步可以嘗試采用層次模型(hierarchical

model),因為層次模型可以自适應相應的時間尺度。進一步擴充這些模型,還可能進一步提高表征保真度( representation

fidelity ),以及在情感分析和類似任務方面的表現。

當輸入文本和評論資料的差别越大時,該模型的表現就越差。值得驗證的是,擴充文本樣本的語料庫能否獲得适用于更廣泛領域的同等資訊量的表征?

openai的研究結果表明,大型的下一步預測模型能夠學會出色的無監督表征。利用大規模的視訊集訓練一個大型的神經網絡來預測下一幀畫面,可能會得到對目标、場景、動作分類器的無監督表征。

總的來說,了解模型、訓練方式、以及資料集的屬性是很重要的,因為它很可能會得到同樣出色的表征。

本文作者:周翔

繼續閱讀