神经网络与深度学习课程作业-2-卷积神经网络基础

此贴仅做课程作业使用!!!按自己的理解对上课内容进行总结

一、卷积神经网络基本概念

1.卷积操作

         卷积操作就是卷积核在原始图片中进行滑动得到特征图(Feature Map)的过程。假设我们现在有一个单通道的原始图片和一个卷积核,卷积的过程如图所示:

        卷积得到的特征图的每一个像素值,是由对应位置的卷积核所覆盖的原始图像的对应像素值相乘,然后再相加获得的。卷积核每滑动一次,就进行一次卷积运算,直至得到最后的特征图。

2.多通道、多核卷积操作

        首先,一个卷积核的通道数是和被卷积的图像的通道数一致,例如,对于三通道的图像,那么一个卷积核也是由三个通道组成(三个叠加而成的二维矩阵)。而每个通道的大小是可以自定义的超参数,图6一个卷积核的大小为(3,3,3),前两个3分别表示长宽,最后一个3表示通道数。

        其次,卷积核的个数可以是多个,每一个卷积核得到特征图的“一层”,N个卷积核得到的特征图就有N层,即特征图的深度为N。图6所示,一共有4个卷积核,那么最终得到的特征图的深度就为4。

3.填充

        顾名思义,填充就是在矩阵的边界上填充一些值,以增加矩阵的大小,通常用0或者复制边界像素来进行填充,如下图所示。

4.步长

        步长为每次卷积核在图像上移动的像素数,下图卷积的步长为2。

5.池化

        池化的主要目的是使用局部统计特征,如均值或最大值,解决特征过多问题。常用的池化具体操作可以等价为卷积核为2*2,步长为2,填充为0的卷积操作。

6.根据卷积操作参数计算处理后图像大小

        图像经过卷积、池化操作后图像的大小有可能变化,因此这里给出变化的公式:

OH = (H+2P-FH)/S +1

OW = (W+2P-FW)/S +1

        其中:
                                                         OH ---输出图像的高

 OW ---输出图像的宽

 FH ---卷积核的高

 FW ---卷积核的宽

 P ---填充

 S ---步长

6.前向传播

        定义前向传播为:

        如果第𝑙层是卷积+池化层,则:

7.反向传播

        这里直接给出反向传播的函数表达,具体到代码上的反传操作可以通过loss.backward()让torch帮助我们自动求解。

        下采样层->卷积层:

        卷积层->下采样层:

        卷积层->卷积层:

        全连接层->卷积层:

二、经典卷积神经网络

1.LeNet

        每个卷积块中的基本单元是一个卷积层、一个sigmoid激活函数和平均汇聚层。每个卷积层使用5 × 5卷积核和一个sigmoid激活函数。这些层将输入映射到多个二维特征输出,通常同时增加通道的数量。第一卷积层有6个输出通道,而第二个卷积层有16个输出通道。每个2 × 2池操作(步幅2)通过空间下采样将维数减少4倍。卷积的输出形状由批量大小、通道数、高度、宽度决定。
        为了将卷积块的输出传递给稠密块,我们必须在小批量中展平每个样本。换言之,我们将这个四维输入转换成全连接层所期望的二维输入。这里的二维表示的第一个维度索引小批量中的样本,第二个维度给出每个样本的平面向量表示。LeNet的稠密块有三个全连接层,分别有120、84和10个输出。因为我们在执行分类任务,所以输出层的10维对应于最后输出结果的数量。 

2.AlexNet

        AlexNet与LeNet很相似,在AlexNet的第一层,卷积窗口的形状是11×11。由于ImageNet中大多数图像的宽和高MNIST图像的多10倍以上,因此,需要一个更大的卷积窗口来捕获目标。第二层中的卷积窗口形状被缩减为5 × 5,然后是3 × 3。此外,在第一层、第二层和第五层卷积层之后,加入窗口形状为3 × 3、步幅为2的最大汇聚层。而且, AlexNet的卷积通道数目是LeNet的10倍。 

3.VGG16

        VGG网络模型有6种,其中VGG16比较典型。VGG相较于之前的两个网络加入了块的设计,使网络的搭建过程十分便捷。

 VGG的优点:

(1)VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3×3的小型卷积核和2×2的最大池化层,VGGNet成功地构筑了16-19层深的卷积神经网络。

(2)VGGNet结构简洁,整个网络都使用了同样大小的卷积核尺寸(3×3)和最大池化尺(2×2)

(3)拥有5段卷积,每段内有2-3个卷积层,每段段尾连接一个最大池化层,用来缩小图片。

(4)使用非常多的3*3卷积串联 ,卷积串联比单独使用一个较大的卷积核,拥有更少的参数量,同时会比单独一个卷积层拥有更多的非线性变换。


VGG的缺点:

(1)由于用了较多的全连接层(3个),参数量很大。

(2)因为很多的卷积层执行了通道数翻倍,主要缺点是需要训练的特征数量非常巨大。

ps:本人使用RTX3060对VGG模型进行训练,批次大小为12,居然都跑不动,主要原因是全连接层的参数过多,由于原网络的应用场景是1000个分类,因此全连接层的参数被设置的很多,而一般的10分类不需要那么多的参数,使用的时候可自行改小。

#4.GooLeNet

课上没有讲解

5.ResNet(残差网络)

         非残差网络梯度消失的问题:

   

 

         引入残差块:

        形成残差网络:

        普通网络的基准模型受VGG网络的启发。

        卷积层主要有3×3的过滤器,并遵循两个简单的设计规则:

                ①对输出特征图的尺寸相同的各层,都有相同数量的过滤器;

                ②如果特征图的大小减半,那么过滤器的数量就增加一倍,以保证每一层的时间复杂度相同。

        ResNet模型比VGG网络更少的过滤器和更低的复杂性。ResNet具有34层的权重层,有36亿FLOPs,只是VGG-19(19.6亿FLOPs)的18%。

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值