【Python教程】计算机视觉的基石——读懂 CNN卷积神经网络

本文详细介绍了CNN神经网络的结构,包括输入层、卷积层(卷积计算、ReLU激励、池化层)和全连接层。卷积层通过滤波器进行特征提取,ReLU层引入非线性,池化层用于压缩数据并减少过拟合,全连接层用于分类。文章还讨论了dropout正则化技术防止过拟合。
摘要由CSDN通过智能技术生成

神经网络接受输入图像/特征向量,并通过一系列隐藏层转换,然后使用非线性激活函数。每个隐藏层也由一组神经元组成,其中每个神经元都前一层中的所有神经元完全连接。神经网络的最后一层(即“输出层”)也是全连接的,代表网络的最终输出分类。

计算机视觉的基石——读懂 CNN卷积神经网络

CNN神经网络

一般卷积神经网络有如下结构:

  1. •数据输入层/ Input layer
  2. •卷积计算层/ CONV layer
  3. •ReLU激励层 / ReLU layer
  4. •池化层 / Pooling layer
  5. •全连接层 / FC layer

当然卷积层,Relu激励层与Pooling层可以多次使用

输入层/ Input layer

该层要做的处理主要是对原始图像数据进行预处理,其中包括:

•去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。

•归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A和B的数据都变为0到1的范围。

•PCA/白化:用PCA降维;白化是对数据各个特征轴上的幅度归一化

卷积层

卷积层是卷积神经网络的核心构建块。这层参数由一组K 个可学习过滤器(即“内核”)组成,其中每个过滤器都有宽度和高度,并且几乎总是正方形。

对于 CNN 的输入,深度是图像中的通道数(即,处理 RGB 图像时深度为 3,每个通道一个)。对于网络中更深的卷积,深度将是一层应用的过滤器数量。

为了让这个概念更清晰,让我们考虑 CNN 的前向传递,我们在输入体积的宽度和高度上对K 个滤波器中的每一个进行卷积。更简单地说,我们可以想象我们的K 个内核中的每一个都在输入区域上滑动,计算元素级乘法、求和,然后将输出值存储在二维激活图中

计算机视觉的基石——读懂 CNN卷积神经网络

左:在 CNN 的每个卷积层,有K 个内核。中间:K 个内核中的每一个都与输入进行了卷积。右图:每个内核产生一个 2D 输出,称为激活图。卷积过程可以参考下图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值