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 ),以及在情感分析和类似任务方面的表现。

当输入文本和评论数据的差别越大时,该模型的表现就越差。值得验证的是,扩展文本样本的语料库能否获得适用于更广泛领域的同等信息量的表征?

相关推荐