What the DAAM: Interpreting Stable Diffusion Using Cross Attention

What the DAAM: Interpreting Stable Diffusion Using Cross Attention (Paper reading)

Raphael Tang, Comcast Applied AI, ACL2023 best paper, Code, Paper

1. 前言

大规模扩散神经网络是文本到图像生成中的一个重要里程碑,但人们对其了解甚少,缺乏可解释性分析。在本文中,我们对最近开源的模型Stable Diffusion进行了文本-图像归因分析。为了生成像素级归因图,我们在去噪子网络中提升并聚合交叉注意词-像素得分,将我们的方法命名为DAAM。我们通过测试其对名词的语义分割能力以及对所有词性的广义归因质量来评估其正确性,并由人类进行评分。然后,我们应用DAAM来研究语法在像素空间中的作用,表征十种常见依赖关系的头部相关热图交互模式。最后,我们使用DAAM研究了几种语义现象,重点是特征纠缠,我们发现同音同源词恶化了生成质量,描述性形容词出现的范围太广。据我们所知,我们是第一个从视觉语言学的角度解释大型扩散模型的人,这有助于未来的研究。

2. 整体思想

将Stable Diffusion中的交叉注意力可视化,对文本中的词的对生成图像的影响做了全面的分析,建议看原文。

3. 方法

3.1 Diffusion Attentive Attribution Maps

给定一个用于文本到图像合成的大规模潜在扩散模型,每个单词对图像的哪些部分影响最大?实现这一点的一种方法是归因方法,主要是基于扰动和梯度的,其中显著性图是根据输出相对于输入的一阶导数构建的,或者根据输入扰动构建的,以查看输出如何变化。不幸的是,梯度方法被证明是难以处理的,因为在所有T个时间步长内,每个像素都需要反向传播,在我们的试点实验中,即使是微小的扰动也会导致显著不同的图像。

具体来说,给定一个latent变量 l t ∈ R w × h l_t\in R^{w\times h} ltRw×h,扩散模型的U- Net的下采样块输出一系列向量 { h i , t } i K   ∈ R w / c i , h / c i \{h_{i,t}\}^K_i \ \in R^{w/c^i,h/c^i} {hi,t}iK Rw/ci,h/ci。通常在多头交叉注意力层添加文本条件,Stable Diffusion的网络结构请点击这里,可以表示为:
h i , t = F t i ( h ^ i , t , X ) ⋅ ( W v i X ) ,   F t i ( h ^ i , t , X ) = s o f t m a x ( ( W q i h ^ i , t ) ( W k i X ) T / d ) h_{i,t}=F^i_t(\hat h_{i,t}, X)\cdot (W^i_v X),\\ ~\\ F^i_t(\hat h_{i,t}, X)=softmax((W^i_q \hat h_{i,t})(W^i_k X)^T / \sqrt{d}) hi,t=Fti(h^i,t,X)(WviX), Fti(h^i,t,X)=softmax((Wqih^i,t)(WkiX)T/d )
这里 F F F表示注意力得分,这个分数表现在空间层面,也就是文本和特征的分数,会影响最终的输出。下图搬运上述链接,防丢失。


在这里插入图片描述


在这里插入图片描述

3.2 Spatiotemporal aggregation

F t i [ x , y , l , k ] F^i_t[x, y, l, k] Fti[x,y,l,k]被归一化为[0,1],并将第 k k k个字(word)连接到第 i i i个下采样块和第 l l l个头的中间坐标 ( x , y ) (x,y) (x,y)。由于U-Net(和VAE)的完全卷积性质,中间坐标局部映射到最终图像中周围受影响的正方形区域因此得分将每个单词与该图像块相关联。然而,不同的层产生不同尺度的热图,最深的层是最粗糙的,需要空间归一化来创建单个热图。为此,我们使用双三次插值将所有中间注意力得分数组提升到原始图像大小,然后在头部、层和时间步长上对它们求和:
在这里插入图片描述

其实就是单词k对应的所有时间步,所有上下采样块,所有heads,所有通道的特征图插值到原图大小合并为一张图片,这样就得到了软热力图,如果是硬热力图就设定一个阈值变为0-1。

4. 归因分析

4.1 目标归因

