本文正在参与「金石计划 . 瓜分6万现金大奖」

作者简介:秃头小苏,致力于用最浅显的言语描绘问题

专栏推荐:深度学习网络原理与实战

近期方针:写好专栏的每一篇文章

支持小苏:点赞、保藏⭐、留言

SENet原理详解

​  先来简略说说咱们为什么需求运用注意力机制,这是由于咱们希望网络能够专注于一些更加重要的东西,这对物体的识别定位都大有益处。enmmm,是不是够简略呢。假如你是第一次学习注意力机制,我觉得你会充溢疑惑,怎么让网络注意到一些更加重要的东西呢?那么带着疑问,和我一起来看看SENet的原理,等我介绍完后看你能否了解喔。

​  话不多说,咱们直接来看SENet的关键结构,如下图所示:

注意力机制——SENet原理详解及源码解析

​  咱们来介绍一下上图的网络,首先是输入X,其维度为H′W′C′{\rm{H’ \times W’ \times C’}},通过一系列卷积等维度改变操作后得到特征图U,其维度HWCHWC【注:其实从特征图U开端向后才是真实的SENet的结构,这一步转换仅仅一些特征图维度改变】 当咱们得到U后,会先将U通过大局平均池化的操作,行将U的维度由HWCHWC变成11C11C,此步骤对应着上图中的Fsq(⋅){F_{sq}}( \cdot )。接着会履行步骤Fex(⋅,W){F_{ex}}( \cdot ,W),此步骤包括两个全衔接层已经两个激活函数,为便利咱们了解,做此进程的图如下:

注意力机制——SENet原理详解及源码解析

​  从上图咱们能够看出,在第一次全衔接层后咱们运用Relu激活函数,此时得到的输出维度为11C′′1 \times 1 \times {\rm{C”}},通常情况下C′′{\rm{C”}}设置为CC14\frac{1}{4}。第二个全衔接层后运用Sigmoid函数,将每层数值归一化到0-1之间,以此表示每个通道的权重,第二个全衔接的输出也为11C11C。得到了终究11C11C的输出后,咱们将U和刚刚得到的11C11C输出相乘,得到终究的特征图X~{{\rm{\tilde X}}},终究特征图X~{{\rm{\tilde X}}}的维度和U一致,为HWCHWC

​  介绍到这儿,咱们是否明白了呢。假如你还没明白的话,再来看下图吧!!!首先下图左上角表示为两个通道的特征图,经平均池化后得到左下角的图;再次通过两次全衔接层和激活函数后,转化成了右下角的图,终究用右下角的0.5、0.6别离乘原始的特质图,则得到终究的右上角的图。能够发现通过SENet特征图输入前后尺度没有改变,其值发生改变。

注意力机制——SENet原理详解及源码解析

SENet代码详解

​ 了解了上文所述的SENet原理,那么编写SENet的代码就十分简略了,如下:

def SENet(input):
    #大局平均池化
    x = nn.AdaptiveAvgPool2d((1,1))(input)
    x = x.view(1, -1)
    #第一个全衔接层
    x = nn.Linear(2, 1)(x)
    x = nn.functional.relu(x)
    #第二个全衔接层
    x = nn.Linear(1, 2)(x)
    x = nn.functional.sigmoid(x)
    return x
if __name__ == '__main__':
    input = torch.ones(1, 2 ,2 ,2)
    output = SENet(input)
    # 将SENet的输出维度进行改变,以便后边的乘机操作
    output = output.view(input.shape[0], input.shape[1],1, 1)
    SE_output = input*output
    print(input)
    print(input.shape)
    print(output)
    print(output.shape)
    print(SE_output)

咱们能够来看一下上述代码的输出,如下:

input:

注意力机制——SENet原理详解及源码解析

output:

注意力机制——SENet原理详解及源码解析

SE_output:

注意力机制——SENet原理详解及源码解析

  你能够结合理论部分,再对照这些输出看看是否一致喔。【注意:咱们需求注意在终究一步相乘操作前需求先View一下输出output的尺度,不然乘的成果不一样哦,这涉及到一些pytorch乘法的操作,这部分我也调试了好久,咱们能够动手试试看。】

如若文章对你有所帮助,那就

        

注意力机制——SENet原理详解及源码解析

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。