第三次作业:卷积神经网络 part3

一、代码练习

1.1HybridSN高光谱分类网络

先三维卷积,然后进行二维卷积,三维卷积的网络模型如下:

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 个节点,是最终的分类类别数。

第三次作业:卷积神经网络 part3_第1张图片

第三次作业:卷积神经网络 part3_第2张图片

网络结构借鉴了解同学的,在网络中加入了BN,进行数据的归一化处理,训练三次得到的实验结果分别为0.972,0.974,0.979如下:

第三次作业:卷积神经网络 part3_第3张图片

第三次作业:卷积神经网络 part3_第4张图片

第三次作业:卷积神经网络 part3_第5张图片

1.2 SENet实现

下面是SENet的网络模型:

第三次作业:卷积神经网络 part3_第6张图片

第三次作业:卷积神经网络 part3_第7张图片

 把这个模块添加到 HybridSN 后面两个2D卷积中,再次训练得到的结果是:0.9833,0.9860,0.9802。

添加SENet模块后,模型的准确率有所提升,但是可能由于本来的准确率就在95%以上,准确率较高,所以提示效果不明显。

 二、视频学习

2.1北大李夏《语义分割中的注意力机制和低秩重建》

什么是语义分割?相对于图像分类来说,语义分割更密集,主流做法就是图像进入网络训练后,有几个类别就输出几个通道。

 第三次作业:卷积神经网络 part3_第8张图片

深度学习来做语义分割是FCN(全卷积网络),完全由卷积层做的网络,不管多大的卷积核都只会有一个小区域。解决此问题的两个技术:ASPPPPM

 第三次作业:卷积神经网络 part3_第9张图片

ASPP对相同的输入,分成好几路,每一路使用空洞卷积。

第三次作业:卷积神经网络 part3_第10张图片

PPM的输入是图像经过特征提取网络进行特征提取得到固定大小的特征图,然后分成两个分支,一个分支分为多个子区域进行GAP,再通过上采样到和另一个分支相同的尺寸,最后将两个分支融合。

Nonlocal Neural Networks非局部神经网络

第三次作业:卷积神经网络 part3_第11张图片

A^2-Nets

 第三次作业:卷积神经网络 part3_第12张图片

与上面的网络进行比较,其实就是乘法结合律的问题,大大降低了计算复杂度。

Asymmetric改进:对W进行采样为S个,使用pooling压缩到不同的值,也是减小了复杂度。

最后说了一下常见的坑:

(1)不要用pytorch官方的ResNet,因为自带的是7*7的卷积核,改进后常用的是两个3*3

(2)Decay不要加到bias上,加到weight

(3)使用OHEM对结果有提升

(4)cityscapes上使用sliding窗口,在PASCAL VOC中使用whole image

2.2《图像语义分割前沿进展》

程明明教授:《自适应图像语义分割技术》

程教授提到了之前学习的一些常用的神经网络。

比如,SIFT特征,是最常用的特征,但是对于特征它是人工设置的,而AlexNet能够进行多尺度信息感知,VGGNet可以获得很大尺度的信息,但有的时候,我们不仅需要大尺度的信息,也会需要很小很细节的信息,ResNetDenseNet是采用了跳层的操作,解决了之前的问题。

2020年时提出了Res2Net网络,不仅可以进行层间的特征提取,还可以提取层内的信息,这相对于多尺度就更强了。

富尺度的应用:

图像分类;物体检测;激活图预测;显著性检测;语义分割;实例分割;关键点估计;交互式分割;尤其是在新冠、肺结核等医学方面的应用,造福人类。

 第三次作业:卷积神经网络 part3_第13张图片

Res2Net :通过组内的残差,才可能得到更多的多尺度信息

小物体语义分割:对多尺度信息把握的越强,效果越好。或者将小图像放大进行识别。

2.3 SKNet网络

第三次作业:卷积神经网络 part3_第14张图片

这是SKUnit的网络模型图, 一共分为三个部分:Split 将输入信息使用不同size的核进行卷积

Fuse 将多个卷积结果进行聚合从而获得一个全局及可理解性的表示用于进行权重选择。

Select 根据聚合后的feature map判断各个支路组合时的权重

Split的思想就是:将输入进行操作后的到多个分支,SKNet中使用的3×35×5的两个卷积核对输入K进行卷积,得到两个分支

为了进一步提高效率,通常是会将常规的5x5卷积替换为5x5的空洞卷积,即3x3rate = 2(扩张率为1)卷积核。右下角的图为5x5的空洞卷积,(空洞卷积主要作用:1.不丢失分辨率的情况下扩大感受野2.调整扩张率获得多尺度信息)

Fuse首先使用element-wise合将多分支进行融合,得到U,(element-wise合就是对应位相乘),然后,对U的每一个通道做全局平均池化,生成通道分离的统计信息S通过一个简单的全连接(fc)层创建了一个紧凑的特征Z,使其能够进行精确和自适应的选择特征,同时减少了维度以提高效率。

Select就是按照信道的方向使用softmax,以得到权重信息,然后把权重应用到U~U^上,然后相加得到最终的结果。

为什么使用softmax?在激励函数中的softmax通常是用来进行多分类的,而sigmod是二分类的,在该网络中,softmax是用来将a,b两个概率对应相加是1。

 

你可能感兴趣的:(第三次作业:卷积神经网络 part3)