因果学习篇(2)-Causal Attention for Vision-Language Tasks(文献阅读)

Causal Attention for Vision-Language Tasks

引言

  这篇论文是南洋理工大学和澳大利亚莫纳什大学联合发表自2021年的CVPR顶会上的一篇文献,在当前流行的注意力机制中增加了因果推理算法,提出了一种新的注意力机制:因果注意力(CATT),使用因果推断中的“前门准则”解决训练数据中存在的虚假相关性,刨析了注意力机制在推理过程中的因果原理,在提高模型性能的前提下,加强了模型的可解释性,打开了神经网络的黑匣子,具有非常好的参考意义。
此外,本文所提的因果注意力遵守了传统K-Q-V的机制,所以可以替换现有的各种自注意力机制,如Transformer,是一个可插拔的模块。

> 代码已开源:https://github.com/yangxuntu/lxmertcatt
> 原文链接:Causal Attention for Vision-Language Tasks

瓶颈问题

  在传统的自注意力机制中,通常都是利用查询集Query和键集Key相乘得到权重,然后再更新值集Value。在该过程中,注意力的权重是无监督的,即注意力权重在训练过程中没有标注权重标签,这难免导致数据偏差。
  举个例子:
image captioning)
  如上图展示了一个图像描述的流程,在训练数据中,因为有好多图片被描述为“人骑着马”,自注意力机制自然而然的会将“骑”这个动作与“人”、“马”关联起来。那么,在测试阶段,如果给一个“人驾驶马车”的图片,注意力机制会仍然用“人”和“马”进行关联,推断出“骑”这个动作,而忽略了“马车”。然而,该问题不会因为数据规模的扩大而解决,因为现实中确实红色苹果比绿色苹果多,站着的人比跳舞的人多。
  该问题的本质原因就是混杂因子(因果推理中的专有名词)导致的,比如X和Y之间没有直接的因果关系,但是X和Y之间仍然相关。下面的因果结构图可以解释该理论:
在这里插入图片描述)
  图中,X为输入图片,Y为标签,C表示常识(如人可以骑马),C是混杂因子,M是图片X中的目标。
C->X

  • 表示视觉场景可以通过常识来生成;
  • X->M表示场景中包含着多个目标;
  • C->M表示目标可以由常识来决定;
  • M->Y表示语言生成;

  从因果图中可以看出,X->Y有两条路径:X->M->Y 和 X<-C->M->Y(含混杂因子)
因此,无论数据集多大,如果不知道混杂因子,仅使用P(Y|X)来训练模型,永远无法识别真正因果效应。
比如训练集中“人骑马”比“人驾驶马车”的数据多,测试集中后者比前者多,那么训练中的P(Y|X)将无法引用在测试中。

解决方法

  1. 提出了一个新的注意力机制:因果注意力(Causal Attention , CATT), 识别X->Y的因果效应,避免混杂因子造成的数据偏差。该方法使用了前门准则(无需混杂因子的假设知识);
  2. 提出了样本内注意力(ISATT)和跨样本注意力(CS-ATT),遵守Q-K-V操作;而且Q-K-V操作的参数也可以在IS-ATT和CS-ATT之间共享,以进一步提高某些架构中的效率。
  3. 在LSTM、Transformer和大规模视觉-语言预训练模型中进行了测试,验证了所提模块能够大幅改善模型性能。

方法

前门因果图中的注意力

  如上面图中所示,在预测标签Y时,通常采用观测相关性P(Y|X),计算如下:
在这里插入图片描述
  但是,该概率预测时可能学习到由后门路径Z<-X<->Y导致的错误相关性,而不是Z->Y的真正因果效应。
因此,需要使用因果干预切断X->Z这条后门路径,从而阻断Z<-X<->Y路径。方法是将输入X分成不同的情况{x},然后通过以下期望来测量Z对Y的平均因果效应:在这里插入图片描述
  其原理可以通过例子来解释:
  比如图像描述数据集中有大量的“人和滑雪板”的数据,那么模型会学习到错误的“人”与“滑雪板”的关联关系,而不会人的性别;
