前言:在神经科学领域,寻找情感与行为之间的联系一直都是一项艰巨的任务。然而,最近的研究表明,神经元并不仅仅是信息传递的信使,它们也可以参与到情感的产生和调节中。惊人的发现表明,情感神经元可能是我们理解复杂情感体验的关键所在。在本文中,我们将深入探讨这一颠覆性的发现,以及它对未来神经科学研究的影响。
本文所涉及所有资源均在传知代码平台可获取
目录
概述
在2017年4月发布Unsupervised Sentiment Neuron算法的文章《Learning to Generate Reviews and Discovering Sentiment》中指出,“真正的良好预测是和了解联系在一起的”,以及“神经网络在仅用于预测下一个字符的训练后,便自动掌握了情感分析的技巧”。
尽管训练出的这个系统初始只是为了能够预测亚马逊评论文本中的下一个字符,而让人惊讶的是,该系统中还出现了意料之外的「情感神经元(sentiment neuron)」,其囊括了几乎所有的情感信号。
本文当时并未得到过多重视,甚至遭到ICLR 2018的拒绝投稿,但是分析表明该研究成果对于OpenAI的后续研究具有深远影响,同时奠定了下一步OpenAI all-in GPT线路的基础。
在接下来的研究中,这个意外的发现引发了更广泛的兴趣和探索。神经科学家们开始深入挖掘情感神经元的功能和作用,试图解开情感与神经活动之间的奥秘。随着对情感神经元的理解不断深入,人们对情绪、情感障碍和心理健康的认识也将得到革命性的提升。这个突破性的发现不仅仅改变了人工智能领域的发展方向,也为神经科学和心理学领域带来了全新的思考和研究方向。
下图显示了情感神经元逐字符的数值,其中消极值是红色,而积极值是绿色。请您留意,像“最好的”或“可怕”这类强烈的指示性词汇可能会导致颜色发生显著的变化。
说来也巧,句子、短语写完了,系统又会做很多更新。以“And about 99.8 percent of that got lost in the film”这句话为例,尽管“in the film”并未直接传达情感,但该系统仍然在“lost”之后和句子结束后,对情感值进行了更为消极的调整和更新。
核心逻辑实现
方法论:OpenAI首先在8200万亚马逊评论的语料库上用4,096个单位训练了multiplicative LSTM,以预测一小段文本中的下一个字。 训练在四个NVIDIA Pascal GPU上进行,花费了一个月,模型处理速度为每秒12,500个字符,具体实现地址:点击跳转 ,如下:
这4,096个单位(只是浮标的向量)可以被认为是表示模型读取的字符串的特征向量。 在训练mLSTM后,OpenAI通过采用这些单位的线性组合将模型转换为情感分类器,通过可用的监督数据学习组合的权重:
情感神经元:OpenAI这项研究还有一个独特的“情感神经元”,包含几乎所有的情感信号。在用L1正则化训练线性模型的同时,研究人员注意到,它只用了很少的已学习单位。挖掘其原因的时候发现,实际上存在着一个对情感值有高度预测性的“情感神经元”。
无监督学习 :目前,标签数据是机器学习的燃料。 收集数据很容易,但对数据进行可扩展的标注很难。只有在机器翻译,语音识别或自动驾驶这样的重要问题上,生成标签才能得到相应的回报。 开发无监督学习算法,学习数据集的良好表征,仅用少量标注数据解决问题,一直以来都是机器学习研究人员的梦想。 OpenAI的研究表明,在创建具有良好表征学习能力的系统时,简单地用大量数据训练一个大型的无监督下雨不预测模型,可能是一种很好的方法。
核心代码实现
输入文本,输出预测情绪:
# start
from encoder import Model
import numpy as np
model = Model()
text = ['I do not like you!','I can not love you any more!','I couldn’t figure out how to put this book down.']
text_features = model.transform(text)
sentiment_scores = text_features[:, 2388]
print("情绪值:", sentiment_scores)
输入基础开头文本,加上情绪值,加上目标文字数,输出带情绪的一段话:
from encoder import Model
mdl = Model()
base = "I couldn’t figure out"
print("\'%s\'... --> (argmax sampling):" % base)
positive = mdl.generate_sequence(base, override={2388 : 1.0})
negative = mdl.generate_sequence(base, override={2388 : -1.5}, len_add = 100)
这是当要求以“嗯”开头时生成的内容:
Hmm what a waste of film not to mention a Marilyn movie for nothing.
嗯,那还不错!有趣的部分是通过固定情感神经元的值来生成样本。以下是一些生成的示例。情绪= 1.0 且起始短语= “This is” =>:
This is a great album with a quality history of the group.
情绪= -1.0 且起始短语=“可能”=>:
It might have been good but I found myself skipping pages to get to the end.
关于生成的有趣之处在于,它也可以被视为获得单个神经元直觉的一种方式。因此,我尝试通过固定其他重要神经元的值来生成文本。例如,将神经元 801 的值固定为 -1.0 生成此文本。
This is the greatest movie ever! Ever since my parents had watched it back in the 80s, I always watched it.
它(神经元 801)与情绪似乎有一些相关性。修复不同的值(甚至多个值在一起)并查看生成的文本是一个有趣的练习。
写在最后
我们发现了情感神经元这一意外的存在。它们不仅揭示了神经网络的潜力和机制,也为我们理解情感、情绪和人类认知带来了新的启示。随着技术的进步和研究的深入,我们有望进一步探索情感神经元的工作原理、与其他神经元的相互作用以及其在不同情境下的表现。这将为我们开辟一条通往更深刻理解情感世界的道路,并为未来的人工智能和心理学研究提供新的可能性。
情感神经元的意外发现是一个里程碑,它将激励我们继续前行,挖掘大脑的奥秘,解读人类情感的复杂性。无论是在神经科学、人工智能领域,还是在心理学和社会科学领域,情感神经元的发现都将持续引领我们向着更加全面、深入地理解人类情感的目标迈进。
详细复现过程的项目源码、数据和预训练好的模型可从该文章下方附件获取。
【传知科技】关注有礼 公众号、抖音号、视频号