| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 注意力机制 -> 正文阅读 |
|
[人工智能]注意力机制 |
1,Squeeze-and-Excitation网络论文:Squeeze-and-Excitation Networks 首先,Squeeze-and-Excitation Networks(SE)并不是一个完整的网络模型,它是一个子结构,我们可以将它加在很多模型中。SENet的核心思想在于通过网络根据loss去学习特征权重,使得有效的feature map权重大,无效或效果小的feature map权重小的方式训练模型达到更好的结果。 Figure1就是?SENet的结构,首先Ftr这一步是转换操作(严格讲并不属于SENet,而是属于原网络,可以看后面SENet和Inception及ResNet网络的结合),在文中就是一个标准的卷积操作而已,输入输出的定义如下表示。 接下来就是Squeeze操作,公式非常简单,就是一个global average pooling(全局平均池化) ?因此公式2就将U(H*W*C)的输入转换成Z(1*1*C)的输出, 再接下来就是Excitation操作,如公式3。 前面squeeze得到的结果是z,这里先用W1乘以z,就是一个全连接层操作,W1的维度是C/r * C,这个r是一个缩放参数,在文中取的是16,这个参数的目的是为了减少channel个数从而降低计算量。又因为z的维度是11C,所以W1z的结果就是11C/r;然后再经过一个ReLU层,输出的维度不变;然后再和W2相乘,和W2相乘也是一个全连接层的过程,W2的维度是C*C/r,因此输出的维度就是11C;最后再经过sigmoid函数,得到s。 也就是说最后得到的这个s的维度是11C,C表示channel数目。 在得到s之后,就可以对原来的U操作了,就是下面的公式4。也很简单,就是channel-wise multiplication,什么意思呢?uc是一个二维矩阵,sc是一个数,也就是权重,因此相当于把uc矩阵中的每个值都乘以sc。对应Figure1中的Fscale。 举例,怎样将SENet加入到模型中。 Figure2是在Inception中加入SE block的情况,这里的Inception部分就对应Figure1中的Ftr操作。 ? 2,Convolutional Block Attention Module论文地址:https://arxiv.org/pdf/1807.06521.pdf 代码地址:https://github.com/Jongchan/attention-module CBAM(Convolutional Block Attention Module)它包含了两部分,结构如下: 上图可以看到,CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)两个子模块,分别进行通道和空间上的Attention。 首先,具体看一下CAM 首先,对输入层并行进行MaxPool和AvgPool两个操作,输入从C*W*H变成两个了C*1*1,这两个c*1*1分别进行Shared MLP操作,在该模块中,它先将通道数压缩为原来的1/r(Reduction,减少率)倍,再扩张到原通道数,经过ReLU激活函数得到两个激活后的结果。将这两个输出结果进行逐元素相加,再通过一个sigmoid激活函数得到Channel Attention的输出结果,再将这个输出结果乘原图,变回C*H*W的大小。 ?再来看一下,SAB: 图解:将Channel Attention的输出结果通过最大池化和平均池化得到两个1*H*W的特征图,然后经过Concat操作对两个特征图进行拼接,通过7*7卷积变为1通道的特征图(实验证明7*7效果比3*3好),再经过一个sigmoid得到Spatial Attention的特征图,最后将输出结果乘原图变回C*H*W大小。 3,ECA-Net论文地址: 结构如下: ? 与SE类似,先全局平均池化,SE是先用全连接层进行压缩再扩充,ECA通过大小为 k 的快速一维卷积实现,其中核大小k表示? 4,Coordinate AttentionPaper:https://arxiv.org/pdf/2103.02907.pdf SE只考虑内部通道信息而忽略了位置信息的重要性,而视觉中目标的空间结构是很重要的。 来看一下Coordinate Attention,它包括坐标信息嵌入(coordinate information embedding)和坐标注意力生成(coordinate attention generation),它的具体结构如下图。 1,对输入 X (C*H*W),先使用尺寸 ( 1,W) 和? (H,1)的池化核沿着水平坐标方向和竖直坐标方向对每个通道进行编码,得到两个特征图大小分别是(C*H*1)和(C*1*W)。 3,批归一化和非线性变换 4,将C/r*1*(w+h)分裂成C/r*H*1和C/r*1*W两个特征图,再用1*1的卷积核卷积,结果为C*H*1和C*1*W两个特征图,再用激活函数sigmoid. 5,最后,输出为 Xc为输入原图的第c个通道,Gch,Gcw是步骤四两个特征图的第c个通道。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:48:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |