CB-LLM 可信大模型,让大模型可解释

CB-LLM 可信大模型,让大模型可解释

    • 提出背景
    • 解法拆解
      • 目的
      • 问题
      • 框架图
        • 第1步:概念生成
        • 第2步:自动概念评分(ACS)
        • 第3步:训练概念瓶颈层(CBL)
        • 第4步:学习预测器
      • 例子:医疗问诊分类任务
        • 步骤1:概念生成
        • 步骤2:自动概念评分(ACS)
        • 步骤3:训练概念瓶颈层
        • 步骤4:学习预测器
      • 解法 = 自动概念纠正(ACC) + 可解释的模型结构设计
        • 子解法1:自动概念纠正(ACC)
        • 子解法2:可解释的模型结构设计
        • 解法逻辑链
    • 对比传统大模型
        • 步骤1:概念生成
        • 步骤2:自动概念评分(ACS)
        • 步骤3:自动概念纠正(ACC)
        • 步骤4:最终预测与解释生成

 


论文:https://arxiv.org/pdf/2407.04307

代码:https://github.com/Trustworthy-ML-Lab/Concept-Bottleneck-LLM

提出背景

我们介绍了概念瓶颈大语言模型(CB-LLM),这是一种开创性的方式,用于创建内在可解释的大语言模型(LLMs)。

与依赖于事后解释方法且对神经元功能洞察有限的传统黑箱LLMs不同,CB-LLM以其内置的可解释性、可扩展性以及提供清晰、准确解释的能力设立了新标准。

这一创新不仅推进了语言模型的透明度,还增强了它们的有效性。

我们独特的自动概念修正(ACC)策略成功地缩小了与传统黑箱LLMs的性能差距,使CB-LLM成为结合传统LLMs高准确性和清晰可解释性优点的模型,而这些优点在现有LLMs中显著缺失。

解法拆解

在本案例中,我们将提供一个详细的逻辑拆解,包括目的、问题、解法,并进一步详细解释解法的具体子解法及其逻辑结构。

目的

提高CB-LLM(概念瓶颈大型语言模型)的可解释性,并确保它在提供人类可理解解释的同时,能够达到高准确性并维持效率。

问题

  1. 概念评分的准确性依赖于句子嵌入模型的性能,存在概念分数可能与人类推理不一致的问题,从而影响模型学习。
  2. 传统的黑箱模型虽然准确性高,但缺乏可解释性,难以进行人为干预和调整。

框架图


这张图展示了我们的CB-LLM(概念瓶颈大型语言模型)的概览,旨在提高模型的可解释性。

图中分为四个主要步骤,简要说明如下:

第1步:概念生成
  • 过程:使用ChatGPT查询生成一组概念。例如,对于某个业务评价模型,概念可能包括“价格过高”,“食物不好吃”,“服务不专业”等。
  • 目的:这些概念用来捕捉和描述分类任务中的关键特征。
第2步:自动概念评分(ACS)
  • 过程:利用句子嵌入模型来评估文本样本与每个概念之间的相似度。
  • 目的:通过最大化概念和文本样本之间的相似度,为每个概念生成一个得分。

在这里插入图片描述
这张图展示了自动概念评分(ACS)的过程,它是通过句子嵌入模型实现的。

这个过程是之前解释的概念瓶颈大型语言模型(CB-LLM)的一部分。

以下是图中各个部分的详细说明:

文本 x:

  • 内容:显示了一个示例文本,“Worst company ever!!! No customer service. If you call on Sunday you’re out of luck and they don’t care!!”(最糟糕的公司!!!没有客户服务。如果你在周日打电话,你将无计可施,他们也不在乎!!)
  • 目的:这是要进行概念评分的输入文本。

