新算法UoT助力AI提问——主动寻求信息,任务完成率提高57.8%

引言:信息寻求在不确定性环境中的重要性

在不确定性环境中,信息寻求的能力至关重要。在许多实际应用中,如医学诊断和故障排除,解决任务所需的信息并非一开始就给出,而需要通过提问后续问题来主动寻求(例如,医生询问患者更多关于症状的细节)。本文介绍了一种算法——不确定性思维(Uncertainty of Thoughts,UoT),该算法通过提问有效问题来增强大语言模型的主动信息寻求能力。UoT结合了不确定性模拟、基于信息增益的奖励以及奖励传播方案,使模型能够在最大化预期奖励的方式下选择最佳问题。在医学诊断、故障排除和“20个问题”游戏的实验中,UoT在多个大语言模型(LLMs)上平均提高了57.8%的任务成功完成率,并提高了效率(即完成任务所需的问题数量)。此基准测试和代码已公开发布。

论文标题:Uncertainty of Thoughts: Uncertainty-Aware Planning Enhances Information Seeking in Large Language Models

公众号「夕小瑶科技说」后台回复“UoT”获取论文pdf。

UoT方法概述:结合不确定性模拟、信息增益奖励和奖励传播

1. 不确定性模拟:UoT首先生成多个候选问题,并模拟每个问题可能的未来场景及其发生的可能性,形成树状结构。

2. 信息增益奖励:在模拟中,使用基于信息增益的奖励来评估问题。这种奖励激励模型寻求信息,以最大限度地减少其不知道的信息量。

3. 奖励传播:利用奖励传播方案来计算提出每个候选问题的预期奖励,从而选择具有最高预期奖励的问题作为提问对象。

UoT方法通过模拟可能的未来场景来使模型能够预测不同问题的潜在价值,并通过奖励机制引导模型选择能够最大化信息增益的问题。这种方法不仅提高了任务完成的成功率,还提高了效率,减少了达成目标所需的问题数量。

问题生成与模拟:如何通过LLM生成候选问题并模拟未来情景

1. 问题生成

在信息寻求的任务中,如医疗诊断或故障排除,生成候选问题是关键的第一步。Uncertainty of Thoughts (UoT) 算法通过大语言模型(LLM)生成一系列候选问题。这些问题基于当前的对话历史和可能性集合,即所有可能的选项,例如所有相关的疾病或故障类型。例如,在医疗诊断中,如果患者报告说他们的喉咙红肿,LLM可能会生成如“你有发烧吗?”或“你最近有呕吐吗?”等问题。

2. 多步模拟

生成问题后,UoT 通过模拟未来几个步骤的可能情景来评估每个问题。这个模拟过程形成了一个树状结构,其中包括回答者节点和提问者节点。例如,对于问题“你有呕吐吗?”,模型会模拟肯定和否定的答案,并为每个可能的答案生成新的问题,进一步扩展对话树。这样,模型可以预测每个问题可能带来的信息增益,并选择最有可能减少不确定性的问题。

基于不确定性的奖励计算:信息增益如何衡量问题的有效性

1. 不确定性与信息增益

在UoT算法中,问题的有效性通过信息增益来衡量,即通过提问减少的不确定性。信息增益是信息论中的一个概念,用于衡量观察到某个事件后不确定性的减少量。在上下文中,信息增益用于评估一个问题在接收到答案后能够减少多少关于未知选项的不确定性。

2. 熵与条件熵

UoT使用熵来衡量随机变量的不确定性水平。在对话树的每个节点上,模型计算当前可能性集合的条件熵,这反映了在给定当前对话历史后剩余的不确定性。当接收到一个答案时,这个集合会被进一步限制,从而减少熵。信息增益是在接收到答案后熵的减少量,这个量用于计算每个问题的奖励。

3. 奖励函数

UoT定义了一个奖励函数,将信息增益转化为奖励值,这些值在[0, 1]范围内。奖励值越高,表示问题在减少不确定性方面越有效。这个奖励函数帮助模型选择那些预期能最大化信息增益的问题。

