论文浅尝 | KAM-CoT: 利用知识图谱进行知识增强的多模态链式推理(AAAI2024)

6639fb879e42843231aaaf85570ed986.png

笔记整理:沈小力,东南大学硕士,研究方向为多模态大预言模型、知识图谱

论文链接:https://arxiv.org/abs/2401.12863

发表会议:AAAI2024

1. 动机

本文探索了知识图谱在扩展大语言模型的多模态能力的效果,提出了KAM-CoT框架。将CoT(Chain-of-Thought)推理、知识图谱(KGs)以及多种模态融入大语言模型,以促进对多模态任务的综合理解。在多模态视觉问答(VQA)任务上,该框架在较少的训练参数下达到了当前的SOTA效果。

KAM-CoT框架旨在应对多模态理解和幻觉问题的挑战,并力图用较低的可训练参数数量(280M)实现能与更大模型相比的高性能。KAM-CoT创新性地将知识图谱和CoT推理相结合:通过在推理过程中引入外部知识,提高了模型对复杂问题的解决能力和答案的质量。

6655f81f0def4e5145c24015b0dd2631.png

如上图所示,该图展示了一个视觉问答任务,通过问题“这次推的方向是什么?”(选项:朝向或远离棍子),结合图中女孩用棍子打皮纳塔的场景,以及知识图谱中“推”和“拉”动作的语义关系(推对应远离,拉对应朝向),最终得出答案为“远离棍子”。知识图谱的加入,通过明确语义关系、消除歧义和强化理解,显著提高了视觉问答系统的理解和回答准确性。

2. 方法

下面介绍本文的核心想法,如下图所示:

903336928106ee8a8977342e3da7176b.png

KAM-CoT该模型接收三种模态的输入:

  • Text Encodinng模块:使用基于Transformer的语言编码器对文本信息进行编码。

  • Image Encoding模块:利用基于Transfomer的图片编码器对图片信息进行编码。

  • Graph Encoding模块: 首先,该工作针对问题及其上下文抽取相关子图。该工作以ConceptNet作为知识源,根据问题的上下文抽取相关的三元组(triples),其中,三元组中的关系分为17种不同的类型,每种类型可以是前向或后向的,总共产生34种可能的边的类型。三元组之后被转化为句子,并存储为相应的句子模式。这些模式用于从问题、上下文和答案选项中提取节点。然后,通过考虑每个节点的一跳(1-hop)和二跳(2-hop)邻居节点,构建一个连接所有相关节点的图。子图提取完成后,该工作利用GNN对图数据进行编码。

此外,KAM-CoT框架采用了一个两阶段的输出过程:

  • 第一阶段:生成推理(Rationale Generation),该阶段的目标是生成一个推理过程,帮助理解问题到答案的逻辑步骤。输入包括文本、图像和图特征,这些通过各自的编码器进行处理。然后,模型通过交叉注意力机制整合这些信息,最终通过Transformer解码器生成推理过程的文本。

  • 第二阶段:答案识别(Answer Identification)。在此阶段,模型会使用第一阶段生成的推理过程作为额外的输入,来选择或生成正确的答案。具体而言,模型将第一阶段生成的推理文本与原始问题、上下文和答案选项一起作为输入。在这个过程中,模型会重复第一阶段的编码、交互和融合步骤,但这次会包含推理文本作为输入的一部分。最后,模型基于扩展的输入和融合的特征表示,使用Transformer解码器再次生成或选择正确的答案,并输出最终结果,该结果还会包含相应的解释或推理过程。

3. 实验

本文的主要实验结果如下图所示:

8d6e050ac3577765b6f4760676554dd8.png

实验结果表明,在没有其他辅助模型的条件下,本文提出的KAM-CoT在300M的模型大小下优于所有其他已知的方法。其中:KAM-CoT在ScienceQA数据集上表现出色,平均准确率达到93.87%,分别超过了GPT-3.5(75.17%)18%和GPT-4(83.99%)10%。

作者对模型中不同组件对最终性能的具体影响进行了研究:结果显示,将标题作为上下文并用于节点提取可以提高模型的平均准确率。

