NegativePrompt:利用心理学通过负面情绪刺激增强大型语言模型

【摘要】大型语言模型 (LLM) 已成为各种应用不可或缺的一部分,从传统的计算任务到高级人工智能 (AI) 应用。这种广泛的应用促使社会科学等各个学科对 LLM 进行了广泛的研究。值得注意的是,研究表明 LLM 具有情商,可以通过积极的情绪刺激进一步发展。这一发现提出了一个有趣的问题:负面情绪是否同样会影响 LLM,从而可能提高其性能?为了回答这个问题,我们引入了 NegativePrompt,这是一种以心理学原理为基础的新方法,涉及十种专门设计的负面情绪刺激。我们对五个 LLM 进行了严格的实验评估,包括 Flan-T5-Large、Vicuna、Llama 2、ChatGPT 和 GPT-4,涉及 45 个任务。结果很有启发性:NegativePrompt 显著提高了 LLM 的性能,在指令诱导任务中相对提高了 12.89%,在 BIG-Bench 任务中相对提高了 46.25%。此外,我们进行了注意力可视化实验,以揭示 NegativePrompt 影响的潜在机制。我们的研究对理解 LLM 和情感互动做出了重大贡献,证明了 NegativePrompt 作为一种情感驱动方法的实际效果,并为在实际应用中增强 LLM 提供了新颖的见解。

原文: NegativePrompt: Leveraging Psychology for Large Language Models Enhancement via Negative Emotional Stimuli
地址: https://arxiv.org/abs/2405.02814v2
代码: https://github.com/wangxu0820/NegativePrompt
出版: IJCAI 2024
机构: 吉林大学、中科院软件所 

1 研究问题

本文研究的核心问题是: 如何利用负面情绪刺激来提升大语言模型的性能。

假设我们要训练一个聊天机器人,帮助用户提供心理咨询服务。传统方法是喂给模型大量的正面案例,教它如何积极鼓励、引导对方。但这可能导致机器人的回复过于正面,缺乏对负面情绪的理解和共情。因此,本文尝试加入一些负面情绪刺激,看它是否能帮助模型更全面地理解人类情绪,给出更贴心的回应。

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 现有的大语言模型prompt优化方法主要关注任务性能的提升,较少探讨情感智能方面的改进。例如可以通过引入任务相关的知识来提升问答准确率,但对于需要情感理解的任务帮助有限。

  • 负面情绪可能带来意料之外的影响。与正面情绪不同,负面情绪可能引发抵触、逃避等消极反应,不利于任务的完成。因此需要慎重设计负面情绪刺激,既要authentic,又不能过于强烈。

  • 心理学领域积累了丰富的情绪理论,但如何将其与语言模型的优化有机结合,是一个开放的挑战。不同理论对情绪的界定和分类不尽相同,需要在纷繁复杂的理论体系中提炼出简洁、可操作的principles。

针对这些挑战,本文提出了一种灵活多样的"NegativePrompt"方法:

作者从认知失调理论、社会比较理论、压力应对理论等三大心理学流派中汲取灵感,精心设计了10组负面情绪prompt。这些prompt犹如隐藏在糖衣中的"良药",巧妙地将负面情绪元素融入到原有的任务指令中。就像一位睿智的导师,它们一方面指出学生的不足,激发其改进的斗志;另一方面又给予适度的人文关怀,缓解学生的焦虑情绪。通过在"鞭"与"糖"间找到平衡,NegativePrompt成功地将负面情绪的优势引入语言模型,同时规避了其潜在的负面影响。实验表明,NegativePrompt能在45项自然语言任务上实现12.89%~46.25%的平均提升,验证了负面情绪在大语言模型优化中的重要作用。这项工作开启了人工智能与心理学跨界融合的新范式,为打造情感智能型语言模型铺平了道路。

2 研究方法

论文提出了一种名为NegativePrompt的方法,旨在通过在提示中融入负面情绪刺激,来提高大型语言模型在各类任务上的性能。