CS-Sampling则将人和其他样本中的对象结合,比如自行车、镜子。
最终,预测概率如下:
在这里插入图片描述

  以上过程称为前门准则。

IS-Sampling和CS-Sampling
IS-Sampling

  对于上述的概率公式,可以将P(Y|Z,X)用一个softmax层的网络g()来表示,因为许多视觉-语言模型都是做分类的,其公式如下:
在这里插入图片描述
  因此,需要采样X和Z,并送到网络中完成P(Y|do(X)),do表示对X进行干预(因果学习的内容)。
为降低复杂度,使用归一化加权几何平均数(NormalizedWeighted Geometric Mean,NWGM)近似地将外采样吸收为特征级别,实现只需要一次前向传播(我没懂,有懂得记得评论告诉我一哈)。具体公式如下:
在这里插入图片描述
  其中h和f都是特征编码函数,这里,我的理解可能就是将概率公式中的x,同样使用神经网络层来进行特征嵌入表示。xz加粗表示向量。
  IS-Sampling在实际计算中是按一个传统的注意力网络计算的,简单的表示为Q-K-V操作,结构下图蓝色部分。
在这里插入图片描述
  对应的,In-Sampling attention(IS-ATT)算法如下:
在这里插入图片描述
  下标I表示IS-ATT。其中,所有的 K I K_I KI V I V_I VI都来源于当前输入样本特征, Q I Q_I QI来源于h(X)。交叉模态i注意力中,查询向量表示的是句子上下文,而自注意力机制中查询向量表示的仍然是输入样本特征。对于 A I A_I AI而言,每个注意力向量 a I a_I aI都是IS-Sampling的P(Z=z|h(X))概率估计,输出 Z ^ \hat{Z} Z^是IS-Sampling评估向量。
与IS-ATT类似,交叉样本注意力(Cross-Sample attention,CS-ATT)结构如上图红色部分,算法如下:
在这里插入图片描述
  其中, K C K_C KC V C V_C VC都来源于训练集中的其他样本, Q C Q_C QC来源于 f ( X ) f(X) f(X) a C a_C aC近似 P ( X = x ∣ f ( X ) ) P(X=x|f(X)) P(X=xf(X)),且 X ^ \hat{X} X^是CS-Sampling评估向量。
最后,单一的因果注意力分别由IS-ATT和CS-ATT得到,然后,拼接这两个值作为最终 P ( Y ∣ d o ( X ) ) P(Y|do(X)) P(Ydo(X))的值。

因果注意力(CATT)在堆叠注意力网络中的应用
  • Transformer+CATT
    在这里插入图片描述
      从图中可以看出,视觉-语言Transformer模型包含视觉编码器和文本解码器。在实现中,共包含六个蓝色和紫色的模块,编码器的输入包括当前图片和一个全局的图像嵌入字典(数据集所有文本的嵌入向量),编码器中IS-ATT和CS-ATT的输出输入到解码器中,用于学习视觉语言的表示。在解码器中,首先输入IS-ATT和CS-ATT的是当前的句子嵌入和全局嵌入字典,输出包括IS-Sampling和CS-Sampling两部分内容,将其进行拼接将作为最终的预测。

实验分析

  本文在不同技术实现的视觉问答、图像描述两个任务上进行了实验。数据集有MS COCO、VQA2.0和Pre-training and Fine-tuning Datasets for VLP,实验结果如下。

图像描述
  • 相似度度量
    在这里插入图片描述
  • 偏差度量
    在这里插入图片描述
视觉问答
  • 基于LSTM和Transformer的VQA模型性能对比
    在这里插入图片描述
  • 不同题型对测试标准分割的准确性
    在这里插入图片描述