通过奖励传播进行问题选择:如何选择最大化预期奖励的问题

1. 累积奖励

UoT算法通过奖励传播机制来选择问题。首先,它计算每个节点的累积奖励,这是该节点及其所有祖先节点奖励的总和。这个累积奖励反映了从对话开始到当前节点的总奖励。

2. 预期奖励

接下来,模型计算每个节点的预期奖励,这是在该节点及其所有后代节点上预期接收的总奖励值。预期奖励从叶子节点向根节点传播,使得模型能够在根节点处计算出每个候选问题的预期信息增益。

3. 选择最优问题

最后,UoT选择具有最高预期奖励的问题作为下一个提问。这个过程考虑了即时和未来的信息增益,确保选择的问题能够在整个对话过程中最大化信息收集,从而提高任务完成的成功率和效率。

实验设置:评估UoT在不同LLMs上的通用性

1. 模型选择

在实验中,为了评估UoT算法在不同大语言模型上的通用性,研究者选择了多种LLMs进行测试。这些模型包括Llama 2-70B-Chat、Cohere、PaLM 2、Claude 2、GPT-3.5-turbo和GPT-4。这些模型的选择涵盖了开源和商业模型,旨在验证UoT方法的广泛适用性。

2. 基线方法

实验中使用了多种基线方法进行比较,包括直接提示(Direct Prompting)在开放集(DPOS)和封闭集(DPCS)设置中的表现,规划提示(Planning Prompting,PP)、Chain-of-Thought(CoT)、CoT-SC(Self-Consistency)、Reflexion和Tree-of-Thoughts(ToT)在两种设置下的表现。这些基线方法代表了目前LLMs在信息获取和规划能力方面的不同方法。

3. 场景和数据集

实验设计了三种场景:20 Questions游戏、简化的医疗诊断任务和基本的故障排除任务。这些任务旨在衡量模型提问有效性的能力。例如,20 Questions游戏要求模型提出“是”或“否”的问题来确定一个未知的对象或实体。医疗诊断和故障排除任务则模拟现实世界中的交互,如医生询问病人症状以确定诊断,或技术支持人员与客户互动以识别和解决问题。

实验结果与分析:UoT在多个任务中提高成功率和效率的表现

1. 20 Questions

在20 Questions游戏中,所有类型的LLMs配备UoT后,在DPOS和DPCS设置中均表现优于基线方法。特别是在GPT-4上,UoT实现了最高的成功率,平均比第二好的Reflexion高出7.5%。此外,UoT在成功案例中的平均对话轮数也比Reflexion少2轮,显示出更高的效率。

2. 医疗诊断

在简化的医疗诊断任务中,UoT在DX数据集上配备GPT-4时,成功率达到了97.0%。在MedDG数据集上,UoT在PaLM 2和GPT-4上的成功率分别为80.7%和88.0%。UoT显著减少了对话长度,GPT-4在DX数据集上的平均MSC为2.0,低于DPOS和DPCS方法的3.5和3.0。

3. 故障排除

在故障排除任务中,UoT同样实现了最高的成功率(SR)为67.3%,以及最低的成功案例中的平均对话轮数(MSC)为7.8。当配备UoT时,GPT-3.5在封闭集设置中的成功率从22.6%提高到67.1%。

4. 总体表现

平均而言,UoT在5个数据集和6种不同LLMs上,与DPCS相比,成功率提高了57.8%。

  • 特别是对于Cohere,成功率提高了102.8%。

  • UoT的表现也超过了CoT-SC 38.4%和Reflexion 31.2%。即使与使用树结构方法的Original-ToT和Adapted-ToT相比,UoT仍然显示出更优的性能,分别提高了33.7%和17.7%。

  • 为提高效率而设计的Pruned UoT方法,也比Adapted-ToT高出10.4%。

UoT的优势和效率:与现有方法相比UoT的改进

