深度学习实战篇之 ( 十八) -- Pytorch之SeNet

科普知识

注意力机制(Attention Mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。上述机制通常被称为注意力机制。人类视网膜不同的部位具有不同程度的信息处理能力,即敏锐度(Acuity),只有视网膜中央凹部位具有最强的敏锐度。为了合理利用有限的视觉信息处理资源,人类需要选择视觉区域中的特定部分,然后集中关注它。例如,人们在阅读时,通常只有少量要被读取的词会被关注和处理。综上,注意力机制主要有两个方面:决定需要关注输入的哪部分;分配有限的信息处理资源给重要的部分。

e5a5f02de3d247eec0fdc9461c6337b7.gif

前言

上期理论篇文章我们学习了SeNet网络,其核心思想在于对输入的特征在通道维度上进行自适应增强(权重适配),同时由于其架构简单可以独立于任何架构之外,因此可以很容易的嵌入到大多数卷积神经网络实现特征增强的目的。

数据集介绍 

1

本次实验数据集我们依旧采用之前的RAFDB人脸表情数据集(7类:愉快,悲伤,厌恶,平和,惊讶,恐惧,愤怒),数据集分布及其样本展示如下:

64f87ba00077039ffe3365c0d87ff373.png

c2f170ba66a2bf2f2c5d7e65e99e621c.png

73a6812ca88f0dc71abab031c75b7e52.png

网络架构 

2

SeNet架构较为简单,我们主要看与ResNet网络融合的案例,从层级上来分析,分别是:全局平均池化-->全连接层-->Relu激活函数-->全连接层-->Sigmoid压缩范围到0-1之间。

973869e2101109bdfad69fb4b405de28.png

054447cce5c18ac8c2c15f02bd833f67.png

维度分析:输入维度:[B,C,H,W]

1.全局平均池化层:输入:[B,C,H,W],输出:[B,C]。备注:全局平均池化层的作用在于将特征图[H,w]转变成-->[1,1]的维度。

2.全连接层:输入:[B,C],输出:[B,C/r]

3.ReLU层: 输入:[B,C/r],输出:[B,C/r]

4.全连接层:输入:[B,C/r],输出:[B,C]

5.Sigmoid: 输入:[B,C],输出:[B,C]

代码实践 

3

本次代码采用Pytorch框架(version 1.7),基础骨干网络采用ResNet18架构,我们对该网络中的四个残差块分别设计SeNet模块。由于之前对TensorFlow框架已经学习过一点时间,转换到另一框架对大家来说应该不是什么难题,本着一法通万法的原则,之后的实战篇文章我们都采用Pytorch实现,而且不再对其基础网络设计方法,数据集处理方法等进行分享学习了,直接上代码,让大家体验快感。

1.ResNet18四层残差块:

da77bf917c6bfc9a53943216b44c7dc2.png

2. SeNet块设计:

47b1afdd3b731c4fa635437dae257ee5.png

3. 嵌入到四个残差块中:

c527d446047303f98c41d5ca3cae218d.png

4aa156ea00a56773402efee30e7dda57.png

训练情况 

4

这里截取训练过程中的一些结果展示,本次训练显卡为:1080Ti(显存11G)相对较小,批数量bachsize为8。

b6cb74fd9440d2130fbca7784fe14352.png

4f81870d95b5a8fc6add889b8c12f6b6.png

代码托管至码云:https://gitee.com/fengyuxiexie/pytorch_-se-net

The End

a05aa92994f2cfd0c4bb037bf770ffb3.png

本期分享就到这里啦,实战篇我们重在分享代码实现细节,大家如果在学习过程中有疑问或者建议,可随时后台私聊小编哦。                                                                     

编辑:玥怡居士 | 审核:小圈圈居士

b4811aab3ea4aa78c9a19ead74a1886c.png

扫码关注

IT进阶之旅

NO.1

往期回顾

深度学习实战篇之 ( 十七) -- TensorFlow之DenseNet

深度学习实战篇之 ( 十六) -- TensorFlow之ResNet

深度学习实战篇之 ( 十五) -- TensorFlow之GoogLeNet

过往曾经:

【年终总结】辞旧迎新,2020,我们再出发

【年终总结】2021,辞旧迎新再出发

致敬远去的2021,拥抱不一样的2022

点赞哦

猜你喜欢

转载自blog.csdn.net/xyl666666/article/details/124089469