背景
本篇论文是南洋理工大学张含望组的工作,接收于CVPR2019
摘要
题为在场景图上的可解释和明确的视觉推理。作者提出的可解释和明确的神经模块(XNMs),目标是打破在复杂的视觉推理任务中普遍使用的黑盒神经结构。XNMs仅仅由4种元类型组成,这将大大减少参数量,此外作者称设计的该种模型可以通过图注意力的方式来跟踪推理流程。
方法
论文既然已经提到了场景图,必然要有场景图的构造过程。场景图由图像中的objects组成,即图中的节点集合 V = { v 1 , ⋅ ⋅ ⋅ , v N } V = \{v_1, · · · , v_N\} V={ v1,⋅⋅⋅,vN}以及边集合来表示节点对之间的关系 E = { e i j ∣ i , j = 1 , ⋅ ⋅ ⋅ , v N } E=\{e_{ij}|i,j=1, · · · , v_N\} E={ eij∣i,j=1,⋅⋅⋅,vN}。实际操作中,以检测到的区域特征作为顶点特征,以两个顶点特征concat后的结果作为它们之间边的特征。
四种元类型:
AttendNode[query]
将问题先encode成query vector q q q,作为输入,通过以下函数得到node attention vector(表示各节点权重的向量,第i个节点的权重由 a i a_i ai表示)
a = f ( V , q ) ∈ R N a=f(V,q)\in \R^N a=f(V,q)∈RN
函数 f f f的值域[0,1]
AttendEdge[query]
当以input query作为输入时,用于计算edge attention
W = g ( E , q ) W=g(E,q) W=g(E,q)
同样地,函数g的值域也是[0,1]
Transfer
在得到node attention vector a 和edge attention matrix W后,我们需要能够将节点的权重和与其有关联性的边结合起来去寻找新的节点。简单地,即利用上述注意关系来更新节点的权重 a ′ a' a′
a ′ = n