卷积神经网络(CNN)

PS: 卷积神经网络 主要包括:输入层、卷积层、池化层、全连接层

1. 卷积神经网络结构介绍

如果用全连接神经网络处理大尺寸图像具有三个明显的缺点

(1)首先将图像展开为向量会丢失空间信息

(2)其次参数过多效率低下,训练困难;

(3)同时大量的参数也很快会导致网络过拟合

而使用卷积神经网络可以很好地解决上面的三个问题。

​ 与常规神经网络不同,卷积神经网络的各层中的神经元是3维排列的宽度、高度和深度。其中的宽度和高度是很好理解的,因为本身卷积就是一个二维模板。深度:比如 32x32x3(宽度,高度和深度)中 *3 就是(RGB)图片形式 分为三层(代表了红、绿、蓝3种颜色通道)三层颜色拼在一起

​ 图 1. **全连接神经网络(左) ** 与 **卷积神经网络(右)**的对比

  • 全连接神经网络(左)

​ 输入的是一维的, 32 * 32 *3 = 3072 个一维的像素点

  • 卷积神经网络(右)

​ 输入的是一个三维的 :32 * 32 * 3 直接输入

2、CNN解决了什么问题

在 CNN 出现之前,图像对于人工智能来说是一个难题,有2个原因:

  1. 图像需要处理的数据量太大,导致成本很高,效率很低
  2. 图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不高

下面就详细说明一下这2个问题:

2.1、需要处理的数据量太大

图像是由像素构成的,每个像素又是由颜色构成的。

现在随随便便一张图片都是 1000×1000 像素以上的, 每个像素都有RGB 3个参数来表示颜色信息

假如我们处理一张 1000×1000 像素的图片,我们就需要处理3百万个参数!

1000×1000×3=3,000,000

这么大量的数据处理起来是非常消耗资源的,而且这只是一张不算太大的图片!

卷积神经网络 – CNN 解决的第一个问题就是“将复杂问题简化”,把大量参数降维成少量参数,再做处理。

更重要的是:我们在大部分场景下,降维并不会影响结果。比如1000像素的图片缩小成200像素,并不影响肉眼认出来图片中是一只猫还是一只狗,机器也是如此。

2.2、保留图像特征

图片数字化的传统方式我们简化一下,就类似下图的过程:

假如有圆形是1,没有圆形是0,那么圆形的位置不同就会产生完全不同的数据表达。但是从视觉的角度来看,图像的内容(本质)并没有发生变化,只是位置发生了变化

所以当我们移动图像中的物体,用传统的方式的得出来的参数会差异很大!这是不符合图像处理的要求的。

而 CNN 解决了这个问题,他用类似视觉的方式保留了图像的特征,当图像做翻转,旋转或者变换位置时,它也能有效的识别出来是类似的图像。

那么卷积神经网络是如何实现的呢?在我们了解 CNN 原理之前,先来看看人类的视觉原理是什么?

3、人类的视觉原理

深度学习的许多研究成果,离不开对大脑认知原理的研究,尤其是视觉原理的研究。

1981 年的诺贝尔医学奖,颁发给了 David Hubel(出生于加拿大的美国神经生物学家) 和TorstenWiesel,以及 Roger Sperry。前两位的主要贡献,是“发现了视觉系统的信息处理”,可视皮层是分级的。

人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。下面是人脑进行人脸识别的一个示例:

对于不同的物体,人类视觉也是通过这样逐层分级,来进行认知的:

我们可以看到,在最底层特征基本上是类似的,就是各种边缘,越往上,越能提取出此类物体的一些特征(轮子、眼睛、躯干等),到最上层,不同的高级特征最终组合成相应的图像,从而能够让人类准确的区分不同的物体。

那么我们可以很自然的想到:可以不可以模仿人类大脑的这个特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类呢?

答案是肯定的,这也是许多深度学习算法(包括CNN)的灵感来源。

4、卷积神经网络-CNN 的基本原理

典型的 CNN 由3个部分构成:

  1. 卷积层
  2. 池化层
  3. 全连接层

如果简单来描述的话:

卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。

4.1 卷积层——提取特征

卷积层涉及到参数:

  • 滑动窗口的步长
  • 卷积核尺寸
  • 边缘填充
  • 卷积核个数