概念列表:

  • 概念范例:包括诸如“Overpriced”(价格过高)、“Unappetizing food”(食物不美味)、“Unprofessional service”(服务不专业)、到“Reliable cleaning”(可靠的清洁服务)等。
  • 目的:这些是已定义好的概念,用于与输入文本进行比较,以评估文本与这些概念的相关性。

句子嵌入模型:

  • 过程:文本和各个概念被送入句子嵌入模型生成嵌入向量。
  • E(x)、E(c1)…E(ck):分别表示文本x和各个概念c1到ck的嵌入向量。

相似度计算:

  • 计算:通过计算嵌入向量的点积来衡量文本x与每个概念ci的相似性,公式为E(ci) · E(x)。
  • 结果:每个概念都会根据其与文本x的相似度得到一个分数。例如,对于“Unprofessional service”(服务不专业),得分是0.8,表示输入文本与这个概念非常相关。

概念分数 ( S_c(x) ):

  • 展示:列出了每个概念与文本x相似度的数值分数。
  • 例子:例如,“Unprofessional service” 的分数是 0.8,表明输入文本与这个概念高度相关。

这个图解清晰地展示了如何通过句子嵌入模型评估文本与一组预定义概念之间的相似度,这是构建可解释性更强的语言模型的关键步骤。

第3步:训练概念瓶颈层(CBL)
  • 过程:在预训练的语言模型基础上,引入概念瓶颈层(CBL),使用训练样本(如图中的负面评论例子)来调整模型,使其学习如何根据概念得分激活神经元。
  • 目的:通过这种方式,模型学习如何将抽象的文本特征映射到人类可解释的概念上。
第4步:学习预测器
  • 过程:在概念瓶颈层之后,添加一个线性层来进行最终的分类预测(例如,预测评论是正面还是负面)。
  • 目的:确保整个模型不仅能够提供高质量的预测,还能够通过可解释的概念层来解释这些预测。

这个框架旨在将传统的黑箱语言模型转变为具有高度可解释性的模型,通过清晰定义和使用概念,使得模型的决策过程更加透明和可靠。

例子:医疗问诊分类任务

假设我们有一个医疗问诊分类任务,目标是将患者的症状描述分类为“感冒”、“流感”或“过敏”。

步骤1:概念生成

我们首先利用ChatGPT生成与“感冒”、“流感”和“过敏”类别相关的概念集。例如,提示ChatGPT生成以下概念:

  • 对于“感冒”类别,可能的概念包括:

    • 轻微发热
    • 喉咙痛
    • 流鼻涕
    • 打喷嚏
  • 对于“流感”类别,可能的概念包括:

    • 高烧
    • 全身疼痛
    • 严重咳嗽
    • 乏力
  • 对于“过敏”类别,可能的概念包括:

    • 皮疹
    • 流鼻涕
    • 眼睛痒
    • 打喷嚏
步骤2:自动概念评分(ACS)

接下来,我们利用句子嵌入模型(如all-mpnet-base-v2)来计算每个文本样本与概念之间的相似性。

例如,给定以下文本样本:

  • 文本样本1:“我有点发烧,喉咙痛,还一直流鼻涕。”
  • 文本样本2:“我全身疼痛,高烧不退,咳嗽得很厉害。”

对于每个文本样本,我们计算其与所有概念的相似性分数:

  • 文本样本1的概念分数Sc(x1)可能是:

    • 轻微发热:0.80
    • 喉咙痛:0.90
    • 流鼻涕:0.85
    • 打喷嚏:0.60
    • 高烧:0.30
    • 全身疼痛:0.20
    • 严重咳嗽:0.40
    • 乏力:0.50
    • 皮疹:0.10
    • 眼睛痒:0.20
  • 文本样本2的概念分数Sc(x2)可能是:

    • 轻微发热:0.20
    • 喉咙痛:0.30
    • 流鼻涕:0.10
    • 打喷嚏:0.15
    • 高烧:0.95
    • 全身疼痛:0.90
    • 严重咳嗽:0.85
    • 乏力:0.80
    • 皮疹:0.05
    • 眼睛痒:0.10
步骤3:训练概念瓶颈层

我们将文本样本输入预训练的语言模型(如BERT),并通过CLS池化获得固定大小的嵌入。然后,训练概念瓶颈层(CBL)以最大化神经元激活与概念分数之间的相似性。例如,文本样本1的嵌入fLM(x1)将被投射到k维可解释嵌入空间,fCBL(fLM(x1))将与Sc(x1)进行对比,训练CBL以学习概念分数模式。

步骤4:学习预测器

最后,训练线性预测器来对下游任务进行预测。利用CBL的输出,训练一个线性层以区分文本样本是“感冒”、“流感”还是“过敏”。

通过以上四个步骤,我们成功将黑箱预训练模型转换为可解释的CB-LLM,既能提供高质量的预测,又能提供清晰的解释。这种方法可以帮助医生更好地理解模型的决策过程,从而更准确地诊断患者的病情。

解法 = 自动概念纠正(ACC) + 可解释的模型结构设计

子解法1:自动概念纠正(ACC)

因为需要提高概念评分的准确性并确保概念与预测的一致性。

  • 之所以用ACC子解法,是因为概念评分的不准确性特征。

例如,如果系统错误地将“价格过高”标记为正面,ACC可以识别并纠正这种评分,从而减少错误预测的影响。

子解法2:可解释的模型结构设计

因为需要使模型的决策过程对用户透明,允许用户直观理解和干预模型的决策。

  • 之所以使用可解释的模型结构设计子解法,是因为传统黑箱模型的不透明性特征。

例如,通过设计一个带有概念瓶颈层(CBL)的模型,可以明确每个神经元与具体概念的对应关系,用户可以直接观察到哪些概念对预测结果有影响,并据此作出调整。

解法逻辑链

首先通过ACC确保概念的准确性,然后通过可解释的模型结构设计进一步增强模型的透明度和用户的干预能力。

ACC提供了基础的概念纠正,而可解释的结构提供了用户界面和交互,两者相辅相成,共同推动模型的准确性和可解释性向前发展。

解法
├── 子解法1:自动概念纠正(ACC)
│   └── 目的:提高概念评分的准确性
│       └── 特征:概念评分的不准确性
│           └── 例子:纠正错误的“价格过高”标记
└── 子解法2:可解释的模型结构设计└── 目的:增强模型的透明度和用户干预能力└── 特征:传统黑箱模型的不透明性└── 例子:通过CBL展示概念与神经元的对应关系

这种结构表明,整个解法是通过增强概念评分的准确性和提供直观的模型结构来解决问题的,两者是顺序相关且互为支撑的关系。

 

对比传统大模型

一个患者描述了一系列症状:“我最近总是感觉疲劦,早上起来头很痛,偶尔还会感到眼前发黑。”

假设我们使用一个传统大模型来分析这段症状描述。

模型可能依赖于其在大规模数据集上的训练,其中不够注重症状间的细微联系和个体差异。

  • 输出结果:模型可能会预测这些症状指向常见的压力相关病状,如压力性头痛。
  • 解释难度:由于是黑箱模型,它不提供关于为何作出此预测的直接解释,医生难以评估模型的推断过程是否符合医学逻辑。
步骤1:概念生成

CB-LLM首先利用其自动化工具生成相关的医学概念集,这些可能包括“疲劳”、“头痛”、“视觉模糊”等。

这些概念是从医学数据库和以往的病例学习得到的,每个概念都有明确的医学定义和相关性。

步骤2:自动概念评分(ACS)

模型接着对每个概念在该患者症状描述中的表现进行评分。例如:

  • “疲劳”可能得到高分,因为患者直接提到了“总是感觉疲劦”。
  • “头痛”也得到高分,患者描述“早上起来头很痛”。
  • “视觉模糊”得分中等,因为“眼前发黑”可能暗示视觉问题。