对我们的方法进行定量评估具有挑战性,但我们可以尝试利用现有的注释数据集和方法,看看我们的方法有多一致。一个流行的视觉语义任务是图像分割,其中区域(即分割掩码)被赋予语义上有意义的标签,通常是名词。如果DAAM是准确的,那么我们的注意力图应该可以说与这些任务的图像分割标签对齐——尽管没有经过执行这项任务的训练。

我们使用DPM求解器运行Stable Diffusion 2.0基础模型,每张图像使用30个推理步骤。然后,我们使用COCO图像字幕数据集的验证集合成了一组图像,表示真实的提示,另一组图像通过随机交换同一组中的名词(固定词汇)来合成,表示不真实。第二组的目的是观察该模型在多大程度上适用于不真实的提示,而在训练时不太可能遇到这种提示。我们将这两个集合命名为“COCO-Gen”和“Unreal-Gen”,每个集合有100个提示-图像对。对于基本事实,我们从提示中提取所有可数名词,然后手工分割图像中的每个现在名词。下图中可以看到,分割效果比其他无监督方法好多了,这也体现了名词可以对应相应的文本

在这里插入图片描述

4.2 广义归因

我们将我们的准确性分析从名词扩展到所有词性,如形容词和动词,以表明DAAM更普遍地适用。高质量、可靠的分析需要人工注释;因此,我们要求人类评分者使用五点Likert量表来评估DAAM地图的归因质量。这种设置概括了上一节的设置,因为单词通常在视觉上是不可分离的,这妨碍了有效的分段注释。例如,在“人们在跑步”的提示中,不清楚在哪里可以直观地划分“跑步”。这只是跑步者的膝盖和脚,还是摆动的手臂?相反,如果给注释者提供建议的“运行”热图,他们可以判断这些热图在多大程度上反映了单词
在这里插入图片描述

4.3 视觉语法分析

有了DAAM,我们现在研究语法与生成的像素之间的关系。我们描述了头部相关DAAM图之间的成对相互作用,补充了前面的部分,并有助于形成进一步研究的假设。在图5中给出了示例。结论如下,请看图5从左到右,从上到下:

  1. 不相关的词容易区分
  2. 名词复合词没有优势,ice-cream,分为ice和cream没用
  3. 标点符号仅有少许语义信息,意义不大
  4. and连接两个名词,词意相似较难区分,反之容易
  5. 动词很直观,体现了shirt的整体
  6. 形容词分布广泛
  7. 相关词表现突出

在这里插入图片描述


在这里插入图片描述

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

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

相关文章

超详细的Selenium:设置元素等待、上传文件、下载文件

