暑期培训 第四周

Part1 论文阅读与视频学习

MobileNet

V1

1.提出背景

2.网络亮点
  1. Depthwise Convolution(大大减少运算量和参数数量)。
  2. 增加超参数:控制卷积核卷积个数的超参数α和控制输入图像大小的超参数β,这两个超参数是我们人为自己设定的,并非学习到的。
3.传统卷积和DW卷积

 4.DW卷积和PW卷积

PW卷积是卷积核大小为1的传统卷积特例

 5.参数量对比

 V2

1.提出背景

2.网络亮点
  1. Inverted Residuals(倒残差结构)
  2. Linear Bottlenecks
3.Inverted Residuals(倒残差结构)

残差结构两头大中间小,倒残差结构中间大两头小所以称为倒残差,残差结构使用relu激活函数,倒残差结构使用relu6激活函数

 

4.Linear Bottlenecks

因为ReLu激活函数对于低维特征信息造成大量损失,而对高维特征信息损失很小,所以在倒残差结构最后一个1×1的卷积层,使用线性的激活函数。

 

V3

1.网络亮点 

1.更新了block(bneck) 

使用NAS搜索参数

重新设计耗时层结构

 

 ShuffleNet

V1

1.网络亮点

使用channel shuffle增强组间信息的交流

 将瓶颈结构中的1×1卷积换为1×1的group卷积可以有效减少计算量

V2

  • FLOPS:全大写,指每秒浮点运算次数,可以理解为计算的速度。是衡量硬件性能的一个指标。(硬件)
  • FLOPs:s小写,指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。(模型)在论文中常用GFLOPs(1 GFLOPs=10^9 FLOPs)

计算复杂度不能只看FLOPs,还有MAC(内存访问的时间成本),并行等级(在相同的FLOPs下,并行度高的模型要比并行度低的模型速度要快),平台(GUP,CPU等)。

1.提出四条设计高效网络的准则

 

 2.改进之后的瓶颈结构

SENet

4.png

 

上图是我们提出的SE 模块的示意图。给定一个输入,其特征通道数为,通过一系列卷积等一般变换后得到一个特征通道数为的特征。与传统的CNN不一样的是,接下来我们通过三个操作来重标定前面得到的特征。

首先是Squeeze 操作,我们顺着空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野,这一点在很多任务中都是非常有用的。

其次是Excitation 操作,它是一个类似于循环神经网络中门的机制。通过参数来为每个特征通道生成权重,其中参数被学习用来显式地建模特征通道间的相关性。

最后是一个Reweight的操作,我们将Excitation的输出的权重看做是进过特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定。

4.png

上左图是将SE模块嵌入到Inception结构的一个示例。方框旁边的维度信息代表该层的输出。

这里我们使用global average pooling 作为Squeeze 操作。紧接着两个Fully Connected 层组成一个Bottleneck结构去建模通道间的相关性,并输出和输入特征同样数目的权重。我们首先将特征维度降低到输入的1/16 ,然后经过ReLu激活后再通过一个Fully Connected 层升回到原来的维度。 这样做比直接用一个Fully Connected 层的好处在于:1)具有更多的非线性,可以更好地拟合通道间复杂的相关性;2)极大地减少了参数量和计算量。然后通过一个Sigmoid的门获得0~1之间归一化的权重,最后通过一个Scale的操作来将归一化后的权重加权到每个通道的特征上。

除此之外,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等等。

Part2 代码作业

HybridSN

1.高光谱图像(HSI)

HSI即包含光谱信息特别长的图像(包含红外线、紫外线等不可见光光谱),比如:普通照片只有三个通道,即RGB——红、绿、蓝。数据类型是一个m ∗ n ∗ 3 m*n*3m∗n∗3的矩阵,而高光谱图像则是M ∗ N ∗ B M*N*BM∗N∗B(B是光谱的层数:3层RGB+其他光谱层…)。


高光谱图像是一个立体的三维结构,x、y表示二维平面像素信息坐标轴,第三维是波长信息坐标轴。

2.提出背景

传统的2D-卷积处理不好三维的高光谱图像;若只使用3D-卷积,虽然可以提取第三维——光谱维度的特征,能同时进行空间和空间特征表示,但数据计算量特别大,且对特征的表现能力比较差(因为许多光谱带上的纹理是相似的)

所以,作者提出HybirdSN模型(全称是Hybrid SpectralNet——大致翻译为:2D、3D卷积混合的光谱网络):将空间光谱和光谱的互补信息分别以3D-CNN和2D-CNN层组合到了一起,从而充分利用了光谱和空间特征图,来克服以上缺点。

HybirdSN模型比3D-CNN模型的计算效率更高。在小的训练数据上也显示出了优越的性能。

3.实现步骤

截屏2022-08-09 19.21.17.png

(1)PCA主成分分析
  • 首先,对于输入的高光谱图像,进行了主成分分析(PCA),减少了第三维数据的一些光谱波段,只保留了对识别物体重要的空间信息;
  • 将数据的输入规范化为M ∗ N ∗ B
(2)将数据划分为三维小块

随后将数据划分为重叠的三维小块S ∗ S ∗ B(“厚度”不变),小块的label由中心像素的label决定

(3)三维卷积提取光谱维度特征

 (4)二维卷积卷图像特征

(5)全连接输出
  1. 接下来是一个 flatten 操作(为了输出给全连接层,所以必须是一条二维数据),变为 18496 维的向量;
  2. 接下来依次为256,128节点的全连接层,都使用比例为0.4的 Dropout(就是扔掉40%的数据,防止模型过拟合);
  3. 最后输出为 16 个节点,是分类的种数(之所以是16类,是因为它选取的数据集,本身的标签最多就是16类,参见下面的表格)。

4.代码实现

挂载谷歌云盘

首先取得数据

 引入基本库

 定义hybridsn类,根据测试输出可知定义成功

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

首先定义基本函数:

下面读取并创建数据集:

 开始训练 ,训练100个epoch

模型测试 

 准确率为95.78%

5.3D卷积和2D卷积的区别

对于时序图像信息(如视频、帧序列等)、高光谱遥感图像和医学图像等三维图像,通常采用 3D 卷积操作对图像中的特征完成提取。3D 卷积的操作与 2D 卷积的不同之处在于,输入的图像增加了一个维度,此时的输入变为 3D 张量(tensor), 输入窗口为 3D 张量,卷积核也变为 3D 张量。与 2D 卷积的操作类似,进行 3D 卷积操作时,每次输入窗口和卷积核进行三维互相关操作,得到输出 3D 张量对应位置的一个数值。

思考题

  • 训练HybridSN,然后多测试几次,会发现每次分类的结果都不一样,请思考为什么?

因为网络中使用了 Dropout,测试时仍然在丢弃,导致准确率不稳定。

  • 如果想要进一步提升高光谱图像的分类性能,可以如何改进?

引入注意力机制,给予重要的通道和不重要的通道不同的权重,取得更好的效果

  • depth-wise conv 和 分组卷积有什么区别与联系?

depth-wise conv就是分组数=输入通道数=输出通道数的特殊分组卷积,depthwise卷积只是单独对每个通道进行卷积运算,分组卷积可以跨通道计算

  • SENet 的注意力是不是可以加在空间位置上?

按照我的理解,从理论上来讲是可以的

  • 在 ShuffleNet 中,通道的 shuffle 如何用代码实现?

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值