4.4.1 得到的特征图的表示

卷积层的运算过程如下图,用一个卷积核扫完整张图片:

下图 15 形象的刻画了利用一个 3x3 大小的卷积核的整个卷积计算过程:

这个过程我们可以理解为我们使用**一个过滤器(卷积核)**来过滤图像的各个小区域,从而得到这些小区域的特征值。

在具体应用中,往往有多个卷积核,如:彩色图像由三原色构成,二维图像在任意一个点像素为立体三层结构,分别是红色、绿色、蓝色值,该值的范围在0∽255之间,在计算机里用一个无符号的8位数表示,有三层结构彩色图像通常也称为通道数为三层,当输入图为一张3通道彩图时,也可以理解为输入3张二维图,每个二维图通道数是1,所以在CNN里‘通道数’与输入、输出时单通道图片的个数等效。下面展示是对一个三层通道彩色图像卷积过程,这个卷积过程使用了2个卷积核,用于提取图像特定的2个特征,由于图像通道数是3所以每个卷积核也是3层结构。

4.1.2 卷积特征值计算方法

讲一下计算过程吧:

  • Input Volume中三个二维的 7 * 7分别代表 R G B三个图像层
  • Filter W0中三个 卷积核 内容不同,分别对应着R G B进行运算
  • 如何运算?以Input Volume中 R 与 Filter 中 R对于的W0(卷积核)来计算示例:

(0 * 1)+ (0 * 1)+ (0 * -1)+ (0 * -1) + … + (1 * 0)是每个相对应的cell去相乘,input Volume中的左上角第一个格中的值0,乘 Fiter W0中左上角第一个格中的值1,以此类推。最后得出的9个最终结果相加

​ 这只是一个颜色通道的结果,最后得出 Output Volume O_0的结果是三个颜色通道的所以结果相加===>然后别忘了加一个偏移变量b ====>最后得到Output Volume O_0最后的左上角的结果1

总结:卷积层的通过卷积核的过滤提取出图片中局部的特征,跟上面提到的人类视觉的特征提取类似。

4.1.3 步长 与 卷积核 大小对结果的影响
  • 卷积核

​ 类似人类的视觉原理。这里,我们先原始输入 --> 粗粒度的提取特征 --> 中粒度提取特征 --> 高粒度提取特征 -->根据最后提取出来的特征进行分类。

​ 这就说明了,我们做一次卷积是不够的,要多次迭代的做卷积。
CONV 是卷积的意思,通过一次一次的迭代卷积,得出最后的结果。
其中e.g.6 和 e.g.10分别代表 6个卷积核 10个卷积核

  • 步长:

也适用于NLP自然语言处理

步长越大,提取的特征越少。

4.2 池化层————数据降维,避免过拟合

4.2.1 池化层的作用

​ 池化(pooling)层是将卷积后的特征图进一步降维、缩小特征图尺寸,池化后对信息是虽然有损失的,但也保证了模型有较好的拟合能力。

​ 之所以这么做的原因,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行下采样。

常见池化示意图如下:

常用池化手段有最大池化法(Max pooling)、平均池化法(Average pooling),最大池化法取池化窗口内最大值作为输出,过程如下图所示:

  • MAX POLLING :选择权重大的,即:重要的点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-on1wwAnS-1689147739700)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230712130244327.png)]

总结:池化层相比卷积层可以更有效的降低数据维度,这么做不但可以大大减少运算量,还可以有效的避免过拟合。

4.2.2 整体网络架构

CONV:卷积

RELU :一个函数

POOL:池化

FC:全连接

特征图的变化:

卷积层 – 池化层- 卷积层 – 池化层 – 卷积层 – 全连接层

4.3 全连接层——输出结果

​ 这个部分就是最后一步了,经过卷积层和池化层处理过的数据输入到全连接层,得到最终想要的结果。

经过卷积层和池化层降维过的数据,全连接层才能”跑得动”,不然数据量太大,计算成本高,效率低下。

参考链接:
1、https://www.dohkoai.com/usr/show?id=32&catalogsortby=3
2、https://leovan.me/cn/2018/08/cnn/
3、https://easyai.tech/ai-definition/cnn/