1. 优势分析

UoT的主要优势在于其能够通过模拟可能的未来场景、基于不确定性的奖励和奖励传播机制,有效地引导模型减少不确定性并提出最佳问题。这种方法与现有的基于直接提示或仅基于给定信息进行推理或规划的方法不同,UoT通过积极寻求信息来提高模型的性能。

2. 效率提升

UoT不仅提高了成功率,还提高了效率,即完成任务所需的问题数量。例如,在20 Questions游戏中,UoT在成功案例中的平均对话轮数比Reflexion少,而在医疗诊断任务中,UoT在GPT-4上的平均MSC远低于其他方法。这表明UoT能够更快地收敛到正确的答案,减少了资源的消耗

3. 与现有方法的比较

UoT与现有方法相比,在多个任务中都显示出显著的性能提升。例如:

  • 在20 Questions游戏中,UoT比Reflexion平均高出7.5%的成功率;

  • 在医疗诊断任务中,UoT的成功率远高于DPOS和DPCS方法;

  • 在故障排除任务中,UoT也实现了最高的成功率和最低的对话轮数。

这些结果表明,UoT在处理不确定性和模糊性高的任务中,比现有方法更有效。

开放集和修剪UoT的性能:在开放集场景中UoT的适用性

在开放集场景中,问题提问者(Questioner)并不初始就知晓所有可能的选项集合(即可能性空间Ω),这与封闭集场景形成对比。在这种情况下,UoT需要适应性地初始化并根据当前的交互历史不断调整可能性集合Ωi。这种开放集的适用性是UoT的一项重要扩展,因为它更接近现实世界中的不确定性和信息寻求场景。

为了适应开放集场景,UoT采用了一种特定的方法,即在交互开始时提示问题提问者初始化可能性空间Ω,然后根据交互历史hi重新初始化可能性集合Ωi。在此之后,UoT的其他部分保持不变,继续通过模拟、基于不确定性的奖励和奖励传播机制来选择最优问题。

此外,UoT还引入了修剪机制,类似于Beam Search,在构建模拟树时提高效率,通过限制探索树上的路径数量来减少计算量。这种修剪方法被称为修剪UoT,它在实验中表现出了提高效率的潜力,与Adapted-ToT相比,修剪UoT在成功率上提高了10.4%。

在开放集场景下的性能评估中,UoT相比于直接提示(DPOS)方法,在20 Questions、Medical Diagnosis和Troubleshooting任务中平均提高了17.4%的成功率,这进一步证明了UoT在开放集场景中的有效性和实用性。

讨论与未来工作:UoT的局限性和未来研究方向

尽管UoT在多个数据集和任务中表现出色,但它仍然存在一些局限性和未来的研究方向。

  • 首先,UoT目前主要关注于封闭集场景,即问题提问者初始就知晓所有可能的选项集合。然而,现实世界中的问题往往更加开放和不确定,这要求UoT能够更好地适应开放集场景。

  • 其次,UoT在处理答案时假设答案可以分为少数几个语义上不同的类别,如肯定和否定回答。这种假设简化了不确定性度量的计算,但在现实世界中,答案可能更加复杂和多样化。因此,未来的工作可以探索如何将UoT扩展到更广泛的答案选择中。

  • 此外,UoT的模拟步骤目前被限制在三步以内,这是为了在效率和效果之间取得平衡。未来的研究可以探索更深层次的规划和模拟,以进一步提高UoT的性能。

  • 最后,UoT目前在简化的场景中进行评估,如20 Questions游戏和简化的医疗诊断任务。更现实的场景,如完全开放式的医疗诊断或故障排除任务,可能会带来额外的挑战,例如答案可能无法完全排除某些可能性,或者问题和答案可能完全开放式。这些挑战需要未来的研究来解决。

总结:UoT在主动信息寻求任务中的新基准和潜力