前言:在工作和学习selenium自动化过程中记录学习知识点,深化知识点 1、设置元素等待 元素定位之元素等待-- WebDriver提供了两种类型的等待:显示等待和隐式等待。 同时,在这我为大家准备了一份软件测试视频教程(含…

基于CentOS7环境搭建Graylog日志系统

我配置的Graylog是4版本的,因为更高级的版本没有针对centos CentOS installationhttps://go2docs.graylog.org/4-x/downloading_and_installing_graylog/centos_installation.html 官方文档挺详细,但有的地方可能会出问题 1. 安装MongoDB Inst…

代码随想录二刷 |二叉树 |在每个树行中找最大值

代码随想录二刷 |二叉树 |在每个树行中找最大值 题目描述解题思路代码实现 题目描述 515.在每个树行中找最大值 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 输入: root [1,3,2,5,3,null,9] 输出…

Spring基于XML文件配置AOP

AOP AOP,面向切面编程,是对面向对象编程OOP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与属性、方法与方法、对象与对象都可以组成一个…

nginx多端口部署

1.配置nginx.conf文件 有几个端口需要部署就写几个server,我这里只部署了两个端口分别为80和81端口,所以有两个server文件。80端口项目入口在根目录的test文件中,81端口项目入口在根目录的test1文件夹中。 2.准备项目文件html文件 在/test1…

【干货分享】KingIOServer与三菱PLC的通讯的应用案例

哈喽,大家好,我是雷工! 最近一个项目涉及用KingIOServer采集三菱PLC数据,特记录通讯过程方便备忘。 一、版本说明: 1、KingIOServer版本:3.7SP2 2、PLC型号:Q03UDV 和Q03UDE自带以太网网口。…

智能优化算法应用:基于蝗虫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蝗虫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蝗虫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝗虫算法4.实验参数设定5.算法结果6.参考文献7.MA…

Linux下apisix离线安装教程

Linux下apisix离线安装教程 一、首先需要安装etcd:二、通过rpm离线安装apisix三、启动apisix四、安装apisix-dashboard1、安装2、更改dashboard登录账号名和密码3、运行 一、首先需要安装etcd: 解压缩etcd后执行以下命令: tar -xvf etcd-v3.…

【QT】QComboBox和QPlainTextEdit基本介绍和应用示例

目录 1.QComboBox 1.1 QComboBox概述 1.2 QComboBox信号 1.3 QComboBox常用功能 1.4 QComboBox添加简单项 1.6 QComboBox列表项的访问 2.QPlainTextEdit 2.1 QPlainTextEdit概述 2.2 QPlainTextEdit的基本属性 2.3 QPlainTextEdit的公共函数 2.4 QPlainTextEdit的公…

【开源】基于Vue和SpringBoot的音乐偏好度推荐系统

项目编号: S 012 ,文末获取源码。 \color{red}{项目编号:S012,文末获取源码。} 项目编号:S012,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1…

单臂路由与三层交换机

单臂路由 划分VLAN后同一VLAN的计算机属于同一个广播域,同一VLAN的计算机之间的通信是不成问题的。然而,处于不同VLAN的计算机即使是在同一交换机上,它们之间的通信也必须使用路由器。 图(a)是一种实现VLAN间路由的方…

Java编程中通用的正则表达式(二)

正则表达式,又称正则式、规则表达式、正规表达式、正则模式或简称正则,是一种用来匹配字符串的工具。它是一种字符串模式的表示方法,可以用来检索、替换和验证文本。正则表达式是一个字符串,它描述了一些字符的组合,这…

网络互连与常用设备

网络互连是为了将两个以上具有独立自治能力、同构或异构的计算机网络连接起来,实现数据流通,扩大资源共享的范围,或者容纳更多的用户。网络互连包括局域网与局域网的互连、局域网与广域网的互连、广域网与广域网的互连,这可以扩大…

【漏洞复现】华脉智联指挥调度平台命令执行漏洞

Nx01 产品简介 深圳市华脉智联科技有限公司,融合通信系统将公网集群系统、专网宽带集群系统、不同制式、不同频段的短波/超短波对讲、模拟/数字集群系统、办公电话系统、广播系统、集群单兵视频、视频监控系统、视频会议系统等融为一体,集成了专业的有线…

Python 从入门到精通 学习笔记 Day03

Python 从入门到精通 第三天 今日目标 流程控制语句、退出循环、练习学习的内容 一、流程控制语句 流程控制的三种方式:顺序语句、双分支语句、循环语句 双分支语句 Python 的双分支语句使用if-else语句实现。 其语法结构如下: if条件:#如果条作为真&#xff…

二十一章总结

网络程序设计基础 局域网与互联网 为了实现两台计算机的通信,必须用一个网络线路连接两台计算机。如下图所示 网络协议 1.IP协议 IP是Internet Protocol的简称,是一种网络协议。Internet 网络采用的协议是TCP/IP协议,其全称是Transmission…

Mybatis XML增删操作(结合上文)

先来"增"操作 在UserInfoXMLMapper.xml里面写 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <…

【小红书运营指南1】赛道选择 + 账号运营全周期

小红书运营指南1 写在最前面11.23标签一级标签二级标签 网络资源整理1. 赛道选择近2年小红书女性人群画像 2. 基础认知阶段3. 账号启动阶段4. 选题规划阶段5. 爆款打造阶段6. 涨粉变现阶段涨粉变现阶段粉丝发展阶段 写在最前面 最近做的一个项目调研&#xff0c;调研和实际有一…

Docker网络架构介绍

本文主要介绍了Docker容器的单机网络架构与集群网络架构&#xff0c;辅以演示&#xff0c;并简单介绍了网络管理中的命令。 前文&#xff1a; Docker的安装与简单操作命令-CSDN博客 docker网络原理介绍 与ovs类似&#xff0c;docker容器采用veth-pair linux bridge (虚拟交…

LabelImg的使用及注意事项

LabelImg是一款开源的图像标注工具&#xff0c;它主要用于标注目标检测、语义分割和图像分类等深度学习中需要的数据集。通过使用LabelImg&#xff0c;用户可以快速、准确地为图片中的目标添加标注信息&#xff0c;从而建立数据集。 使用步骤&#xff1a; 下载LabelImg&#x…