什么是卷积神经网络——CNN相关推荐

  1. 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)

    卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习) 分享一些公式计算张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算. 以AlexNet网络为例,以下是该网络的参数结构图. A ...

  2. 卷积神经网络(CNN,ConvNet)

    卷积神经网络(CNN,ConvNet) 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的.在短时间内,变成了一种颠覆性的技术,打破了从文本.视频到语音等多个领域所有最先进的算法,远远超出 ...

  3. 卷积神经网络(CNN)的简单实现(MNIST)

    卷积神经网络(CNN)的基础介绍见http://blog.csdn.net/fengbingchun/article/details/50529500,这里主要以代码实现为主. CNN是一个多层的神经 ...

  4. 卷积神经网络(CNN)实现CIFAR100类别分类

    卷积神经网络(CNN)实现CIFAR100类别分类 1. CIFAR100数据集介绍 这个数据集就像CIFAR-10,除了它有100个类,每个类包含600个图像.,每类各有500个训练图像和100个测 ...

  5. 卷积神经网络(CNN)简介

    卷积神经网络(CNN)简介 多层的线性网络和单层的线性网络没有区别,而且线性模型的能够解决的问题也是有限的 1. 更复杂抽象的数据 一个单隐含层有更多的神经元,就能捕捉更多的特征.而且有更多隐层,意味 ...

  6. 一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)

    http://blog.itpub.net/29829936/viewspace-2648775/ 2019-06-25 21:31:18 卷积神经网络 – CNN 最擅长的就是图片的处理.它受到人类 ...

  7. 卷积神经网络(CNN)反向传播算法

    在卷积神经网络(CNN)前向传播算法中,我们对CNN的前向传播算法做了总结,基于CNN前向传播算法的基础,我们下面就对CNN的反向传播算法做一个总结.在阅读本文前,建议先研究DNN的反向传播算法:深度 ...

  8. 卷积神经网络(CNN)前向传播算法

    在卷积神经网络(CNN)模型结构中,我们对CNN的模型结构做了总结,这里我们就在CNN的模型基础上,看看CNN的前向传播算法是什么样子的.重点会和传统的DNN比较讨论. 1. 回顾CNN的结构 在上一 ...

  9. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  10. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

最新文章

  1. 人员梯度培养_关键人才的梯队培养
  2. 【代码笔记】iOS-获得设备型号
  3. spring boot security ajax_Spring 和 SpringBoot 之间到底有啥区别?
  4. C# 如何转换生成长整型的时间
  5. RPC远程过程调用之 RMI实现
  6. kickStart脚本
  7. 《Python数据分析》第二版.第三章.[学习笔记][Jupyter notebook]
  8. 基于麻雀搜索算法优化的Elman神经网络数据预测 - 附代码
  9. windows 驱动开发 DDK与WDK WDM的区别
  10. 基于DMD实现透过多模光纤(MMF)的聚焦
  11. win7、10系统怎么设置打印机共享(打印机USB接口共享)
  12. 三极管工作原理_10分钟分析稳压三极管工作原理
  13. 拼多多增长黑客模式实战
  14. pythonallowpos_基于Python的诗和远方
  15. web前端整套面试题(二)--今日头条面试题
  16. 青龙面板——每日自动拿京豆
  17. matlab中caitu_tiqu,Matlab平台基于颜色的车牌识别程序
  18. 计算机键盘音乐好汉歌,好汉歌(刘欢演唱的歌曲)_百度百科
  19. basler相机参数简要中文说明_basler设置相机参数
  20. 心理测评系统软件使用问题二

热门文章

  1. 论文修改建议 (ZhangJH 20211124 哪些实验可以对比)
  2. 番茄花园案件的重大进展
  3. 面试高频算法题补充系列:数组的小和问题
  4. 平衡二叉树——调整变换规则
  5. 自学c语言pdf,单片机C语言学习(非常通俗易懂!).pdf
  6. h5页面如何滑动页面不触发华为浏览器默认滑动
  7. 网联自动驾驶试验场(一)上海
  8. 自制系列第一季---打造全能视频直播平台(一)
  9. 安心亚与男星拍吻戏NG20次:一直在观察他的反应
  10. 软考计算机英语词汇,软考英语词汇