本文介绍的Uncertainty of Thoughts (UoT)算法,通过树状模拟、基于不确定性的奖励和奖励传播机制,显著提高了大型语言模型在需要主动信息寻求的任务中的性能。在五个数据集上的实验结果表明,UoT平均提高了57.8%的成功率,为评估大型语言模型在主动信息寻求任务中的能力树立了新的基准。

UoT的有效性不仅体现在封闭集场景中,其对开放集场景的适应性和修剪机制的引入,进一步证明了其在现实世界中应用的潜力。未来的研究将需要解决UoT在处理更复杂答案和更现实场景中的局限性,以及探索更深层次的规划和模拟,以进一步提升其性能和实用性。

公众号「夕小瑶科技说」后台回复“UoT”获取论文pdf。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MobaXterm的SFTP文件上传/下载

一、MobaXterm的简介 MobaXterm是一款功能强大的远程计算工具,集成了诸多网络工具和便利功能,包括SSH、X11服务器、SFTP等,支持Windows系统。用户可以使用MobaXterm来轻松管理远程服务器,进行文件传输,远程桌面显示等操…

Rocky 8.9 Kubespray v2.24.0 在线部署 kubernetes v1.28.6 集群

文章目录 1. 简介2. 预备条件3. 基础配置3.1 配置hostname3.2 配置互信 4. 配置部署环境4.1 在线安装docker4.2 启动容器 kubespray4.3 编写 inventory.ini4.4 关闭防火墙、swap、selinux4.5 配置内核模块 5. 部署 1. 简介 kubespray​ 是一个用于部署和管理 Kubernetes 集群的…

掌握array_walk()函数:解锁PHP数组操作的神奇力量!

掌握array_walk()函数:解锁PHP数组操作的神奇力量! 在 PHP 开发过程中,我们经常需要对数组进行遍历和处理。array_walk() 函数是 PHP 函数库中的一个重要工具,它提供了一种便捷的方式来对数组中的每个元素执行自定义操作。本文将深…

【EI会议征稿通知】2024年第四届计算机视觉与模式分析国际学术大会(ICCPA 2024)

2024年第四届计算机视觉与模式分析国际学术大会(ICCPA 2024) 2024 4th International Conference on Computer Vision and Pattern Analysis (ICCPA 2024) 第四届计算机视觉与模式分析国际会议(ICCPA 2024)将于2024年5月17日至1…

Unity编辑器扩展之是否勾选Text组件BestFit选项工具(此篇教程也可以操作其他组件的属性)

想要批量化是否勾选项目预制体资源中Text组件BestFit属性(此篇教程也可以操作其他组件的属性,只不过需要修改其中对应的代码),可以采用以下步骤。 1、在项目的Editor文件中,新建一个名为TextBestFitBatchProcessor的…

忘记管理员密码

1、在/home/jenkins/config.xml中删除&#xff1a; <useSecurity>true</useSecurity><authorizationStrategy class"hudson.security.FullControlOnceLoggedInAuthorizationStrategy"><denyAnonymousReadAccess>false</denyAnonymousRea…

html+css+jquery实现轮播图自动切换、左右切换、点击切换

pc端也好、移动端也好&#xff0c;轮播图很常见&#xff0c;今天用htmlcssjquery实现小米商城轮播图&#xff0c;套UI框架更容易实现 步骤1&#xff1a;把静态轮播图用divcss布局出来&#xff0c;采用盒子模型、相对绝对定位实现 代码如下&#xff1a; <!doctype html>…

leetcode:无重复字符的最长字串(详解)

文章目录 一、题目描述&#xff1f;二、题解方案一&#xff1a;容易理解&#xff08;时间复杂度O(n)&#xff09;方案二&#xff1a;滑动窗口&#xff08;时间复杂度O(n)&#xff09; 一、题目描述&#xff1f; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最…

十二:枚举与注解

