EMANet:Expectation-Maximization Attention Networks for Semantic Segmentation

EMANet摒弃了在全图上计算注意力图的流程,转而通过期望最大化(EM)算法迭代出一组紧凑的基,在这组基上运行注意力机制,从而大大降低了复杂度

什么是 EMANet?

  • EMANet-20230408142938
  • 提出的期望最大化注意力机制(EMA),摒弃了在全图上计算注意力图的流程,转而通过期望最大化(Expectation-Maximum,EM)迭代出一组紧凑的基,在这组基上运行注意力机制,从而大大降低了复杂度。其中,E 步更新注意力图,M 步更新这组基。E、M 交替执行,收敛之后用来重建特征图

EMANet 的网络结构?

  • EMANet-20230408142939
  • 图片经过 CNN 后,经过 EMA Unit 模块重建特征后,再经过分割部分预测每个像素的类别

EMANet 的期望最大化注意力机制?

  • EMANet-20230408142939-1
  • 图中是 EMA 模块,其作用是对输入 X 进行 EM 优化得到一个低秩的 X~\widetilde X。从图片上来讲低秩的过程类似类似保边滤波,去掉图片上的噪声
  • EMA 模块包括 3 个阶段 Am、Ae 和 Ar,其中 Am、Ae 重复 T 次,以更新 μ\mu 和 Z,最后得到 Ar
  • (1)Am:初始化 μRK×C\mu \in R^{K \times C},结合输入 XRN×CX \in R^{N\times C} 得到 ZRN×KZ\in R^{N \times K},即 3+5->4

    Z=softmax(λX(μT)){\bf Z}=s o f t m a x\left(\lambda{\bf X}\left(\mu^{T}\right)\right)

  • (2)Ae:根据 Z 和 X 更新 μ\mu,以下是更新第 k 个 μ\mu 的过程,即 1+6->2

    μk=n=1Nznkxnn=1Nznk\mu_{k}={\frac{\sum_{n=1}^{N}z_{n k}{\bf x}_{n}}{\sum_{n=1}^{N}z_{n k}}}

  • (3)Ar:X 的重新表达

    X~=Zμ{\widetilde{X}}=\mathbf{Z}\mu

EMANet 的期望最大化注意力机制和全图建立注意力的区别?

  • 已知期望最大化注意力机制的更新机制如下,其构建注意力的过程在于学到 μ\mu,而μRK×C\mu \in R^{K \times C}

    X~=Zμ=softmax(λX(μT))×μ{\widetilde{X}}=\mathbf{Z}\mu=s o f t m a x\left (\lambda{\bf X}\left (\mu^{T}\right)\right)\times \mu

  • 对一张大小为 H×W×CH\times W\times C 的图构建全图注意力,需要构建大小为 HW×HWHW\times HW 的亲和力矩阵,相比较 K×CK\times C,全图注意力的矩阵很大