梅科尔工作室-李庆浩 CNN卷积神经网络

1.CNN基本原理

在深度学习中,卷积神经网络(CNN或ConvNet)是一类深度神经网络,最常用于分析视觉图像。卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络 – CNN 最擅长的就是图片的处理。它受到人类视觉神经系统的启发。CNN主要分为卷积层---池化层---全连接层。卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。与其他图像分类算法比,CNN使用相对较少的预处理。这意味着网络学习传统算法中手工设计的过滤器。这种与特征设计中的先前知识和人力的独立性是一个主要优点。

2.卷积层

卷积层是提取图像的特征,运算过程如下。

 图中左侧黄色部分是卷积核,整体绿色的部分是图像,我们通常用卷积核扫这过这张图像,然后得出右边图像为提取出来的特征,通常图像都有RGB三层,上面展示的只是一个卷积的过程,通常要用三个卷积核分别对应RGB三层图像进行卷积然后对计算出来的特征结果进行叠加获取特征图像。如下图所示:

 卷积计算的过程中可以进行多个卷积核来提取特征,如图所示的三个卷积核算是一种卷积计算,然后可以继续通过第二种卷积核来提取图像特征,在具体应用中,往往有多个卷积核,可以认为,每个卷积核代表了一种图像模式,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果我们设计了6个卷积核,可以理解:我们认为这个图像上有6种底层纹理模式,也就是我们用6中基础模式就能描绘出一副图像。如上图卷积核三个字右边的一列卷积核就是第二种,最右边的两列数据就是分别对应两种卷积核下的特征图。

卷积计算的具体方法为:

左侧的RGB三个图中卷积核选取的区域所对应各方格的值分别与卷积核中各方格进行计算后将值相加和为一个数再加上卷积核对应的偏移参数b,然后将数填入如最右边所示对应的方格中。

卷积核对应的各种参数:

滑动窗口步长:卷积核提取特征时扫过图像移动的格数。

卷积核尺寸:卷积的大小,即几乘几的方格。

边缘填充:填充要提取的图像的边缘,通常用零来填充,填充一圈就可以。

卷积核个数:在卷积计算的过程中卷积核的个数。每个卷积核其中的参数都是不一样的。

卷积结果大小的计算公式:

3.激活层

在卷积层通过计算提取特征后还要通过一次激活层,即进行激活函数的运算,引入非线性元素。激活函数可以引入非线性因素。如果不使用激活函数,则输出信号仅是一个简单的线性函数。线性函数一个一级多项式,线性方程的复杂度有限,从数据中学习复杂函数映射的能力很小。激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。常用的激活函数为ReLU函数:

 

ReLU的优点是收敛快,求梯度简单。

4.池化层

池化层是压缩特征,即将数据降维,避免过拟合。简单来说就是下采样,他可以大大降低数据的维度。之所以这么做的原因,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行下采样。池化层相比卷积层可以更有效的降低数据维度,这么做不但可以大大减少运算量,还可以有效的避免过拟合。

如图所示:

我们将左图的一个20*20的图池化为一个2*2的图像。而选取的方式为,选取这原原图对应区域内最大的一个值,然后填入右图所对应区域的位置,这就是池化的过程。

5.全连接层

全连接层即输出结果。经过卷积层和池化层处理过的数据输入到全连接层,得到最终想要的结果。经过卷积层和池化层降维过的数据,全连接层才能”跑得动”,不然数据量太大,计算成本高,效率低下。全连接层如图所示

 

6.网络整体架构

典型的 CNN 并非只是上面提到的3层结构,而是多层结构。如图所示:

在整个架构中都是先卷积然后进行激活函数运算,连续几次这个过程后进行一次池化,然后再卷积计算、激活计算,然后继续进行池化,这个连续的过程重复几次,最后输出给全连接层,全连接层在对接受到的数据进行计算,最后得出输出结果。在这个网络架构中共有七层,通常带有参数计算的才可以被成为一层,卷积计算带有参数,被称为一层,而激活计算和池化运算都不带有参数,不被称为一层,全连接层的计算带有参数,被称为一层,所有图中卷积层加上全连接层共七层,是一个七层结构的CNN。

7.CNN的实际应用

CNN常被用作它们可用于图像和视频识别,推荐系统,图像分类,医学图像分析和自然语言处理。

具体的应用为图片分类、检索;目标定位检测;目标分割;人脸识别;骨骼识别等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值