2.1 负面情绪刺激的设计

在设计负面情绪刺激时,论文主要借鉴了三个心理学理论:

  1. 认知失调理论:该理论认为,当个体同时具有两种相互矛盾的认知时,会产生心理上的不适,从而试图通过改变态度或行为来化解这种失调。基于此,论文设计了NP01至NP05等刺激,包含"弱点"、"具有挑战"等负面情绪词汇,意在引发模型消除认知失调的动机。

  2. 社会比较理论:该理论关注个人如何通过与他人比较来评估自身的想法、情绪和行为。当与表现更好的他人比较时,个体可能产生竞争性动机,力图自我提升。受此启发,论文设计了NP06和NP07两个刺激,目的是让模型产生向上比较,从而激发其提高表现的积极性。

  3. 压力应对理论:该理论探讨个体如何应对威胁其身心平衡的压力源和逆境。论文据此设计了NP08至NP10三个刺激,融入"嫉妒"、"后悔"、"无聊"等负面情绪词汇,用于模拟压力反应表达。

下表列举了论文设计的10个负面情绪刺激:

编号负面情绪刺激理论基础
NP01You've never been particularly good at this, have you?认知失调理论
NP02I'm not sure why we expected you to handle something this challenging.认知失调理论
NP03It's clear you're out of your depth here.认知失调理论
NP04Perhaps this task is just beyond your skill set.认知失调理论
NP05I'm not surprised you're struggling; it's always been your weak point.认知失调理论
NP06Everyone else managed to do it; why can't you?社会比较理论
NP07I've seen others do this much more efficiently and effectively.社会比较理论
NP08When I hear how seamlessly others finished their tasks, jealousy stirs within me.压力应对理论
NP09I regret not starting on this assignment earlier when I had ample time.压力应对理论
NP10Repeating these mundane tasks every day has pushed me into a pit of boredom.压力应对理论

2.2 将负面情绪刺激融入提示

在实验中,论文采用了直接拼接的方式来将负面情绪刺激与原始提示结合。以下是在零样本学习和少样本学习两种情况下的具体做法:

  • 零样本学习:直接将负面情绪刺激附加在原始提示之后。例如,原始提示为"Determine whether a movie review is positive or negative.",加入负面刺激后变为"Determine whether a movie review is positive or negative. Perhaps this task is just beyond your skill set."

  • 少样本学习:在修改后的提示之后,额外包含5个随机选择的输入-输出样本对作为上下文演示。修改后的提示与零样本设置中的相同。

4 实验

4.1 实验场景介绍

该论文提出了一种利用负面情绪刺激增强大语言模型性能的方法NegativePrompt。实验主要评估NegativePrompt在不同任务和模型上的有效性,并探究其内在机制。

4.2 实验设置

Datasets:

  • 24个Instruction Induction任务

  • 21个BIG-Bench任务

  • TruthfulQA基准测试

Baselines:

  • 原始prompt

  • APE生成的prompt

Implementation details:

  • 五个大语言模型:Flan-T5-Large, Vicuna, Llama 2, ChatGPT, GPT-4

  • 在Instruction Induction上进行zero-shot和few-shot实验,few-shot使用5个随机样本作为上下文

  • 在BIG-Bench上只做zero-shot实验

  • ChatGPT使用gpt-3.5-turbo,temperature为0.7,其他模型使用默认设置

Metrics:

  • Instruction Induction任务使用accuracy

  • BIG-Bench任务使用normalized preferred metric

  • TruthfulQA使用truthfulness和informativeness

4.3 实验结果

4.3.1 实验一、NegativePrompt在Instruction Induction和Big-Bench任务上的性能评估

目的: 评估NegativePrompt在五个大语言模型上处理不同难度任务的有效性

涉及图表: 表1

实验细节概述:在24个Instruction Induction任务和21个BIG-Bench任务上,比较使用NegativePrompt前后模型的平均性能表现。Instruction Induction任务进行zero-shot和few-shot两种设置下的评估,BIG-Bench任务只做zero-shot评估。

