情感神经元的意外发现2

文章目录

概述

在 2017 年 4 月发布 Unsupervised Sentiment Neuron 算法的文章《》中指出,"真正好的预测与理解有关",以及"仅仅被训练用于预测下一个字符之后,神经网络自动学会了分析情感" 。

尽管训练出的这个系统初始只是为了能够预测亚马逊评论文本中的下一个字符,而让人惊讶的是,该系统中还出现了意料之外的「情感神经元(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通过采用这些单位的线性组合将模型转换为情感分类器,通过可用的监督数据学习组合的权重。

哇!确实有一个单一的特征权重很大。一定是情感神经元。事实上,我们甚至可以得到它在 4096 个神经元列表中的索引。如果你看一下结果,你会发现它的索引是2388。还有其他一些神经元的贡献相对较高。

> 情感神经元 OpenAI这项研究还有一个独特的"情感神经元",包含几乎所有的情感信号。

在用L1正则化训练线性模型的同时,研究人员注意到,它只用了很少的已学习单位。挖掘其原因的时候发现,实际上存在着一个对情感值有高度预测性的"情感神经元"。

> 无监督学习 目前,标签数据是机器学习的燃料。 收集数据很容易,但对数据进行可扩展的标注很难。只有在机器翻译,语音识别或自动驾驶这样的重要问题上,生成标签才能得到相应的回报。

开发无监督学习算法,学习数据集的良好表征,仅用少量标注数据解决问题,一直以来都是机器学习研究人员的梦想。

OpenAI的研究表明,在创建具有良好表征学习能力的系统时,简单地用大量数据训练一个大型的无监督下雨不预测模型,可能是一种很好的方法。

使用方式

1、输入文本,输出预测情绪

复制代码
# 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)

2、输入基础开头文本,加上情绪值,加上目标文字数,输出带情绪的一段话

复制代码
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.

情绪 = -1.0 =>

复制代码
I can't believe I bought this book.

很高兴生成的短语连贯、像人类一样并且也符合预期的情绪。

也就是说,有时生成的文本与情绪并不完全相符。

情绪 = -1.0且起始短语="很棒"=>

复制代码
Great DVD with the original production leaving good video and audio quality.

关于生成的有趣之处在于,它也可以被视为获得单个神经元直觉的一种方式。因此,我尝试通过固定其他重要神经元的值来生成文本。例如,将神经元 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)与情绪似乎有一些相关性。

修复不同的值(甚至多个值在一起)并查看生成的文本是一个有趣的练习。

部署方式

  • dockerfile
相关推荐
wei_shuo2 小时前
OB Cloud 云数据库V4.3:SQL +AI全新体验
数据库·人工智能·sql
努力的搬砖人.2 小时前
AI生成视频推荐
人工智能
想要成为计算机高手3 小时前
Helix:一种用于通用人形控制的视觉语言行动模型
人工智能·计算机视觉·自然语言处理·大模型·vla
Mory_Herbert3 小时前
5.1 神经网络: 层和块
人工智能·深度学习·神经网络
Evand J4 小时前
MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
人工智能·算法
知来者逆5 小时前
在与大语言模型交互中的礼貌现象:技术影响、社会行为与文化意义的多维度探讨
人工智能·深度学习·语言模型·自然语言处理·llm
IT猿手6 小时前
基于 Q-learning 的城市场景无人机三维路径规划算法研究,可以自定义地图,提供完整MATLAB代码
深度学习·算法·matlab·无人机·强化学习·qlearning·无人机路径规划
xwz小王子7 小时前
Taccel:一个高性能的GPU加速视触觉机器人模拟平台
人工智能·机器人
深空数字孪生8 小时前
AI时代的数据可视化:未来已来
人工智能·信息可视化
Icoolkj8 小时前
探秘 Canva AI 图像生成器:重塑设计创作新范式
人工智能