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} lt∈Rw×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从左到右,从上到下:
- 不相关的词容易区分
- 名词复合词没有优势,ice-cream,分为ice和cream没用
- 标点符号仅有少许语义信息,意义不大
- and连接两个名词,词意相似较难区分,反之容易
- 动词很直观,体现了shirt的整体
- 形容词分布广泛
- 相关词表现突出