zoukankan      html  css  js  c++  java
  • 视频学习——《Expectation-Maximization Attention Networks for Semantic Segmentation》(《语义分割中的自注意力机制和低秩重建》)

    视频学习——《Expectation-Maximization Attention Networks for Semantic Segmentation》(《语义分割中的自注意力机制和低秩重建》)

    原文详细讲解,见《[ICCV 2019 Oral] 期望最大化注意力网络 EMANet 详解》

    一、基础概念扫盲

    • 语义分割:计算机视觉中的基础任务,在语义分割中我们需要将视觉输入分为不同的语义可解释类别。
    • 语义的可解释性:分类类别在真实世界中是有意义的。
    • 语义分割的目的:为每个像素预测类别标签。
    • Nonlocal神经网络:非局部操作。使得每个像素可以充分捕获全局信息。
    • 注意力机制:模仿生物观察行为的内部过程,将内部经验和外部感觉对齐从而增加部分区域的观察精细度的极值。
    • 自注意力机制:注意力机制的改进,减少对外部信息的依赖,擅长捕捉数据或特征的内部相关性。
    • 最大化注意力机制(EMA):
    • 期望最大化算法(EM):目的在于找出潜在变量模型的最大似然解。

    二、详细介绍

    1. 期望最大化算法(EM算法)

      第一步:计算期望(E),利用对隐藏变量的现有估计值,计算最大似然估计值。

      第二步:最大化(M),在(E)步上求得的最大似然值来计算参数的值。(M)步上找到的参数估计值被用于下一个(E)步计算中,整个过程不断交替进行,直到满足了拟合条件。

    2. 高斯混合模型

      高斯混合模型使用高斯分布作为参数模型,并使用期望最大算法进行训练。详细介绍见《一文详解高斯混合模型原理》

    3. 非局部网络(Nonlocal)

      将自注意力机制使用在计算机视觉中,核心算子是:

    其中 [公式] 表示广义的核函数, [公式] 是归一化系数。它将第 [公式] 个像素的特征 [公式] 更新为其他所有像素特征经过 [公式] 变换之后的加权平均 [公式] ,权重通过归一化后的核函数计算,表征两个像素之间的相关度。这里 [公式] ,所以视为像素特征被一组过完备的基进行了重构。这组基数目巨大,且存在大量信息冗余。

    1. 期望最大化注意力

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

      下图为期望最大化注意力模块(EMAU)的结构

    流程:

    1. 输入图片经过CNN网络,得到特征图X,经过1×1卷积降维
    2. 其中H和W是特征图X的分辨率尺寸
    3. 初始化一个作为基,K为基的数量
    4. E步(下面的分支):得到Attention maps Z。有K个Attention maps,每个map的尺寸是H×W
    5. M步(上面的分支):更新基Bases μ,得到的Attention maps Z
    6. 在每次M步之后,为了保证μ的学习是稳定的,选择L2Norm对μ做归一化处理
    7. E步和M步重复执行。
    8. 用得到的Attention maps Z和基μ重构X,得到
    9. 经过一个1×1卷积(+BN)reshape到C×H×W。

    三、总结

    个人认为,整个过程类似于CNN+RNN的一个组合。输入的图片先通过CNN生成特征图,再经过EMA结构进行语义分割。其中,EMA的迭代过程相当于是一个RNN。从作者的讲解中得知,RNN中采取LayerNorm(LN)来进行归一化,但是EMA中采用L2Norm来对基进行归一化,目的是避免LN改变基的方向,进而影响其语义。

  • 相关阅读:
    day59_BOS项目_11
    day58_BOS项目_10
    shell 笔记
    docker + swarm 集群
    HDFS深入浅析
    FTP服务器常规操作
    linux shell 流程控制
    认识黑客常用的入侵方法
    Linux中常用的查看系统信息的命令
    解决Yum安装依赖问题
  • 原文地址:https://www.cnblogs.com/cch-EX/p/13497521.html
Copyright © 2011-2022 走看看