这是ICCV 2019 的一篇oral,通过把EM算法和注意力机制结合在一起,做的一个语义分割模型。
Abstract
注意力机制旨在通过所有位置要素的加权总和来计算每个位置的表示形式,因此它能够捕获计算机视觉任务中很长的依赖关系。这是注意力机制的优点也是注意力机制的缺点,因为要捕捉全局的关系,所以它很耗费计算。
这篇文章把注意力机制改成一个期望最大化形式并且迭代计算一个更加紧凑的注意力图,这样的方法叫做 Expectation-Maximization Attentation ( EMA ) Network,对噪声稳定,并且对内存计算友好。
Introduction
语义分割是计算机视觉中一个基础并且具有挑战性的任务,其目标是为图像的每个像素分配一个语义类别。在自动驾驶,图像编辑,机器人感应这样计算机视觉任务上是重要的。
最近,许多基于全卷积(FCNs)的网络被提出来。但是,由于固有的几何机构,这个方法被限制在局部感受野和短的上下文信息中。为了捕获长的依赖关系,一些多尺度融合(诸如:天文卷积?,空间金字塔,大核卷积)的方法被提出。
并且,为了保留更多的细节信息,编码-解码的结构被提出融合中级和高级的语义特征。汇总来自所有空间位置的信息,注意力机制的方法被提出了。
然而,原始的注意力机制需要得到一个大的注意力图,它具有高的计算复杂度和占有大量内存的特性。
为了解决这个问题,本文引入EM算法。
取代这一把所有元素都看作是组成元素的想法,用EM算法找到一个更紧凑的所有元素的子集。取而代之的想法是把所有元素看成是EM算法需要学习的参数,注意力图看成是一个潜在变量(这就引入了EM算法的思想:EM算法旨在找到参数的极大似然估计。)
期望(E)步骤用于估计注意力图的期望,最大化(M)步骤用于通过最大化完整数据的可能性来更新参数(基准),交替更新,直到收敛。
EMA的流程图如下:

主要贡献是:
- 本文第一次把EM算法加入到注意力机制中,能够得到一个更紧致的参数集合并且大幅减少计算复杂度;
- 将期望最大化注意作为神经网络的轻量级模块进行构建;
- 实验证明EMA算法的优越性高于殿堂级的算法。
Expectation-Maximization Attention
考虑一个来自于单样本并且大小为输入特征图
,
是CNN的中间激活。
为了简化符号,把变成
的大小,其中
。
提出的EMA算法包含三个操作:
- responsibility estimation (
)
- ikelihood maximization (
)
- data re-estimation(
)
简要的,输入:,初始的基础:
,
-
测量得到潜在变量
(和EM算法中的E的步骤一样);-
更新基础
(和EM算法中的M的步骤一样);
-
交替更新执行预定的步数;
-
重构
并且即为
输出。
Responsibility Estimation
Responsibility Estimation ()的功能和EM算法中的E部分一样。
Likelihood Maximization
Likelihood Maximization ()的功能和EM算法中的M部分一样。
Data Re-estimation
运行
次(不知道这里跳不跳出循环,如果要跳出循环的话,我觉得应该是用EM算法跳出循环,数值分析里面的跳出方法)。重新计算
,记作
,

网友评论