CNN中ReLU和Pooling操作是怎样的

本篇内容主要讲解“CNN中ReLU和Pooling操作是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CNN中ReLU和Pooling操作是怎样的”吧!

按需定制开发可以根据自己的需求进行定制,做网站、网站制作构思过程中功能建设理应排到主要部位公司做网站、网站制作的运用实际效果公司网站制作网站建立与制做的实际意义

02

ReLU操作

CNN用的激活函数不是Sigmoid函数,大家都知道Sigmoid函数最大的问题是随着深度学习会出现梯度消失,这样会导致最后的收敛速度变得很慢,经过实践证明,采取另外一个函数,性能会更好些,这就是 ReLU 函数,它长这样:

CNN中ReLU和Pooling操作是怎样的

可以看出在 x 大于 0 时,它是线性函数,在 x 小于 0 时,它是非线性的函数,因此ReLu综合起来看为非线性函数。 

ReLU函数对CNN的实际意义

可以看出CNN中的卷积操作是线性操作,对应元素相乘,然后再求和,又知道在现实世界中,大部分的数据都是非线性的,所以有必要引入一个非线性的激活函数,下面通过ReLU操作看下对图片的影响:

原图像

CNN中ReLU和Pooling操作是怎样的

左图为对原图像卷积后的图像,右图为ReLU后的图像,对于单通道图上取值范围为0-255,其中255为白色,0是黑色,因为卷积后的结果有可能为负值,所以经过ReLU后,所有的值为非负值,不再出现有问题的负值。

CNN中ReLU和Pooling操作是怎样的

03

Pooling层

Pooling层能起到降低上一层输入的特征的维数的作用,但是同时能保持其最重要的信息,Pooling操作分多种:最大池化,平均池化,求和池化等。

以最大池化为例,池化一般在ReLU操作之后,首先定义一个相邻区域,然后求出这个区域的最大值,再选定一个步长,依次遍历完图像,如下图所示:

CNN中ReLU和Pooling操作是怎样的

Pooling 操作的实际意义

  • 使得输入的特征维数降低,更易于管理

  • 有了第一条,也会使得权重参数个数变少,更易于收敛。

  • Pooling操作相当于决策树中的剪枝操作,能防止过拟合。

  • 经过池化操作后,CNN可以适应图片小的位移,扭曲,位移

  • 经过吃化操作后,CNN可以帮助我们达成在一定尺度上的不变性,这是非常重要的,因为图像不再受外界环境的干扰。

04

CNN总结

至此已经介绍完了CNN使用的核心技术,如果将卷积操作,ReLU操作,Pooling操作结合起来,我们可以得到如下深度网络,可以看出共进行了2次卷积和池化,完成对输入的图像的特征提取,接下来就是全连接层,所谓的全连接层与之前说的DNN(全连接多层神经网络)是一致的,大家可以参考之前的推送复习多层感知器。

CNN中ReLU和Pooling操作是怎样的

经过全连接层,会使用前一层提取的所有主要特征,使用一般的均值方差作为损失函数,在输出层可以使用softmax分类器完成多分类任务。可以看出预测的结果为一只船,这是合理的。

下面总结下CNN的算法:

  1. 初始化所有的过滤核,超参数,权重参数等

  2. 输入训练的图像数据,经过前向传播,包括:卷积操作,ReLU操作,池化操作和全连接层的前向传播,最后在输出层得到属于每个类的概率值。

  3. 计算在输出层的总误差,采用均方误差项:总误差 = ∑  ½ (目标概率 – 输出概率) ²

  4. 用反向传播计算误差项相对于权重参数和偏置项的梯度,以此最小化3中的误差和,等达到某个阈值时,停止训练。

  5. 对所有图像数据重复 2-4 操作。

到此,相信大家对“CNN中ReLU和Pooling操作是怎样的”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站名称:CNN中ReLU和Pooling操作是怎样的
转载源于:http://pwwzsj.com/article/jgjddh.html