文章目录 01、枚举类的使用1.1、枚举类的理解1.2、自定义枚举类1.3、使用enum关键字定义枚举类1.4、Enum类中的常用方法1.5、使用enum关键字定义的枚举类实现接口 02、注解的使用2.1、注解的理解2.3、如何自定义注解2.4、jdk中4个基本的元注解的使用12.5、jdk中4个基本的元注解…

补-代码随想录第23天|● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

二叉树最后一天 ● 669. 修剪二叉搜索树思路一&#xff1a;递归递归三部曲代码&#xff1a; 思路二&#xff1a;迭代代码&#xff1a; ● 108.将有序数组转换为二叉搜索树思路&#xff1a;递归代码;[左闭右闭] ● 538.把二叉搜索树转换为累加树思路&#xff1a;递归 代码&#…

java基础训练题(2)

一、题目 1. 以下程序输出&#xff08;D&#xff09; public static void main(String[] args) {int num 2;switch (num) {case 1:num;case 2:num;case 3:num;default:num;break;}System.out.println(num);} } A&#xff1a;2 B&#xff1a;3 C&#xff1a;4 D&#xff…

解决本地googleapis 谷歌统计 nodejs 遇到 ECONNRESET和 ETIMEDOUT

在本地通过谷歌分析接口, 获取网站的访问量统计, 用于在管理端面板世界地图显示 获取分析数据的部分代码,这部分很简单示例有 // 获得前10个页面浏览量与页面标题在过去30天 const {BetaAnalyticsDataClient} require(google-analytics/data); const analyticsDataClient ne…

62-JS-canvas画布高斯模糊之图像操作

将一张图片放到canvas画布上 1.绘制图像drawImage <img src="./3.webp" alt=""><canvas></canvas><script>var canvas = document.getElementsByTagName("canvas")[0];canvas.width = 500;canvas.height = 500;var a …

“薪”的一年程序员裁员潮技术变革情况下 程序员就业机会在哪里?

引言&#xff1a;一对来自中国的工程师夫妻在美国的不幸身亡&#xff0c;疑似与谷歌的裁员有关&#xff0c;这一事件再次引发了人们对技术变革下裁员对程序员影响的关注。 一、针对裁员潮的一些看法 在我看来&#xff0c;技术变革对程序员的影响是双面的。一方面&#xff0c;…

anomalib1.0学习纪实-续3:结合python lightning理思路

一、python lightning python lightning是个好东西&#xff0c;但不见得那么友好。 GPT4给我讲解了他的用法&#xff1a; 二、anomalib的思路 1、 创建一个Lightning Module。 首先&#xff0c;在src\anomalib\models\components\base\anomaly_module.py中&#xff0c; cl…

你真的了解—————NumPy吗

&#x1f308;个人主页&#xff1a;小田爱学编程 &#x1f525; 系列专栏&#xff1a;opencv &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到小田代码世界~ &#x1f601; 喜欢的…

2024-02-19(Flume,DataX)

1.flume中拦截器的作用&#xff1a;个人认为就是修改或者删除事件中的信息&#xff08;处理一下事件&#xff09;。 2.一些拦截器 Host Interceptor&#xff0c;Timestamp Interceptor&#xff0c;Static Interceptor&#xff0c;UUID Interceptor&#xff0c;Search and Rep…

Docker从入门到上天系列第一篇:Docker开篇介绍

&#x1f609;&#x1f609; 欢迎加入我们的学习交流群呀&#xff01; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring、Security、Docker、Grpc、消息中间件、Rpc、SpringCloud等等很多应用和源码级…

如何在iStoreOS软路由系统中安装cpolar实现公网远程本地电脑桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能&#xff0c;也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…

git上传报错:Object too large, rejecting the pack

在gerrit设置了最大不能上传超过600M的文件&#xff0c;今天开发遇到推送问题&#xff1a; 结果到本地怎么也找不到大文件。 后来只能按commit排查&#xff0c;用如下命令排查到了&#xff1a; 解决方法,将大文件去掉&#xff1a;&#xff08;commitid为大文件所在commit&…
最新文章