2ae4790d43fed5920f5005f2bf06e6d0.png

此外,作者研究了不同图形编码器对实验结果的影响:对比CLIP,本文工作使用的DETR图形编码器达到了更高的准确率以及更高的RougeL分数:

2e6b41c12a6d23fb38ed7d14615d94ec.png

作者还对使用不同数量的节点对结果的影响进行了研究:结果显示,更多的节点有助于模型更好地进行推理和选择正确答案:

c68304ccf53cd7950bdb3d8f2fbe5821.png

4. 总结

该论文提出了KAM-CoT(知识增强的多模态链式思维推理),这是一种增强语言模型推理能力和答案质量的方法。KAM-CoT框架结合了链式思维(CoT)推理、知识图谱(KGs)和其他模态,以全面理解多模态任务。研究中提出了一些融合这些模态的方法,并发现将KG纳入两阶段训练过程中有助于减少幻觉(hallucinations)。尽管KAM-CoT仅使用了2.8亿个参数,但它在ScienceQA数据集上达到了93.87%的平均准确率,超越了GPT-3.5(75.17%)和GPT-4(83.99%),分别提高了18%和10%,显示出了其成本效益和有效性。

未来的工作方向包括进一步整合特定的知识密集型领域,探索高效的融合机制,并希望将此解决方案扩展到像LLaMA家族这样的更大规模的模型上。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

a9c11135acace373832ee37a791987b1.png

点击阅读原文,进入 OpenKG 网站。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

在jupyter notebook中取消代理服务器的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

使用GPU 加速 Polars:高效解决大规模数据问题

Polars 最近新开发了一个可以支持 GPU 加速计算的执行引擎。这个引擎可以对超过 100GB 的数据进行交互式操作能。本文将详细讨论 Polars 中DF的概念、GPU 加速如何与 Polars DF协同工作,以及使用新的 CUDA 驱动执行引擎可能带来的性能提升。 Polars 核心概念 Polar…

go libreoffice word 转pdf

一、main.go 关键代码 完整代码 package mainimport ("fmt""github.com/jmoiron/sqlx""github.com/tealeg/xlsx""log""os/exec""path/filepath" ) import _ "github.com/go-sql-driver/mysql"import &q…

多态与绑定例题

答案: B D C 知识点: 多态是相同方法不同的表现,分为重写和重载 重写体现在父类与子类不同表现,主要表现为子类重现父类的方法 重载体现在同一个类中的不同表现 绑定分为动态绑定和静态绑定 动态绑定是在运行时 静态绑定是…

java23发布啦

2024年9月java23发布啦!!! JDK 23 提供了12 项增强功能,这些功能足以保证其自己的JDK 增强提案 - JEP ,其中包括 8 项预览功能和 1 项孵化器功能。它们涵盖了对 Java 语言、API、性能和 JDK 中包含的工具的改进。除了 Java 平台上…

《独孤九剑》游戏源码(客户端+服务端+数据库+游戏全套源码)大小2.38G

《独孤九剑》游戏源码(客户端服务端数据库游戏全套源码)大小2.38G ​ 下载地址: 通过网盘分享的文件:【源码】《独孤九剑》游戏源码(客户端服务端数据库游戏全套源码)大小2.38G 链接: https://pan.baidu.co…

走在时代前沿:让ChatGPT成为你的职场超级助手

在当今快节奏的工作环境中,时间和效率是宝贵的资源。人工智能(AI),尤其是自然语言处理技术的进步,为我们提供了强大的工具来优化工作流程。ChatGPT(Generative Pre-trained Transformer)就是其中…

计算机毕业设计之:基基于微信小程序的轻食减脂平台的设计与实现(源码+文档+讲解)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

PostgreSQL技术内幕10:PostgreSQL事务原理解析-日志模块介绍

文章目录 0.简介1.PG日志介绍2.事务日志介绍3.WAL分析3.1 WAL概述3.2 WAL设计考虑3.2.1 存储格式3.2.2 实现方式3.2.3 数据完整性校验3.3 check ponit 4.事务提交日志(CLOG)4.1 clog存储使用介绍4.2 slru缓冲池并发控制 0.简介 本文将延续上一篇文章内容…

