第1章 SE模块原理解释(照抄为加快理解)
++++通道注意力机制SE(Squeeze and Excitation)模块和动态激活函数引入骨干网络xx,增强特征提取模块对某个主要对象中关键特征的提取能力,并采用梯度中心化算法加快模型训练速度,提升模型泛化能力,改进后的网络框架如图1.1所示(还未画出)。具体而言,将通道注意力机制SE模块嵌入到骨干网络xx每个瓶颈层的最后一个批归一化层之后,使模型能够根据输入特征中的信息的重要程度,选择性地赋予不同权重;(以下的内容应该和SE模块没有关系,但可以摘录下来参考理解一下。采用动态激活函数替换骨干网络xx原有的ReLU激活函数,使模型根据输入特征动态调整激活函数的参数,更好地实现对主要对象特征的表示;通过梯度中心化算法直接作用于网络模型反向传播过程中的梯度更新,提升模型训练速度和泛化能力。)
++++(第一章第一小节的所有正文内容,均来自论文[1]孙义博. 基于残差网络的行人再识别方法[D].中国人民公安大学,2022.DOI:10.27634/d.cnki.gzrgu.2022.000213.下载方式:知网下载)
1.1 嵌入SCPNet模型中的通道注意力SE模块
++++对于深度神经网络的结构设计而言,注意力机制所重新分配的资源指的就是权重,通过不同的权重赋值将有限的注意力集中在重点区域,忽略无关区域,达到节省资源的目的。因此,注意力机制能够在引入少量参数的情况下,使网络模型快速从信息量较大的图像中获取更具判断力的视觉特征。(相当于名词解释,重点作用,最后一句结合论文核心目的进行优势分析、优势作用分析)
++
图1.2 SE模块
++(以下内容中包含公式的,都用截图放出来)
++以下是第二天的学习内容++
编号001【标红的部分都有自己写的注释,注释不是正文内容】
注释 1)看不懂,应该可以找找SE模块的基线论文或者解析来搞懂。(第四天答:二维矩阵:假设输入的是彩色图片,那么将有三组二维矩阵,分别代表计算机彩色视觉中的三个颜色通道对应像素点位置产生的颜色数值;而每个颜色通道对应产生的二维数值矩阵就是文中所指的第c个二维矩阵,下标c在这个例子中应该对应3(图像是二维的,所以有二维的数值矩阵))
注释 2)初步理解: C(小写指代标量,大写为矢量)指代特征图个数也就是通道个数,在我的初步理解中,特征图个数和通道个数指代的是同一个东西。所以,图中需要将正方体分割成多个长方体叠加成正方体,就像图中最后一个彩色的正方体(图1.2)
编号002【每一段标红都有注释,此处有四处标红】
注释 1)不能理解。做个标记(第四天答:全连接层进行通道维度上的压缩可以去看看全连接层操作过程;通道维度应该是指输入数据(例如:输入彩色图片)经过与卷积算子进行的卷积操作后,因卷积算子的个数而对应产生个数的通道,通道的个数应该就是通道的维度。)
注释 2)经过激活函数层回到输出的特征维度,是何用意?再者,“输出特征的维度”指的是哪个具体的维度,是否是SE模块的输入或是输出维度,还是Squeeze操作后的输出维度。
注释 3)“输出特征的维度”指的什么?“特征通道数”又是什么?
注释 4)“输入特征数目相同的权重值”指的是什么?通道之间相关性建模又是啥?(第四天答:“输入特征数目”指的就是通道的个数,因为在Squeeze压缩操作后,每个通道均只对应一个特征值,具体可以看后面关于Squeeze操作的具体解析。通道之间的相关性还不太懂)
编号003
注释 1)太抽象了,抽象的概念理解了,但是具体的过程还无法理解(第四天看:理解当时觉得抽象的感受)
注释 2)这个函数是不是用这个希腊字母表示;(备注:确实是想到信号系统课上学的几个基本函数,记得每个函数都有对应的希腊字母用于表示。但目前还没找)
注释 3)此处同上,希腊字母
++以下是第三天的学习内容++
注释 4)该注释内容包含公式,所以用图片展示(第四天看:新张量是X下标c上标~的这个。当时打错了,而且没注意到这个明显的错误,估计的看懂了后有些高兴有点飘)
++++加入SE模块后的模型结构如图1.3所示:
图1.3 加入SE模块后的模型结构
1.2 CSDN网站中SE模块的原理解释
++++(本小节的正文部分来自本网站博主的文章,链接如下:http://t.csdn.cn/XcZT9)
++++常规的卷积操作会对输入各个通道做卷积,然后对各通道的卷积结果求和,这种操作将卷积学习到的空间特征和通道特征混合在一起 ;而SE模块就是为了抽离这种混杂,让模型直接学习通道特征。
编号004(不知道怎样更改颜色,所以和图片里出现的文本标记颜色不一致。)
注释 1)这种对我来说目前还是好抽象,我应该要先去搞懂什么是“卷积操作对各个通道做卷积”(第四天看:确实)
注释 2)同样,什么是空间特征和通道特征?也要去搞清楚(嗯嗯)
注释 3)初步理解:(可能是错的,所以需要回头看是否要纠正)通道特征作为模型的完整的输入信号,让模型为该输入信号根据反馈结果调整自身参数。(第四天看:不知所云)
(以下正文)
++++SE模块-建模特征通道之间的相互依赖关系,通过学习的方式获得每个channel的重要程度,然后依照这个重要程度来对各个通道上的特征进行加权,从而突出重要特征,抑制不重要的特征。简单说就是训练一组权重,对各个channel的特征图加权。
本质上,SE模块是在channel维度上做attention和gating操作,这种注意力机制让模型可以更加关注重要的channel的特征。SE模块可以轻松的移植到其他网络架构上,能够以轻微的计算性能损失带来极大的准确率提升 。
图1.4 SE模块结构图
编号005
注释 1)问题又来了,通道指的是什么,再者通道特征不那么抽象的话,具体指的是什么呢?(第四天答:好问题。。一天内问了三遍了。。(无奈)通道应该是指(例如:输入的是彩色图像)色彩通道数)
注释 2)感觉这里就是在讲SE模块的经济意义,使用效益
注释 3)感觉有点错误,卷积之前和之后的数据维度不一定相同,所以要用不同的字母表示。
1.2.1压缩(squeeze)
编号006
注释 1)是吗?更需要去深入学习深度学习中的卷积操作了(第四天答:知道了知道了)
注释 2)是否可以理解为,将每个channel(我理解为通道channel)进行空间上的压缩,压缩成一个属于该通道的特征值,也就是每个通道都被压缩成一个特征值,特征值与通道的空间特征有关。(第四天看:嗯,好像没错)
注释 3)不知道该怎么称呼这张图(第四天看:这样称呼也没错)
1.2.2激励(Excitation)
(这里有个小问题,这一节的图被放到上一节了。)
编号007
注释 1)初步理解(用自己的话翻译一下):得到压缩后的每个通道仅有一个特征值的特征图,将特征图输入全连接层进行特征值权重赋值预测与解析,再将赋予权重的特征图作用到未进行压缩的特征图上,从而得到一个仅通过(附加了,而不是仅通过)通道特征信息压缩而成的特征值作用的特征图。因此,这个特征图被赋予了和通道特征信息紧密相关的权重,反映了这张图片中和通道特征相关的特征,也就是说。。。。啥呢?说,得出了和通道相关联的特征中的重点区域。(第三天答:上面说错了,特征图只包括了特征值,还没有赋予权重,从而也没有下面的那些。)(第四天看:嗯嗯,压缩操作得出通道相关的特征值,激励操作给予相应的权重值(多了一维数据))
++以下是第三天的学习内容++
注释 2)奇怪:全连接层是为了计算分析附加了通道特征值的特征图所包含的和通道特征值相关的重点信息;但是,SERadio是个缩放参数,目的是减少通道个数降低计算量;是不是就减少了重点信息?
注释 3)这里要注意:“输入”和“输入维度”,这两个之间是否有什么区别,维度具体意思是什么?(第四天答:两个意思在文中的这个句子中,没有区别。维度该怎么解释还不知道)
注释 4)所以,激励操作的作用是什么呢?(第三天答:激励操作就是在压缩操作得出的特征图的基础上,赋予权重值,再输出附加了权重值的特征图。也就是增加了维度的特征图,增加了和通道数相关联的权重值。)
1.2.3 Scale(原特征图与通道权重相乘)
编号008
注释 1)为什么是二维矩阵相乘呢,公式在前文有出现,如何理解呢?(第三天答:二维矩阵应该还需要结合(卷积操作或者全连接操作等深度学习中最基础的操作相关)来理解。)(第四天答:后续可知,这就是处理图像的程序,因此,二维矩阵指的就是图像各个色彩通道的数值矩阵)
注释 2)好吧,第一眼过去确实无法理解,先接着看下去。
注释 3)这个模型并没有见过。特别标注一下。
1.2.4 SE实现注意力机制的原理(原因)
编号009
注释 1)自己得出的直接结论。也不知道对不对。
注释 2)能减少多少计算量?会不会是和模型实际运行情况有关系。
1.3 SE论文解析(来源于CSDN网站,文章已收藏)
++++(本小节的正文部分来自本网站博主的文章,链接如下:http://t.csdn.cn/fbnZo)
++++论文名:Squeeze-and-Excitation Networks(SENet)
++++主要思想:提出了SEblock。优点:增强特征通道
++++首先给出的就是原论文中的Squeeze-and-Excitation模块,如图1.7所示,和前一小节的主图一样(因为图的内容没变)。
图1.7 Squeeze-and-Excitation模块结构图
编号010
注释 1)在这一小节中,能够明白这些过程或字母代表什么意思。
1.3.1 对输入数据的卷积操作
++++卷积核参数乘以输入数据。(综上,一个卷积核参数乘输入数据,得出一张特征图,多个卷积核对输入数据进行卷积得出的就是特征图矩阵了。括号里的是自己的初步理解,可能出错。)
卷积操作可视化如图1.8所示。
图1.8 卷积操作可视化示意图
编号011
注释 1)初步理解:这样说来,有多少个卷积核就代表了多少个通道?(左边这这些公式内的解释是在公式之后写下的)
注释 2)括号里的确实还是不懂。可能需要看完卷积操作或者深度学习的一些基本操作。
注释 3)该注释内容包含公式,故给出图片
注释 4)疲惫了;一个小时后: 回来了
注释 5)该注释内容包含公式,故给出图片
++以下是第四天的学习内容++
1.3.2 压缩过程(squeeze)
图1.9 Squeeze(压缩)操作可视化示意图
编号012
注释 1)有公式,给图
文章来源:https://www.toymoban.com/news/detail-770886.html
注释 2)初步改动:这里根据图中的下标,进行统一修改。但是,需不需要将公式里的下标进行标记,是个问题
注释 3)目前对我来说还是有些笼统了,“数值分布情况”应该怎么理解呢
注释 4)这里的英文看不懂了。。。初步理解:输入的特征图的什么维度
注释 5)这里这里!就是我之前理解的,每个二维的特征通道(特征图)变成一个实数。(见1.2小节中关于压缩部分的批注内容)
注释 6)这里还无法理解为什么会这样。
注释 7)这里给出的解析,我暂时无法理解。里面有较多的知识点不懂。
注释 8)通过这个示意图,可以更加直观的理解,多维的特征矩阵是如何变成“一维”的特征图
注释 9)初步理解:学习到的特征图也可以说,通过对输入数据进行卷积操作得出的特征图,而学习是指卷积操作是深度学习的内容因此可以用“学习”来代指卷积操作
注释 10)初步分析:我不太赞同这个理解。可能是我基础知识不够牢固,但就目前我的理解来说,压缩操作关乎全局信息没有错(但比较抽象,我还无法用实际具体的东西来理解)但特征通道之间的关系,而不是特征信息之间的关系这个理解,我恰好相反:我认为是特征信息之间的关系(整个通道的特征信息别降为成一个实数值),不是特征通道之间的关系(通道间的联系没有在公式以及数值变化中出现)
注释 11)饿了饿了,虽然还很有干劲,但是饿了。文章来源地址https://www.toymoban.com/news/detail-770886.html
到了这里,关于【新手小白向-自我感觉只有基础的高数和线代知识】-SE(Squeeze and Excitation)模块的原理理解与解释-以别人的文章为主加上自己的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!