【论文阅读】Interpretable Visual Reasoning via Probabilistic Formulation under Natural Supervision
目录
简介
主要解决的问题:在视觉推理中不清晰的文本推理的处理过程
解决的方法:使用图片内容生成问题
背后的数学原理:贝叶斯模型
原文:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123540528.pdf
代码:https://github.com/GeraldHan/TRN
文章内容
abstract
对于视觉问答任务来说,视觉推理是非常重要的。然而,如果没有标注好的程序指令,在自然监督下隐式的推理还是非常具有挑战性的,并且之前的模型对于这一部分也难以解释。在这篇文章中,我们重新思考了视觉问答中的隐式推理,提出了一个新的模式可以最大似然估计出观察到的问题和预测的答案之间的联合分布。根据这个思路,我们设计了TRN网络把隐式的推理过程建模成潜在空间的序列预测。我们的模型在概率模型上的设计和在推理过程的可视化上面都是可解释的。我们用实验证明了TRN模型可以在各个数据集上都可以做到改进隐式推理过程。实验结果表明,我们的模型在已有的隐式推理模型上的结果是很有竞争性的,并且在复杂的推理任务上大幅度地超越了baseline而没有增加额外的算力。
introduction(简化版)
在视觉问答的任务中,视觉推理可以增强可解释性。
目前对于可解释的视觉推理有两类。第一种是在合成数据集例如CLEVR上完成的,使用了标注好的程序指令,引入了很多的额外知识。第二种是堆叠的注意力模型或者是在图上的推理。现有的方法都只是去最大化预测答案的可能性,而并没有去理解推理的过程。
众所周知,贝叶斯模型非常适用于可解释的机器学习,因为贝叶斯模型可以清楚地表示目标和特征之间的关系。我们为视觉问答任务从概率的角度再制定了一个新的贝叶斯可解释模型。
特别的是,我们重新调查了合成数据集中问题生成的过程,这表明了这些问题清晰地表达了推理的过程,反之亦然。而考虑到在自然界中,这种推理过程是不存在的,所以我们假设有一系列潜在的状态隐藏在问题的背后,这些状态可以分步指导图片每次关注的区域。这些潜在的状态就像生成的程序指令。
但是我们并不像之前的工作一样只是简单地最大化答案的可能性,我们重新制定了另一种概率解释公式,它最大化了观察到的问题和预测答案的联合分布的对数似然函数。这样答案的分布和指导推理过程的潜在状态可以同时优化。
在可解释的推理过程中有三个基础的模块:状态转变,状态推理和生成性的重建。对于普通的模型,TRN网络的加入可以看作一个正则化项(通过正则化项,可以保持参数值较小,使得拟合出来的曲线更加平滑,增强泛化性能),在测试的过程中可以被移除。这个过程是可以用数学证明的,并且可视化的结果也表明了我们的模型的有效性。主要的贡献有如下三条:
1 我们在自然监督下为真实世界的 VQA 任务中的视觉推理制定了一种新的概率解释。
2 遵循新的概率框架,我们提出了一个序列潜在状态模型 TRN,它在模型设计和答案预测上都可以解释。
3 TRN 可以很好地与现有模型协作。 它可以帮助像 UpDn 这样的浅层模型在 VQA v2、CLEVR 和 CLEVR-Human 数据集上获得与最先进的隐式推理方法相当的结果,并增强对现有黑盒推理模型(如 BAN)的解释。
代码可在 https://github.com/GeraldHan/TRN 获得。
method
模型的定义
对于VQA任务来说,通用的模型结构如下:
v是图片的特征,x是由长度为L的单词组成的问题,a为预测出的答案,Pr表示训练好的分类模型。但是这种方法没有明确地模拟推理过程。我们假设有一系列的状态变量 z = { z t } t = 1 T z=\{ {z_t}\}_{t=1}^T z={
zt}t=1T 表示了问题背后的推理程序。时间依赖的 z t {z_t} zt是由当前的问题和图片特征决定的。图二(a)给了推理过程的图标是一个很细节的解释。根据图模型,我们把图片特征 v v v作为全局条件,问题单词 x x x作为序列的信息并假设完全贝叶斯状态空间模型的一般形式。这个模型的概率公式是求联合概率分布为 p ( a , x , z ∣ v ) p(a,x,z|v) p(a,x,z∣v),我们的目标是通过后验概率 p ( z ∣ x , v ) p(z|x,v) p(z∣x,v)找到模型中的evidence的近似值 p ( a , x ∣ v ) p(a,x|v) p(a,x∣v)。对数边缘evidence概率可以分解为(最简单的贝叶斯公式推一下就ok):
所以模型可以被分成两个单独的部分。后面一部分和传统的视觉问答模型一样。前一部分对通过观察问题 x x x的最大数据似然优化的时间推理过程进行建模,其中潜在状态 z z z可以通过变分推理优化为潜在变量。使用这种全概率公式对推理过程进行显式建模并将其注入现有方法是这项工作的主要贡献。
具体学习过程
补充知识:变分推断
变分推断的目标函数: p ( z → ∣ x → ) = p ( z → , x → ) p ( x → ) p(\overrightarrow{z}|\overrightarrow{x})=\frac{p(\overrightarrow{z},\overrightarrow{x})}{p(\overrightarrow{x})} p(z∣x)=p(x)p(z,x)
其中 p ( x → ) = ∫ p ( z → , x → ) d ( z → ) p(\overrightarrow{x})=\int p(\overrightarrow{z},\overrightarrow{x})d(\overrightarrow{z}) p(x)=∫p(z,x)d(z)为evidence
在变分推断中,我们求和 p ( z → ∣ x → ) p(\overrightarrow{z}|\overrightarrow{x}) p(z∣x)KL距离最小的优化问题,通过找到 q ( z ) q(z) q(z)来计算后验分布
KL散度的公式为: D K L ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) D_{KL}(p||q)=H(p,q)-H(p) DKL(p∣∣q)=H(p,q)−H(p)
所以 K L ( q ( z → ) ∣ ∣ p ( z → ∣ x → ) ) = E ( log q ( z → ) ) − E ( log p ( z → ∣ x → ) ) = E ( log q ( z → ) ) − E ( log