59.【C语言】内存函数(memmove函数)

目录 2.memove函数 *简单使用 部分翻译 *模拟实现 方案1 方案2 1.有重叠 dest在src左侧 dest在src右侧 2.无重叠 代码 2.memove函数 *简单使用 memove:memory move cplusplus的介绍 点我跳转 对比第59篇的memcpy函数 对比memmcpy函数的介绍如下区别: 部分翻译 m…

金刚石切削工具学习笔记分享

CVD钻石-合成单晶钻石之一 金刚石具有极高的硬度和耐磨性、较低的摩擦系数、较高的弹性模量、较高的热导率、较低的热膨胀系数、与有色金属的亲和力较小等优点,是目前最硬的工具材料,主要分为单晶金刚石和聚晶金刚石两大类。单晶金刚石又分为天然单晶金…

常用卫星学习

文章目录 Landsat-8 Landsat-8 由一台操作陆地成像仪 (OLI) 和一台热红外传感器 (TIRS)的卫星,OLI 提供 9 个波段,覆盖 0.43–2.29 μm 的波长,其中全色波段(一般指0.5μm到0.75μm左…

CentOS Stream 9部署MariaDB

1、更新系统软件包 sudo dnf update 2、安装MariaDB软件包(替代mysql) sudo dnf install mariadb-server 3、安装MariaDB服务 sudo systemctl enable --now mariadb 4、检查MariaDB服务状态 sudo systemctl status mariadb 5、配置MariaDB安全性 sudo my…

锐捷 睿易路由器存在RCE漏洞

漏洞描述 锐捷Ruijie路由器命令执行漏 漏洞复现 FOFA: icon_hash"-399311436" 点击左下角的“网络诊断”,在“Tracert检测”的“地址”框中,输入127.0.0.1;ls,接着点击“开始检测”,会在检测框中回显命令执行结果。…

代码编辑器 —— SourceInsight实用技巧

目 录 Source insight 重要性一、创建项目二、代码浏览三、代码同步 Source insight 重要性 Source Insight 是一款功能强大的代码编辑器,在软件开发中占据着重要地位。 Source Insight 能够帮助开发者更高效地解读和修改代码,提高开发效率和代码质量。…

LeetCode_sql_day31(1384.按年度列出销售总额)

目录 描述 1384.按年度列出销售总额 数据准备 分析 法一 法二 代码 总结 描述 1384.按年度列出销售总额 Product 表: ------------------------ | Column Name | Type | ------------------------ | product_id | int | | product_name | var…

CentOS Stream 9部署docker,并开启API

1、安装docker (1)安装Docker的依赖项和存储库 sudo dnf install -y dnf-plugins-core sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo (2)安装Docker sudo dnf install -y docke…

网站建设中,网站设计的未来发展趋势是什么

网站建设中,网站设计的未来发展趋势是多方面的,涵盖了技术革新、用户体验优化以及市场需求变化等多个维度。以下是对网站设计未来发展趋势的详细预测: 移动优先与响应式设计:随着移动设备的普及,未来的网站设计将更加注…

从零开始:在VSCode中打造完美的C++开发环境

在现代软件开发中,选择一个合适的集成开发环境 (IDE) 至关重要,它不仅能够提高工作效率,还能让编程变得更加轻松愉快。VSCode 凭借其轻量化、高度扩展性以及强大的插件生态,已成为众多开发者的首选。然而,要在 VSCode …

[Redis][Set]详细讲解

目录 0.前言1.常用命令1.SADD2.SMEMBERS3.SISMEMBER4.SCARD5.SPOP6.SMOVE7.SREM 2.集合间操作0.是什么?1.SINTER2.SINTERSTORE3.SUNION4.SUNIONSTORE5.SDIFF6.SDIFFSTORE 3.内部编码1.intset(整数集合)2.hashtable(哈希表) 4.使用场景 0.前言 集合类型也是保存多个字…