情感神经元的意外发现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
相关推荐
week_泽14 小时前
第4课:为什么记忆能力如此重要 - 学习笔记_4
人工智能·笔记·学习·ai agent
week_泽15 小时前
第6课:如何管理短期记忆和长期记忆 - 学习笔记_6
人工智能·笔记·学习·ai agent
之歆21 小时前
Spring AI入门到实战到原理源码-MCP
java·人工智能·spring
知乎的哥廷根数学学派21 小时前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
且去填词1 天前
DeepSeek :基于 Schema 推理与自愈机制的智能 ETL
数据仓库·人工智能·python·语言模型·etl·schema·deepseek
待续3011 天前
订阅了 Qoder 之后,我想通过这篇文章分享一些个人使用心得和感受。
人工智能
weixin_397578021 天前
人工智能发展历史
人工智能
数字化转型20251 天前
企业数字化架构集成能力建设
大数据·程序人生·机器学习
强盛小灵通专卖员1 天前
基于深度学习的山体滑坡检测科研辅导:从论文实验到系统落地的完整思路
人工智能·深度学习·sci·小论文·山体滑坡
OidEncoder1 天前
从 “粗放清扫” 到 “毫米级作业”,编码器重塑环卫机器人新能力
人工智能·自动化·智慧城市