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

2024-03-07 13:36

本文主要是介绍因果学习篇(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应用到各种流行的基于注意力的视觉语言模型,实验结果表明,它可以改善这些模型的相当大的性能。

这篇关于因果学习篇(2)-Causal Attention for Vision-Language Tasks(文献阅读)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个