当前位置:网站首页>研究生新生培训第四周:MobileNetV1, V2, V3
研究生新生培训第四周:MobileNetV1, V2, V3
2022-08-04 00:10:00 【Fanshoo】
PART 1:论文阅读和视频学习
一、MobileNet V1 & V2 & V3
1.MobileNet V1

mobilenetv1的一个主要特点是网络所需要的参数很少,以至于在手机这种移动设备上都可以跑,在准确率小幅度降低的代价下,可以再次大幅度减少我们的参数量。
其中的一个主要亮点为采用了DW卷积,很大程度上减少了运算量和参数数量。

同时也使用了PW卷积,一种卷积核为1*1的卷积,从输入到输出可以改变维度,dw和pw通常是一起使用的。

dw和pw的使用可以大大减少参数量,通常是普通卷积参数的1/8-1/9。
指是卷积核的倍率,值越大,则使用的卷积核数量越多,
就算大幅度降低,准确率也不会降低太多,但是参数量会大幅度降低。
指的是输入的图像的尺寸图像的大小从224到128,准确率小幅度降低,但是参数量会大幅度降低。

2.MobileNet V2

MobileNet V2 最主要的改动为采用了倒残差结构 ,与ResNet不同,这里采用的激活函数为ReLu6.

第二个主要的改动为,在最后一层1*1卷积后,采用了线性链接,relu激活函数在低维度的信息会造成较大的损失,高维信息造成的损失很小,就使用一个线性的激活函数,防止损失太多的信息。

3.MobileNet V3

MobileNet V3 中最主要的改动是引入了SE注意力机制


二、SENet 
1.Squeeze :顺着空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野,这一点在很多任务中都是非常有用的
2.Excitation :它是一个类似于循环神经网络中门的机制。通过参数来为每个特征通道生成权重,其中参数被学习用来显式地建模特征通道间的相关性。
3.Reweight :将Excitation的输出的权重看做是进过特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定。

上左图是将SE模块嵌入到Inception结构的一个示例。方框旁边的维度信息代表该层的输出。
除此之外,SE 模块还可以嵌入到含有skip-connections 的模块中。上右图是将SE 嵌入到ResNet模块中的一个例子,操作过程基本和SE-Inception一样,只不过是在Addition前对分支上Residual的特征进行了特征重标定。如果对Addition后主支上的特征进行重标定,由于在主干上存在0~1的scale操作,在网络较深BP优化时就会在靠近输入层容易出现梯度消散的情况,导致模型难以优化。
目前大多数的主流网络都是基于这两种类似的单元通过repeat方式叠加来构造的。由此可见,SE 模块可以嵌入到现在几乎所有的网络结构中。通过在原始网络结构的building block 单元中嵌入SE模块,我们可以获得不同种类的SENet。如SE-BN-Inception、SE-ResNet、SE-ReNeXt、SE-Inception-ResNet-v2等等。

part 2:代码作业
一、Hyperspectral Image Classification
本篇论文构建了一个 混合网络,用以解决高光谱图像分类问题,首先用 3D卷积,然后使用 2D卷积。
1.导入数据、引入基本函数库


2. 构建网络

三维卷积部分:
- conv1:(1, 30, 25, 25), 8个 7x3x3 的卷积核 ==>(8, 24, 23, 23)
- conv2:(8, 24, 23, 23), 16个 5x3x3 的卷积核 ==>(16, 20, 21, 21)
- conv3:(16, 20, 21, 21),32个 3x3x3 的卷积核 ==>(32, 18, 19, 19)
接下来要进行二维卷积,因此把前面的 32*18 reshape 一下,得到 (576, 19, 19)
二维卷积:(576, 19, 19) 64个 3x3 的卷积核,得到 (64, 17, 17)
接下来是一个 flatten 操作,变为 18496 维的向量,
接下来依次为256,128节点的全连接层,都使用比例为0.4的 Dropout,
最后输出为 16 个节点,是最终的分类类别数。

测试网络:

3.创建数据集
首先对高光谱数据实施PCA降维;然后创建 keras 方便处理的数据格式;然后随机抽取 10% 数据做为训练集,剩余的做为测试集。结果如下图:

4.训练网络

训练结果:

5.模型测试

二、实验总结
本次实验利用pytorch构建了HybridSN模型并实现了高光图谱分类,使用colab平台训练网络,耗时接近1h。
PART 3:问题思考
1.每次分类的结果都不一样,请思考为什么?
模型中采用 dropout() 进行正则处理防止过拟合,具有随机选择的特性,故每次得到的结果不同。
2.如果想要进一步提升高光谱图像的分类性能,可以如何改进?
可以尝试引入注意力机制,例如SENet
3.3D卷积和2D卷积的区别?
主要区别为滤波器的空间维度不同,高维卷积容易提取高维数据之间的特征关系,适合处理高维信息。
边栏推荐
猜你喜欢

Read FastDFS in one article

电子邮件安全或面临新威胁!

"Miscellaneous" barcode by Excel as a string

重新认识浏览器的渲染过程

Jmeter-断言

【杂项】如何将指定字体装入电脑然后能在Office软件里使用该字体?

学习笔记 | uiautomation(如何)实现自动化

SQL优化的一些建议,希望可以帮到和我一样被SQL折磨的你

Salesforce's China business may see new changes, rumors may be closing

The Beijing E-sports Metaverse Forum was successfully held
随机推荐
代码重构:面向单元测试
rsync basic usage
vscode插件设置——Golang开发环境配置
Node.js的基本使用(三)数据库与身份认证
2022-08-03:以下go语言代码输出什么?A:2;B:3;C:1;D:0。 package main import “fmt“ func main() { slice := []i
HNUCM 您好中国
JS get parameter value of URL hyperlink
机器学习——库
LeetCode 19:删除链表的倒数第 N 个结点
并查集详解
In V8 how arrays (with source code, picture and text easier to understand)
简单了解下 TCP,学习握手和挥手以及各种状态到底是怎么样的
Talking about the future development direction of my country's industrial parks
Super perfect version of the layout have shortcut, background replacement (solve the problem of opencv Chinese path)
A simple understanding of TCP, learn how to shake hands, wave hands and various states
智能座舱的「交互设计」大战
学习笔记 | uiautomation(如何)实现自动化
jav一键生成数据库文档
汉字风格迁移---结合本地和全局特征学习的中文字体迁移
Internship: Upload method for writing excel sheet (import)