卷积神经网络

什么是卷积神经网络

卷积神经网络(CNN)是一种神经网络,在计算机视觉领域,通常要做的就是指用机器程序替代人眼对目标图像进行识别等,那么如何进行识别的。

  • 假设是由一张5 X 5 的单通道图片,我们定义一个3 X 3 大小的权重矩阵,然后对输入的图像按照如下图示操作进行运算得到一个 3 X 3大小的运算结果,其实这个结果就是提取的图像特征
    在这里插入图片描述
    示例所做的就是卷积神经网络的确切作用。我们可以获取输入图像,定义权重矩阵(过滤器或卷积核),然后对输入进行卷积以从图像中提取特定特征。
卷积神经网络组成
卷积层
  • 目的:是提取输入的不同特征,某些卷积层可能只能提取一些低级的特征如边缘、线条等层级,更多层的网路能从低级特征中迭代提取更复杂的特征

  • 提取的特征结果的运算过程:
    计算公式如下:
    在这里插入图片描述
    上述示例我们会发现进行卷积之后的图片变小了,如果我们换一个卷积核大小,图像可能最后就变成了1 X 1 大小,这不是我们希望看到的结果。并且对于原始图片当中的边缘像素来说,只计算了一遍,二对于中间的像素会有很多次过滤器与之计算,这样导致对边缘信息的丢失,

  • 步长
    上述示例权重矩阵在整个图像中移动,一次移动一个像素,如果权重矩阵一次移动1个像素,我们将其称为步长为1,随着步幅值的增加,图像尺寸不断减小。

  • padding

    为了解决提取特征图像变小及边缘信息丢失的问题,零填充,在图片像素的最外层加上若干层0值。为什么增加的是0,因为0在权重乘积和运算中对最终结果不造成影响,也就避免了图片增加了额外的干扰信息,同时保留了来自边界的更多信息,并保留了图像的大小
    填充效果如下示例:
    在这里插入图片描述

  • padding的形式
    Valid and Same

    Valid :不填充,也就是最终大小为(N为图片大小,F为卷积核大小)
    (N−F+1)∗(N−F+1)
    Same:输出大小与原图大小一致,那么 NN变成了N + 2PN+2P
    (N+2P−F+1)∗(N+2P−F+1)

    按照Same方式填充可知需要填充的层数,计算过程公式如下
    (N+2P−F+1)=N
    P=(​F−1)/2

  • 多通道卷积
    当输入有多个通道(channel)时(例如图片可以有 RGB 三个通道),卷积核需要拥有相同的channel数,每个卷积核 channel 与输入层的对应 channel 进行卷积,将每个 channel 的卷积结果按位相加得到最终的 Feature Map

在这里插入图片描述

  • 多卷积核
    ​当有多个卷积核时,可以学习到多种不同的特征,对应产生包含多个 channel 的 Feature Map, 例如上图有两个 filter,所以 output 有两个 channel,相当于我们把多个功能的卷积核的计算结果放在一起
    在这里插入图片描述
池化层

当卷积后的feature map 当图像太大时,我们希望减少可训练参数的数量,引入池化层,主要由两种,最大池化,平均池化,通常使用的池化层的最常见形式是最大池化,

池化层作用:降低了后续网络层的输入维度,缩减模型大小,提高计算速度;提高了Feature Map 的鲁棒性,防止过拟合

池化超参数特点:不需要进行学习,不像卷积通过梯度下降进行更新

最大池化:Max Pooling,取窗口内的最大值作为输出
在这里插入图片描述
平均池化:Avg Pooling,取窗口内的所有值的均值作为输出
在这里插入图片描述

全连接层

卷积层+激活层+池化层可以看成是CNN的特征学习/特征提取层,要生成最终输出,我们需要应用一个全连接的层以生成我们所需类别的输出。输出层具有类似于分类器交叉熵的损失函数,以计算预测误差,一旦完成前向传递,反向传播就开始更新权重并减少误差和损耗

将卷积,池化,全连接层放在一起–整个网络如下图所示

整体结构

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值