结论和展望

  在本文中,利用因果推理来分析注意机制易被数据集偏差误导的原因,发现了注意机制是一个不正确的近似前门准则,无法捕捉输入和输出之间真正的因果关系。在此基础上提出了一种新的注意力机制-因果注意力(CATT),该机制通过消除混杂因子来提高注意机制的质量。具体来说,CATT包含样本内和样本间注意力,用于估计前门平差中的样本内和样本间注意力,两个注意力网络都遵循Q-K-V操作。
  将CATT应用到各种流行的基于注意力的视觉语言模型,实验结果表明,它可以改善这些模型的相当大的性能。

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

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

相关文章

Tongweb7+Tongweb8+Ths6.0.1.0+TongRDS2214 常用指令和初始账号密码(by lqw)

Tongweb7 启动 cd到安装目录的bin目录&#xff0c;执行&#xff1a; sh startservernohup.sh 或./startservernohup.sh 查看日志 cd到安装目录的logs目录&#xff0c;执行&#xff1a; tail -f server.log 关闭 cd到安装目录的bin目录&#xff0c;执行&#xff1a; ./stops…

航芯防护组合拳「MCU+安全」,让数字资产加倍安全!

在这个万物互联的时代&#xff0c;数据安全的“飓风”正在袭来。随着集成电路的广泛应用&#xff0c;安全问题也日益凸显。从芯片漏洞到硬件攻击&#xff0c;这些问题都给集成电路的应用带来了严峻的挑战。一旦安全防线被突破&#xff0c;智能设备的数字资产安全将面临威胁。 …

电动自行车易着火的启示

电动自行车起火情况不时发生&#xff0c;上海雷卯EMC小哥分析原因&#xff0c;或许对您有所启示。 电动自行车容易发生起火的原因可能是由于电池管理系统&#xff08;BMS&#xff09;的保护功能不足或者电池质量问题导致的。要改进BMS的保护功能以减少火灾风险&#xff0c; 可…

【CSP】201403-3-命令行选项

CSP-201403-3-命令行选项 关键点&#xff1a;将整行字符串按空格分割 在解析命令行时&#xff0c;一个常见的需求是将整个命令行字符串分割成多个部分&#xff0c;通常以空格为分隔符。这些部分包括命令行工具的名称、选项&#xff08;可能带有前缀-或--&#xff09;和这些选项…

【算法】KY111日期差值

描述 有两个日期&#xff0c;求两个日期之间的天数&#xff0c;如果两个日期是连续的我们规定他们之间的天数为两天 输入描述&#xff1a; 有多组数据&#xff0c;每组数据有两行&#xff0c;分别表示两个日期&#xff0c;形式为YYYYMMDD 输出描述&#xff1a; 每组数据输出一…

mongodb 图形界面工具 -- Studio 3T(下载、安装、连接mongodb数据库)

目录 mongodb 图形界面工具 -- Studio 3T下载安装第一次使用&#xff1a;注册添加一个连接&#xff08;连接 mongodb 数据库&#xff09;1、点击【添加新连接】&#xff0c;选择【手动配置我的连接设置】2、对 Server 设置连接数据3、连接的用户认证设置&#xff08;创建数据库…

SpringBoot + openGauss开发入门

本文介绍如何快速安装 openGauss 单机版 openGauss 快速环境安装 groupadd dbgroup useradd -g dbgroup omm # 可后面安装时创建 passwd omm #设置密码为Gauss_1234创建安装程序目标目录 mkdir /home/omm/opengauss3 chown -R omm:dbgroup /home/omm/opengauss3下载 openg…

航芯1-Wire安全认证新品上市,防抄板和耗材认证高性价比之选

随着用户产品附加值提升带来的对防抄板的需求&#xff0c;以及电池、医疗耗材、电子配件、IOT领域中对设备认证的需求&#xff0c;上海航芯经过多年的技术积累和对市场的理解&#xff0c;推出了高性价比的ACL16_Axx系列。 1-Wire单总线&#xff1a;小尺寸实现高效传输 ACL16_…

JAVA WEB开发 错误:无效发行版解决办法

1.首先查询本安装的jdk版本 在cmd中输入如下指令 2.打开file——progect structure 2.将这两处保持一致即可

一图看懂:什么是“新质生产力”?