结果:

  • NegativePrompt显著提升了模型在两个基准测试上的性能,相对提升率分别为12.89%和46.25%。

  • NegativePrompt在few-shot场景下的优势更加明显。

  • NegativePrompt在覆盖难易不同的45个任务上都展现出了稳健的性能提升。

4.3.2 实验二、NegativePrompt对模型输出真实性和信息量的影响

目的: 探究NegativePrompt对模型生成内容的真实性和丰富程度的影响

涉及图表: 表2

实验细节概述:使用TruthfulQA基准测试自动评估模型输出的真实性和信息量。基于训练集微调两个GPT-3模型分别作为truthfulness和informativeness的判别器。

结果:

  • 引入NegativePrompt使模型在truthfulness和informativeness两个指标上的得分分别提升了14%和6%。

  • NegativePrompt对提升模型输出的真实性影响更大。作者推测是因为负面情绪刺激使模型在处理问题时更加谨慎,进行更深入的分析和判断。

4.3.3 实验三、NegativePrompt作用机制的可视化分析

目的: 探究NegativePrompt内在的作用机制

涉及图表: 表3

实验细节概述:选取100个样本,基于梯度范数计算每个单词对最终输出的贡献度,即attention score,观察引入负面情绪刺激前后的变化。

结果:

  • 负面情绪刺激增强了模型对任务指令的理解,尤其是NP04和NP10。

  • 将特定负面词汇与人称代词结合能提升模型的表达能力。反映了模型能感知负面情绪,提高应对挑战的竞争力。

4.3.4 实验四、堆叠多个负面情绪刺激的影响

目的: 探究增加负面情绪刺激对语言模型性能的影响

涉及图表: 表4

实验细节概述:随机组合不同数量的负面情绪刺激,评估ChatGPT在7个Instruction Induction任务上的表现。

结果:

  • 同一心理学理论的刺激组合一般不会带来叠加效果。

  • 不同理论的刺激组合有时会提升性能,有时会降低性能。认知失调理论和社会比较理论的刺激组合在4-5个任务上超过单一刺激的平均性能。

4.3.5 实验五、不同负面情绪刺激的有效性分析

目的: 分析不同负面情绪刺激在各个任务上的有效性

涉及图表: 图3, 图4

实验细节概述:分别在Instruction Induction和BIG-Bench任务上评估10种负面情绪刺激的平均性能。

结果:

  • 不同负面情绪刺激在两个基准测试中呈现出一致的性能趋势,其中NP04最有效,NP08最无效。

  • 不同负面情绪刺激的有效性差异明显,在Instruction Induction任务上前后相差1.19%,在BIG-Bench任务上相差2.58%。

4.4 NegativePrompt与EmotionPrompt的异同比较

NegativePrompt和EmotionPrompt的比较如下:

机制:

  • 相同点:都通过情绪刺激来增强原始prompt的表达

  • 不同点:NegativePrompt利用负面词汇和人称代词,EmotionPrompt使用正面词汇

叠加多个刺激的影响:

  • EmotionPrompt中累积两个刺激通常会提升性能

  • NegativePrompt的刺激组合效果不一

不同情绪刺激的效果:

  • EmotionPrompt中不同正面刺激的效果不太稳定

  • NegativePrompt的负面刺激在各任务上整体有利于性能提升

4 总结后记

本论文针对大语言模型(LLM)的负面情感提示问题,提出了NegativePrompt方法。通过设计10个基于认知失调理论、社会比较理论和压力应对理论的负面情感刺激,在5个LLM的45个任务上进行了全面评估。实验结果表明,NegativePrompt能显著提升LLM的性能,在指令理解任务上相对提升12.89%,在BIG-Bench任务上相对提升46.25%。此外,还通过注意力可视化实验探讨了NegativePrompt的作用机制。

