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

科普知识

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

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第1张图片

前言

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

数据集介绍 

1

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

076b849a80ee48b269b9fbd6898c7bc8.png

93989562ad821209ba4270705a583437.png

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第2张图片

网络架构 

2

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

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第3张图片

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第4张图片

维度分析:输入维度:[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四层残差块:

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第5张图片

2. SeNet块设计:

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第6张图片

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

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第7张图片

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第8张图片

训练情况 

4

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

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第9张图片

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第10张图片

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

The End

43599b1b9e30f6831933f8bd38376390.png

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

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

深度学习实战篇之 ( 十八) -- Pytorch之SeNet_第11张图片

扫码关注

IT进阶之旅

NO.1

往期回顾

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

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

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

过往曾经:

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

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

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

点赞哦

你可能感兴趣的:(深度学习,pytorch,人工智能,python,机器学习)