◆2023年9月&#xff0c;首次提出“新质生产力”。 ◆2024年1月&#xff0c;强调“加快发展新质生产力&#xff0c;扎实推进高质量发展”。 ◆2024年3月&#xff0c;《政府工作报告》中提出&#xff0c;要大力推进现代化产业体系建设&#xff0c;加快发展新质生产力。充分发挥…

SpringBoot【问题 05】PostgreSQL数据库启用SSL后使用默认配置进行数据库连接(Navicat工具与Java程序)

官网SSL说明&#xff1a;https://www.postgresql.org/docs/9.1/libpq-ssl.html 1.配置 1.1 文件 使用SSL需要的4个文件&#xff0c;名称要一致&#xff1a; 客户端密钥&#xff1a;postgresql.keyJava客户端密钥&#xff1a;postgresql.pk8客户端证书&#xff1a;postgresq…

iphone解锁的一些方案

如果iPhone被锁定&#xff0c;有以下几种解锁方案可以参考&#xff1a; 使用恢复模式解锁&#xff1a;如果忘记了密码或者屏幕密码输错次数太多导致iPhone被锁定&#xff0c;可以尝试使用恢复模式来解锁。请注意&#xff0c;这将擦除设备上的数据&#xff0c;因此只有在没有其…

shell常用工具和命令

1.printf Format 描述 %s: 一个字符串 %d&#xff0c; %i :一个小数 %f :一个浮点数 %.ns: 输出字符串&#xff0c; n 是输出几个字符 %m.nf :输出浮点数&#xff0c; m 是输出整数位数&#xff0c; n 是输出的小数位数 %x :不带正负号的十六进制&#xff0c;使用 a 至 f 表示…

打开任务管理器的快捷键

打开任务管理器的快捷键通常是Ctrl Shift Esc。只需同时按下这三个键&#xff0c;任务管理器就会立即弹出&#xff0c;显示当前正在运行的进程和性能数据。 此外&#xff0c;还有以下方法可以打开任务管理器&#xff1a; 使用组合键“CtrlAltDelete”&#xff0c;在xp系统中…

Java实战:Redis高可用之主从复制:原理、实战与优化

在高并发、大数据量的场景下&#xff0c;Redis 作为一款高性能的 key-value 存储系统&#xff0c;被广泛应用于缓存、消息队列、分布式锁等领域。为了保证 Redis 的高可用性&#xff0c;我们需要对 Redis 进行主从复制&#xff0c;实现数据的多副本存储。本文将详细介绍 Redis …

阿里云2核4G服务器支持人数并发测试,2核4G主机测评

阿里云2核4G服务器多少钱一年&#xff1f;2核4G配置1个月多少钱&#xff1f;2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

Vue教学15:组件间的通信:provide/inject与event bus的巧妙应用

大家好&#xff0c;欢迎回到我们的Vue教学系列博客&#xff01;在前十四篇博客中&#xff0c;我们学习了Vue.js的基础知识、安装Node.js与npm、使用Vue Devtools进行调试、Vue实例与生命周期钩子、数据绑定&#xff08;单向与双向&#xff09;、计算属性与侦听器、条件渲染和列…

进制之间的转换

文章目录 编译过程进制转换1、进制的概念1.1 二进制1.2 八进制1.3 十六进制 进制在程序中的表现方式十进制转二进制将十进制转换成二进制&#xff08;除2反序取余法&#xff09;二进制转十进制&#xff08;权值法&#xff09; 八进制转十进制将十进制转换成八进制(除8反序取余法…

医药行业五大难题深度剖析:CRM解决方案助力突围

医疗行业关系着民生、经济乃至战备&#xff0c;是国民经济的重要组成部分。虽然近20年来我国医疗行业年均增长率维持在15%之上&#xff0c;但行业发展仍存在诸多问题。引进CRM管理系统可能是一个行之有效的解决方法。文中将为您整理医疗行业目前的五大挑战&#xff0c;以及CRM如…

Android Termux系统安装openssh实现公网使用SFTP远程访问

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…