【杂记】裂脑人实验和语言模型幻觉

2024-09-06 20:52

本文主要是介绍【杂记】裂脑人实验和语言模型幻觉,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【杂记】裂脑人实验和语言模型幻觉

模型的自主意识在哪里,人的自我认知在哪里?自然而然的,“裂脑人” 这个词突然出现在我脑海里。然后随意翻了翻相关的文章,觉得这个问题和目前大模型面临的幻觉问题也高度相关,遂随笔记录。

裂脑人

什么是裂脑人?人的大脑左右半脑本来是一个整体,因为先天或者后天的原因让左右半脑分开不产生连接,就是“裂脑”。过去这个方法被作为控制恶性癫痫的治疗手段。

一些铺垫知识

  • 我们也知道左脑和右脑负责的功能是不一样的。比如语言组织,思考推理主要由左脑负责,右脑负责一些空间推理,直觉等
  • 左脑控制人身体的右半边:比如你的右眼,你的右胳膊
  • 相应的,右脑控制你身体的左半边:比如你的左眼,右胳膊

两个实验

下面加扎尼加是对于受试者(后天裂脑人)的两个实验

挥手实验->语言编造

实验者给受试者的“左眼”展示“挥手”一词(让右脑知道“挥手”信息),并让受试者按照信息行事。这时受试者便挥了挥手。

此时,实验者准备刁难一下受试者的左脑(左脑没见过“挥手”,但是知道自己挥手了),实验者问受试者你为什么刚才挥手?受试者此时犹豫了片刻之后回复到:以为刚才看见了一个朋友,所以挥了挥手。

联想实验->语言编造

实验者让受试者左眼看到一幅雪景,右眼看到一只鸡脚,然后让他在桌子上的卡片中,左右手各挑选一张有关联的卡片。

受试者由右脑控制的左手挑的是一个铲雪的铲子,而由左脑控制的右手则是挑了一只鸡。

而这一次受试者的解释是:因为看到了鸡爪所以挑选鸡,而挑铲子是因为要用它打扫鸡厩!
(这时因为受试者用语言解释的时候只能依赖左脑,而左脑知道右眼见过鸡,却不知道左眼见过雪景)
请添加图片描述

裂脑人的幻觉

上面两个例子中,受试者都产生了幻觉!产生幻觉的原因,都是由于负责推理和表达的左脑不知道仅仅传递给右脑的信息,然后做出了臆想。

模型的幻觉

铺垫了这么久,可以谈谈大模型了。我们都知道大语言模型也经常产生幻觉!当然大语言模型的幻觉的定义不是那么统一,姑且这么称呼吧。

在过去的实验中,我发现无论给模型过多的信息或者过少的信息,模型都容易产生严重的幻觉!

比如下面有一段文字(省略了很多内容)

Spam msubi是夏威夷一种流行的小吃和午餐食物,它是由... ...在日语中又被称作 ...

我问大模型,请提取上面这段内容中和 (Spam,流行小吃,午餐食物, 夏威夷) 相关的内容,大模型可以正确的回答 Spam是夏威夷一种流行小吃和午餐食物

但是!如果我问大模型请提取上面这段内容中和 (Spam,罐装,流行小吃,午餐食物, 夏威夷)相关的内容,大模型则会错误的回答 Spam是夏威夷一种流行小吃和罐装午餐食物

当然上面的例子只是在我之前某次实验提供过多信息发现模型容易产生幻觉,相应的那些由于缺少信息产生的幻觉更是数不胜数。

解决幻觉

从这里开始都是我的瞎说~

  1. 首先就是信息不能过多也不能过少,在之前的实践中我就是这么进行的,并且发现这样做确实能够一定程度的缓解幻觉。作为一个头疼医头,脚疼医脚的策略。
  2. 我猜想人的大脑能够独立并协同工作也是正常人抑制幻觉的重要能力。比如说 (a)裂脑人只依赖左脑回答问题比正常人左右脑协同工作更多产生幻觉 (b)当人似醒未醒,或者被酒精麻痹了状态下(此时大脑的前额叶并没有苏醒进入工作状态或者是酒精中毒了),人总是会胡言乱语产生大量幻觉。胡说八道的大模型类比成大脑各部分还没配合起来的人类。 人的大脑各个部分不仅可以独立工作,还可以互相监督。而目前的语言模型,并没有类似的能力(多agent的操作可能有点类似)。

这篇关于【杂记】裂脑人实验和语言模型幻觉的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143093

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、