步骤3:自动概念纠正(ACC)

通过ACC,CB-LLM进一步分析这些概念得分,并调整任何可能的误差。

例如,如果“视觉模糊”与其他症状在医学上常与其他原因关联,ACC可能调低这个概念的权重。

步骤4:最终预测与解释生成

结合所有调整后的概念得分,CB-LLM做出最终诊断预测,并生成解释。

例如,模型可能诊断为“低血压可能性高”,因为疲劳、头痛和视觉模糊都是低血压的常见症状。

模型将提供以下解释:

  • “根据症状‘疲劦’(得分0.9)、‘头痛’(得分0.8)和‘眼前发黑’(得分0.7),结合医学数据库中的相关数据,综合分析表明这些症状与低血压的关联性较高。”

通过这种方式,CB-LLM不仅提供了一个针对特定患者症状的个性化和精确的医学诊断,而且还提供了一个清晰的、基于数据驱动的解释路径,展示了是哪些具体的医学概念导致了特定的预测结果。

这使得医生和患者能够更好地理解模型的工作原理和做出的诊断建议,从而提高对模型输出的信任度和接受度。

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

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

相关文章

图片批量重命名bat,一个脚本快速搞定图片批量重命名

BAT 批处理 是一种在 Microsoft Windows 操作系统中使用的脚本语言,用于自动执行一系列预定义的命令或任务。这些命令集合通常存储在一个文本文件中,文件扩展名为 .bat 或 .cmd。批处理脚本可以包含简单的命令,如文件复制、移动、删除&#x…

单片机中有FLASH为啥还需要EEROM?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 一是EEPROM操作简单&…

WebRTC API接口教程:实现高效会议的步骤?

WebRTC api接口教程如何使用?WebRTC api接口的功能? WebRTC无需中间服务器即可传输音视频流,为视频会议、在线教育等应用提供了强大的支持。AokSend将详细介绍如何利用WebRTC API接口实现高效会议的步骤。 WebRTC API接口教程:获…

2024年福州延安中学夏季拿云杯拔尖创新人才素养测试

1、选择题 那么,mn的值是( ) A、1243 B、1343 C、4029 D、4049 2、填空题 一副扑克牌共54张,其中1到13点各有 4张,每个数字黑色红色各两张,还有两张王牌,至少要取出( )…

存储产品选型策略 OSS生命周期管理与运维

最近在看阿里云的 云存储通关实践认证训练营这个课程还是不错的。 存储产品选型策略、对象存储OSS入门、基于对象存储OSS快速搭建网盘、 如何做好权限控制、如何做好数据安全、如何做好数据管理、涉及对象存储OSS的权限控制、使用OSS完成静态网站托管、对OSS中存储的数据进行分…

论项目管理工作中的成本管理(20240528)

论项目管理工作中的成本管理 20240528 随着《“十四五”智能制造发展规划》的发布及其提出的2025发展目标及2035远景规划,国家对智能制造发展的重视程度进一步提升。生产制造企业对于智能制造转型的需求愈加迫切。2023年2月,XX电器制造企业为了解决企业…

前端直连小票打印机,前端静默打印,js静默打印解决方案

最近公司开发了一个vue3收银系统,需要使用小票打印机打印小票,但是又不想结账的时候弹出打印预览,找了很多方案,解决不了js打印弹出的打印预览窗口! 没办法,自己写了一个winform版本的静默打印软件&#xf…

【鸿蒙学习笔记】Stage模型

官方文档:Stage模型开发概述 目录标题 Stage模型好处Stage模型概念图ContextAbilityStageUIAbility组件和ExtensionAbility组件WindowStage Stage模型-组件模型Stage模型-进程模型Stage模型-ArkTS线程模型和任务模型关于任务模型,我们先来了解一下什么是…

鸿蒙语言基础类库:【@ohos.util.ArrayList (线性容器ArrayList)】