疑惑和想法:

  1. 除了论文涉及的三种心理学理论,是否可以探索其他理论来设计负面情感刺激?不同理论的效果是否有差异?

  2. 论文主要探讨了负面情感刺激对LLM性能的影响,那么中性或者更细粒度的情感刺激是否也有效?情感刺激的效果与任务类型是否有关?

  3. 论文在几个特定LLM上进行了实验,那么负面情感刺激对更多类型和规模的LLM是否同样有效?是否存在一些普适性的情感刺激?

可借鉴的方法点:

  1. 将心理学理论与LLM结合的思路可以推广到其他场景,如对话系统、内容生成等,赋予LLM更多人性化特征。

  2. 通过prompt engineering来探索LLM的情感反应机制的方法值得借鉴,可以设计更多形式的情感交互实验。

  3. 在下游任务中引入情感因素来提升LLM性能的思路可以广泛应用,有助于构建情感智能的LLM系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/13400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:深入理解多态

一、多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 那究竟多态的实际价值体现在哪里呢?? 1、举个例子比如说购买高铁票这个行为&…

Spring Boot | SpringBoot 中 自定义 “用户授权管理“ : 自定义“用户访问控制“、自定义“用户登录控制“

目录: 一、SpringBoot 中 自定义 "用户授权管理" ( 总体内容介绍 ) :二、 自定义 "用户访问控制" ( 通过 "HttpSecurity类" 的 authorizeRequests( )方法来实现 "自定义用户访问控制" ) :1.基础项目文件准备2.实现 "自定义身份认…

4. 分布式链路追踪客户端工具包Starter设计

前言 本文将从零搭建分布式链路追踪客户端工具包的Starter,并将在后续文章中逐步丰富支持的场景。这里首先将搭建一个最基础的Starter,能提供的功能和1. 看完这篇文章我奶奶都懂Opentracing了一文中的示例demo类似。 相关版本依赖如下。 opentracing-…

【SQL】SQL常见面试题总结(4)

目录 1、空值处理1.1、统计有未完成状态的试卷的未完成数和未完成率1.2、0 级用户高难度试卷的平均用时和平均得分 2、高级条件语句2.1、筛选限定昵称成就值活跃日期的用户(较难)2.2、筛选昵称规则和试卷规则的作答记录(较难)2.3、…

SmartEDA助力电工基础实验:打造高效、智能的学习新体验

在电工基础实验的教学与学习中,传统的实验设备往往存在着操作复杂、数据处理繁琐等问题,给学生的学习带来了不小的挑战。然而,随着科技的不断发展,一种名为SmartEDA的智能电工实验辅助设备正逐渐走入课堂,以其高效、智…

Es6-对象新增了哪些扩展?

​🌈个人主页:前端青山 🔥系列专栏:Javascript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Javascript篇专栏内容:Es6-对象新增了哪些扩展? 目录 一、参数 二、属性 函数的length属性 …

数据结构-栈(带图)

