MUREL

MuRel网络是一个端到端的机器学习模型,用于回答关于图像的问题。它依赖于从图像中提取的对象边界盒来构建一个复杂连接图,其中每个节点对应于一个对象或区域。该MuRel网络包含一个MuRel cell,在该cell上迭代以融合问题表示和局部区域特征,逐步细化可视化和问题交互。最后,在对局部表示进行全局聚合之后,它使用双线性模型回答了这个问题。有趣的是,MuRel网络并没有包含一个明确的注意机制,而这通常是最先进的模型的核心。它对场景的丰富矢量表示甚至可以用于可视化每一步的推理过程。

1. 论文的主要贡献

  1. 提出了MuRel概念(多模态关系),引入了MuRel Cell (这是一个自动推理原语,能够表示问题和图像区域之间丰富的交互信息,它基于一个向量表示,能对区域之间的关系进行建模)包含(通过双线性模型融合来表示问题向量q和区域向量si之间的丰富的细粒度交互(图1左框),对成对结合区域关系进行建模的结构(提供每个区域的上下文感知嵌入xi)(图1右框)),si^ 为si的残差函数是一个cell的输出。

MuRel cell是一种新型的推理模块,它对问题和图像区域之间的交互进行建模。它的成对关系组件通过在建模中考虑节点的上下文,丰富了每个节点的多模态表示

  1. MuRel网络,迭代多个MuRel Cell,逐渐细化图像和问题的交互。(图2)

在经典的注意力模型中,图像区域与问题特征s和q的融合只学习对一个区域是否相关进行编码,在MuRel单元中,局部多模态信息以更丰富的形式mi进行表示,它可以对模态间更复杂的联系进行编码。

图1

多模态实战python 多模态模型_模态

图2

多模态实战python 多模态模型_模态_02

2. 论文中涉及的公式

  1. MuRel中融合公式:融合公式采用的双线性融合,参数分解采用Tucker张量分解。

多模态实战python 多模态模型_建模_03


多模态实战python 多模态模型_建模_04中的每一维m可如下表示:

多模态实战python 多模态模型_建模_05

2.成对交互建模:在回答模型类型的问题,可能有必要对多个交互在一起的对象进行推理,也就是我们希望每一个表示都了解其周围的空间和语义环境,因此我们选择了成对关系建模,MuRel中,邻域由每个区域组成,并合并空间和语义表示来构建关系向量。我们计算每个区域的上下文向量,包含所有进入i的成对链接多模态实战python 多模态模型_人工智能_06(矢量, 包含有关两个区域的内容以及相对位置的信息),我们将其定义为如下公式

多模态实战python 多模态模型_迭代_07

多模态实战python 多模态模型_多模态实战python_08


公式3中通过多模态实战python 多模态模型_人工智能_09的运算,(多模态实战python 多模态模型_人工智能_10是每个区域的空间坐标,(x,y)表四框左上,w,h分别表示框宽高,x,w由图像宽标准化,y,h由图像高标准化。)

Cell可以自由学习空间概念,例如顶部,左,右等。在并行情况下,多模态实战python 多模态模型_建模_11编码多模态向量(多模态实战python 多模态模型_多模态实战python_12)之间的相关性,对应于以问题表示为条件的语义视觉概念,通过总结空间和语义的融合,网络可学习高级关系概念,例如:wear,hold等文本表示 多模态实战python 多模态模型_人工智能_13包含它的邻居提供的多模态实战python 多模态模型_迭代_14信息,再以加法的形式更新,多模态实战python 多模态模型_建模_04

多模态实战python 多模态模型_人工智能_16

最后,MuRel cell的输出将作为其输入的残差函数进行计算,每个视觉特征多模态实战python 多模态模型_迭代_17更新为:

多模态实战python 多模态模型_多模态实战python_18

综上所述:图1的总体操作公式可如下表示。

多模态实战python 多模态模型_建模_19

  1. MuRel 网络公式

多模态实战python 多模态模型_模态_20

3. 实验结果

与注意力机制比较

多模态实战python 多模态模型_迭代_21


消融研究

多模态实战python 多模态模型_迭代_22


探究最佳迭代次数、

多模态实战python 多模态模型_迭代_23

不同模型在不同数据集的比较

多模态实战python 多模态模型_模态_24

多模态实战python 多模态模型_多模态实战python_25

模型实例

多模态实战python 多模态模型_多模态实战python_26