线性容器ArrayList 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 …

基于Java中的SSM框架实现疫情冷链追溯系统项目【项目源码+论文说明】

基于Java中的SSM框架实现疫情冷链追溯系统演示 摘要 近几年随着城镇化发展和居民消费水平的不断提升,人们对健康生活方式的追求意识逐渐加强,生鲜食品逐渐受到大众青睐,诸如盒马鲜生、7-fresh等品牌生鲜超市,一时间如雨后春笋般迅…

合合信息大模型加速器重磅上线,释放智能文档全新可能

目录 0 写在前面1 高速文档解析引擎:拓宽大模型认知边界2 文本嵌入模型acge:克服大模型感知缺陷3 行业赋能:以百川智能为例总结 0 写在前面 随着人工智能技术的飞速发展,大模型以强大的数字处理能力和深度学习能力,不…

Canvas:掌握图像变换合成与裁剪状态像素操作

想象一下,用几行代码就能创造出如此逼真的图像和动画,仿佛将艺术与科技完美融合,前端开发的Canvas技术正是这个数字化时代中最具魔力的一环,它不仅仅是网页的一部分,更是一个无限创意的画布,一个让你的想象…

java使用poi-tl模版引擎导出word之if判断条件的使用

文章目录 模版中if语句条件的使用1.数据为False或空集合2.非False或非空集合 模版中if语句条件的使用 如果区块对的值是 null 、false 或者空的集合,位于区块中的所有文档元素将不会显示,这就等同于if语句的条件为 false。语法示例:{{?stat…

视图库对接系列(GA-T 1400)十四、视图库对接系列(本级)新增、修改订阅

说明 之前我们已经对接的设备,设备的话比较简单,是设备主动推送数据到平台的。 相信大家已经会了,那今天开始的话,我们来做对接平台,相对难点点。 但搞懂了核心的订阅流程的话,其实就不难了。 对接平台 订阅接口 订阅接口的话,有几个,添加、查询、更新、删除、取消…

Linux镜像源设置不再难:一键脚本,新手也能成为优化高手(一键切换镜像源/Docker一键安装脚本)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 更换镜像源 📒📝 一键切换软件源📝 Docker一键安装脚本⚓️ 相关链接 ⚓️📖 介绍 📖 在国内,Linux系统用户经常会遇到下载软件包时速度慢的问题,这通常是因为默认的镜像源并不总是最优选择。对于新手来说,手动设置…

亚马逊速卖通卖家必看:自养号测评策略,下单高效防关联全攻略

在跨境电商的激烈竞争中,自养号测评策略已成为众多卖家追求低成本、高效推广的优选路径。然而,其成功实施离不开一系列精心策划与严格执行的关键要素。以下是对这些核心条件的深入剖析,旨在指导您安全、有效地构建并运营自养号测评体系。 一、…

【内网渗透】MSF渗透阶段的常用指令笔记

目录 渗透阶段划分 msfvenom 常用参数 各平台生成payload命令 Meterpreter Meterpreter的常用命令 基本命令 常用命令 针对安卓手机的一些命令 针对Windows的一些命令 文件系统命令 生成木马反弹shell(以linux靶机为例) 木马生成 配置监控 攻击利用 渗透阶段划分…

从零开学C++:入门

引言:经过C语言和数据结构等编程知识的洗礼,到了暑假,我们就将要踏上C编程语言的学习了,C的学习难度比python等其他语言的学习难度更大,但是我们已经熟练地掌握了C语言的知识,相信学习起来C应该还是会简单许…

RSRS研报复现——年化21.5%,含RSRS标准分,右偏标准分的Backtrader指标计算(代码+数据)

原创文章第583篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 继续Backtrader,今天讲讲指标扩展。 作为规则型的量化框架,指标是非常重要的元素,它是策略的基础。 我们来扩展一个经典的指标,RSR…