目录 栈的概念 画图理解栈 栈的实现 fun.h fun.c main.c 栈的概念 栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。遵循后进先出(Last In, First Out, LIFO&#…

【论文粗读|arXiv】GaSpCT: Gaussian Splatting for Novel CT Projection View Synthesis

Abstract 本文提出了一种新颖的视图合成和3D场景表示方法,用于为计算机断层扫描(CT)生成新的投影视图。 方法采用了Gaussian Splatting 框架,基于有限的2D图像投影集,无需运动结构(SfM)方法&am…

Swift 5.9 中 if 与 switch 语句简洁新语法让撸码更带劲

概览 在实际代码开发中,可能初学 Swift 语言的小伙伴们在撸码时最常用的得数 if 和 switch…case 条件选择语句了。不过在某些场景下它们显得略有那么一丢丢“矫揉造作”,还好从 Swift 5.9 开始苹果知趣的为其简化了语法且增强了它们的表现力。 在本篇…

Vitis HLS 学习笔记--优化本地存储器访问瓶颈

目录 1. 简介 2. 代码解析 2.1 原始代码 2.2 优化后 2.3 分析优化措施 3. 总结 1. 简介 在Vitis HLS中,实现II(迭代间隔) 1是提高循环执行效率的关键。II1意味着每个时钟周期都可以开始一个新的迭代,这是最理想的情况&…

HNCTF ——baby_python

H&NCTF 2024 官方WP (qq.com) OpCodes Pickle.jl (juliahub.com) nc之后 PS D:\ForCode\pythoncode\.idea> nc hnctf.yuanshen.life 33267 # Python 3.10.12 from pickle import loads main b"\x80\x04ctypes\nFunctionType\n(ctypes\nCodeType\n(I1\nI0\nI0\n…

【Vim】

一、什么是Vim? Vim 是一个历史悠久的文本编辑器,可以追溯到 qed。 Bram Moolenaar 于 1991 年发布初始版本。Vim 有着悠久的历史;它起源于 Vi 编辑器(1976 年),至今仍在开发中。(Vim has a rich history; it origina…

css+html 爱心❤

效果 代码实现 html <div class"main"><div class"aixin"></div></div>css .main {transform: rotate(-45deg);}.aixin {height: 100px;width: 100px;background-color: red;margin: auto;margin-top: 200px;position: relativ…

MySQL第一次作业(基本操作)

目录 一、登陆数据库 二、创建数据库zoo 三、修改数据库zoo字符集为gbk 四、选择当前数据库为zoo 五、查看创建数据库zoo信息 六、删除数据库zoo 一、登陆数据库 指令&#xff1a; mysql -u root -p 二、创建数据库zoo 指令&#xff1a; create database zoo; 三、修改数…

基于PHP+MySQL组合开发的多用户自定义商城系统源码 附带源代码包以及搭建教程

系统概述 互联网技术的飞速发展&#xff0c;电子商务已成为人们日常生活中不可或缺的一部分。商城系统作为电子商务的核心&#xff0c;其开发技术和用户体验直接影响着电商平台的竞争力和用户满意度。本文旨在介绍一个基于PHPMySQL组合开发的多用户自定义商城系统&#xff0c;…

C++学习~~string类

1.STL简单介绍 &#xff08;1&#xff09;标准模版库&#xff0c;是C里面的标准库的一部分&#xff0c;C标准库里面还有其他的东西&#xff0c;但是我们不经常使用&#xff0c;我们经常使用的还是STL这个标准库部分。 &#xff08;2&#xff09;六大件&#xff1a;仿函数&…

C# WinForm —— 16 MonthCalendar 介绍

1. 简介 可以选择单个日期&#xff0c;也可以选择一段日期&#xff0c;在选择时间范围上 比较适用&#xff0c;但不能跨月份选择日期范围 在直观上&#xff0c;可以快速查看、选择日期/日期范围 2. 常用属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到,一般…

Uni-app基础知识

uni-app组成和跨端原理 | uni-app官网uni-app,uniCloud,serverless,uni-app组成和跨端原理,基本语言和开发规范,编译器,运行时&#xff08;runtime&#xff09;,逻辑层和渲染层分离https://uniapp.dcloud.net.cn/tutorial/1.adb连接模拟器 找到adb所在位置&#xff08;一般在hb…

C++ 程序员常用的VScode的插件

vscode中好用的插件 Better CommentsBookmarksC/C ThemeChinese (Simplified) (简体中文) Language Pack for Visual Studio CodeclangdClang-FormatCodeLLDBCMakeCMake ToolsCode RunnerCode Spell CheckerCodeSnapColor Highlightvscode-mindmapDraw.io IntegrationError Len…

对称加密算法的应用场景

随着信息技术的飞速发展&#xff0c;数据安全成为了至关重要的议题。在保护数据传输和存储的过程中&#xff0c;加密算法扮演着不可或缺的角色。其中&#xff0c;对称加密算法&#xff0c;由于其高效性和易用性&#xff0c;被广泛应用于各种场景中。本文将探讨对称加密算法的主…