卷积神经网络CNN学习笔记

卷积神经网络

什么是卷积

在这里插入图片描述
计算机处理数据时,时间是离散的,使用离散卷积。
在这里插入图片描述
卷积也可以是多维的。如果将一个二维图像I作为输入,也许同样希望使用一个二维卷积核K:
在这里插入图片描述
卷积有交换性,上式可等价写作:
在这里插入图片描述
互相关的相关函数(除不翻转核函数外,其余跟卷积一样):
在这里插入图片描述
在这里插入图片描述

为什么要卷积

卷积提供了三个重要方法:稀疏交互、稀疏连接、参数共享、等价表达。

和只用全连接层相比,卷积层的两个主要优势在于参数共享稀疏连接,CNN使用这两种方式减少参数。

  1. 参数共享:对模型中的多个函数使用相同的参数。参数共享的特殊形式使卷积层具有变换等价性。一个在图像中某一部分很有用的共享特征检测器(比如一个垂直边缘检测器),可能会对图像的另一部分也很有用。在减少模型所需要的内存空间的同时,提高了模型的统计效率。

  2. 稀疏连接:每一层中,每个输出值只依赖于一小部分输入,不会对输出产生任何影响。

卷积神经网络层次

  1. 输入层INPUT:图像的像素值作为输入。

  2. 卷积层CONV:卷积计算层(核心),卷积层连接输入的一个小区域,并计算卷积核与对应的输入小区域之间的点乘作为输出。

  3. 池化层POOL:取区域平均或最大。在空间维度(W,H)上执行一个降采样的操作。

  4. 全连接层FC:在分类任务中将计算每个类别对应的分数,和普通神经网络一样,FC层的每个神经元都将与其一层的输出相连。

卷积层的操作

卷积层的参数由一组可学习的卷积核Kernel(filter)构成。每个卷积核在空间中都是小尺寸的,但会穿过输入集的整个深度。

  1. 垂直边缘检测的例子:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4U2EkKgE-1633695202084)(media/dead1a5c2f92bbfd54f51ddd4118e226.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BLBZVgcj-1633695202085)(media/404317609fce57770a95756562696a9d.png)]
  2. 边缘检测的类型:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
通过卷积层后如何计算输出特征图的空间尺寸

输出特征图的尺寸由三个超参数控制:深度(卷积核数量)步长零填充值(不希望特征图在卷积过程中尺寸下降太快)。

设输入图像尺寸W、卷积神经元可视野尺寸F、采用的步长S、边缘填充值的数量P,输出特征图的尺寸计算公式:
在这里插入图片描述

  1. 如果想得到与输入尺寸相同的输出结果,设S=1,则在这里插入图片描述
    而F一般为奇数,原因有两点:

    1. P若为偶数,会导致只能使用一些不对称的填充。
    2. P为奇数时只有一个中心像素点,计算机处理更方便
  2. 卷积操作具体过程

在这里插入图片描述
卷积层操作的公式:

在这里插入图片描述
在这里插入图片描述
5. 常见的神经元模型(激励函数)

线性神经元:在这里插入图片描述
线性阈值神经元:
在这里插入图片描述
在这里插入图片描述
Sigmoid神经元:
在这里插入图片描述
Tanh(双曲正切)神经元:
在这里插入图片描述
ReLU神经元:整流线性单元
在这里插入图片描述
Leaky ReLU激活函数:
在这里插入图片描述

Maxout:
在这里插入图片描述
Softmax:
在这里插入图片描述

池化层的操作

  1. Max Pooling最大池化:

    取视野范围内的最大值(现在常见)。最大池化很少用padding。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFjZv1nm-1633695202093)(media/2b862de7b49c21a38edb344ca048accf.png)]

  2. Average Pooling平均池化:取视野范围内的平均值(过去常见)。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3sTxPn2p-1633695202094)(media/9147be6b4c9721dc51f48b032c504931.png)]
    统计神经网络的层数时,通常只是统计具有权重和参数的层,而池化层只有一些超级参数,因此很多时候
    把CONV和POOL1共同作为一个卷积。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8W5b4ct4-1633695202094)(media/6a5bc9cd160caaedf42d2bb9f20454a5.png)]
    神经网络另一种结构:一个或多个卷积层后面跟随一个池化层,然后一个或多个卷积层后面再跟随一个池化层,然后是几个全连接层。许多参数都存在于神经网络的全连接层。池化层和最大池化层无参数,卷积层参数较少。

全连接层的操作

全连接层(fully connected
layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为h*w的全局卷积,h和w分别为前层卷积结果的高和宽。
全连接的核心操作就是矩阵向量乘积。
在这里插入图片描述
本质就是由一个特征空间线性变换到另一个特征空间。目标空间的任一维——也就是隐层的一个
cell——都认为会受到源空间的每一维的影响。不考虑严谨,可以说,目标向量是源向量的加权和。
在 CNN 中,全连接常出现在最后几层,用于对前面设计的特征做加权和。比如
mnist,前面的卷积和池化相当于做特征工程,后面的全连接相当于做特征加权。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dAt0dpXZ-1633695202094)(media/a43375ed06b8f8a20bad301051389190.png)]

经典CNN网络与残差网络

  1. 经典CNN模型

    1. LeNet-5
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NRVOfpZG-1633695202095)(media/111aed14ec164d6c542b02c5dd32a414.png)]
      经典LeNet-5网络在池化后进行了非线性函数处理,比如池化后使用了Sigmoid函数。大约有6万个参数。

    2. AlexNet在这里插入图片描述
      大约6000万个参数,远多于LeNET-5。 且使用了ReLU激活函数。

    3. VGG:简化了神经网络结构。
      在这里插入图片描述
      共包含1.38亿个参数,但是结构并不复杂,需训练的特征数量巨大。

  2. ResNet:残差网络(152层)

远跳连接:可以从某一网络层获取激活,然后迅速反馈给另外一层,甚至是更深的一层,优势深度超过1000层。残差块有了残差网络,网络越深,训练效果越好、出错越少。当输入输出维度相同时,可以使用恒等快捷连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ssgIaIUU-1633695202097)(media/a4ea58b7d456844d99e95a5223bf5b60.png)]
深度残差网络的基本模块:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dijkstra's Monk-ey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值