文章目录

  • 什么是卷积神经网络:
    • 1)网络结构
    • 2)局部感受野与权值共享
    • 3)卷积层、下采样层、全连接层
    • 卷积神经网络相比一般神经网络在图像理解中的优点:
    • 边缘检测
    • 卷积运算
      • 卷积层
      • 卷积后维度公式及运算示例
    • Padding填充
    • Valid卷积和Same卷积
    • 卷积步长
    • 三维卷积
    • 简单卷积网络图解示例
    • 一个卷积核
    • 两个卷积核(多个)
  • 池化层
    • 最大池化
    • 平均池化
  • 为什么使用卷积?
    • 使用卷积网络的两个原因

2022-07-29修改:
突然发现这篇文章阅读量既然这么高,这里有更详细的关于CNN的讲解:
https://mp.weixin.qq.com/s?__biz=Mzk0MzIzODM5MA==&mid=2247484654&idx=1&sn=0eefbc4c58ec17b6e657d67f0821d4e7&chksm=c337b977f4403061ae59d52eb3100f7cb94810be275aaf10ebdcf69ab911a8956b428338534c#rd

什么是卷积神经网络:

卷积神经网络默认输入是图像,可以让我们把特定的性质编码入网络结构,使是我们的前馈函数更加有效率,并减少了大量参数

卷积神经网络是一种带有卷积结构的深度神经网络,卷积结构可以减少深层网络占用的内存量,其三个关键的操作,其一是局部感受野,其二是权值共享,其三是pooling层,有效的减少了网络的参数个数,缓解了模型的过拟合问题。

1)网络结构

卷积神经网络整体架构: 卷积神经网络是一种多层的监督学习神经网络,隐含层的卷积层和池采样层是实现卷积神经网络特征提取功能的核心模块。该网络模型通过采用梯度下降法最小化损失函数对网络中的权重参数逐层反向调节,通过频繁的迭代训练提高网络的精度。卷积神经网络的低隐层是由卷积层和最大池采样层交替组成,高层是全连接层对应传统多层感知器的隐含层和逻辑回归分类器。第一个全连接层的输入是由卷积层和子采样层进行特征提取得到的特征图像。最后一层输出层是一个分类器,可以采用逻辑回归,Softmax回归甚至是支持向量机对输入图像进行分类。

卷积神经网络结构包括:卷积层,降采样层,全链接层。每一层有多个特征图,每个特征图通过一种卷积滤波器提取输入的一种特征,每个特征图有多个神经元。

输入图像统计和滤波器进行卷积之后,提取该局部特征,一旦该局部特征被提取出来之后,它与其他特征的位置关系也随之确定下来了,每个神经元的输入和前一层的局部感受野相连,每个特征提取层都紧跟一个用来求局部平均与二次提取的计算层,也叫特征映射层,网络的每个计算层由多个特征映射平面组成,平面上所有的神经元的权重相等。

通常将输入层到隐藏层的映射称为一个特征映射,也就是通过卷积层得到特征提取层,经过pooling之后得到特征映射层。

2)局部感受野与权值共享

卷积神经网络的核心思想就是局部感受野、是权值共享和pooling层,以此来达到简化网络参数并使得网络具有一定程度的位移、尺度、缩放、非线性形变稳定性。

  • 局部感受野:由于图像的空间联系是局部的,每个神经元不需要对全部的图像做感受,只需要感受局部特征即可,然后在更高层将这些感受得到的不同的局部神经元综合起来就可以得到全局的信息了,这样可以减少连接的数目
  • 权值共享:不同神经元之间的参数共享可以减少需要求解的参数,使用多种滤波器去卷积图像就会得到多种特征映射。权值共享其实就是对图像用同样的卷积核进行卷积操作,也就意味着第一个隐藏层的所有神经元所能检测到处于图像不同位置的完全相同的特征。其主要的能力就能检测到不同位置的同一类型特征,也就是卷积网络能很好的适应图像的小范围的平移性,即有较好的平移不变性(比如将输入图像的猫的位置移动之后,同样能够检测到猫的图像)

3)卷积层、下采样层、全连接层

卷积层:因为通过卷积运算我们可以提取出图像的特征,通过卷积运算可以使得原始信号的某些特征增强,并且降低噪声。

  • 用一个可训练的滤波器fx去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是卷积特征map了),然后加一个偏置bx,得到卷积层Cx。

下采样层:因为对图像进行下采样,可以减少数据处理量同时保留有用信息,采样可以混淆特征的具体位置,因为某个特征找出来之后,它的位置已经不重要了,我们只需要这个特征和其他特征的相对位置,可以应对形变和扭曲带来的同类物体的变化。

  • 每邻域四个像素求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过一个sigmoid激活函数,产生一个大概缩小四倍的特征映射图Sx+1。

全连接层:采用softmax全连接,得到的激活值即卷积神经网络提取到的图片特征。

卷积神经网络相比一般神经网络在图像理解中的优点:

  • 网络结构能够较好的适应图像的结构
  • 同时进行特征提取和分类,使得特征提取有助于特征分类
  • 权值共享可以减少网络的训练参数,使得神经网络结构变得简单,适应性更强

边缘检测

  • 垂直检测
  • 水平检测

卷积运算

卷积层

卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。

相当于特征提取

池化相当于降维 压缩数据

垂直边缘检测为例


  • OpenCV学过的边缘检测滤波器 Sobel,Scharr

卷积后维度公式及运算示例

Padding填充


Valid卷积和Same卷积

卷积步长


三维卷积

简单卷积网络图解示例

一个卷积核

两个卷积核(多个)

池化层

通常在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。目的是为了减少特征图

池化层通常接在卷积层后面,引入它的目的就是为了简化卷积层的输出。通俗地理解,池化层也在卷积层上架了一个窗口,但这个窗口比卷积层的窗口简单许多,不需要w,b这些参数,它只是对窗口范围内的神经元做简单的操作,如求和,求最大值,把求得的值作为池化层神经元的输入值

最大池化

平均池化

为什么使用卷积?

  • 图像像素全连接的参数巨大

使用卷积网络的两个原因

CNN卷积神经网络(图解CNN)相关推荐

  1. CNN卷积神经网络介绍

    CNN卷积神经网络介绍 1.ANN/CNN/RNN是什么? 2.CNN(卷积神经网络)简介 2.1输入层 2.2隐含层 2.2.1卷积层 2.2.2 激活层(ReLU) 2.2.3池化层 (Pooli ...

  2. 第五章 卷积神经网络(CNN)

    文章目录 5.1 卷积神经网络的组成层 5.2 卷积如何检测边缘信息? 5.3 卷积层中的几个基本参数? 5.3.1 卷积核大小 5.3.2 卷积核的步长 5.3.3 边缘填充 5.3.4 输入和输出 ...

  3. 深度学习之CNN卷积神经网络

    详解卷积神经网络(CNN) 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出 ...

  4. 深度学习21天——卷积神经网络(CNN):实现mnist手写数字识别(第1天)

    目录 一.前期准备 1.1 环境配置 1.2 CPU和GPU 1.2.1 CPU 1.2.2 GPU 1.2.3 CPU和GPU的区别 第一步:设置GPU 1.3 MNIST 手写数字数据集 第二步: ...

  5. TensorFlow CNN卷积神经网络实现工况图分类识别(一)

    1. Tensorflow知识点 1.1. 张量 在Tensorflow程序中,所有的数据都是通过张量的形式来表示.从功能的角度上看,张量可以简单的理解为多维数组. (1)占位符Placeholder ...

  6. 3层-CNN卷积神经网络预测MNIST数字

    3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字.这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成. MNIST 由 ...

  7. 深度学习--TensorFlow(项目)识别自己的手写数字(基于CNN卷积神经网络)

    目录 基础理论 一.训练CNN卷积神经网络 1.载入数据 2.改变数据维度 3.归一化 4.独热编码 5.搭建CNN卷积神经网络 5-1.第一层:第一个卷积层 5-2.第二层:第二个卷积层 5-3.扁 ...

  8. 技术05期:五分钟教你读懂卷积神经网络【CNN】

    上期回顾:以RBN(径向基函数)神经网络为例,简要介绍了前馈型神经网络中,"神经元"到底是如何进行"曲线拟合"的.详情可回顾: 神经网络如何从入门到精通?(请戳 ...

  9. Chemistry.AI | 基于卷积神经网络(CNN)预测分子特性

    CNN :Convolutional Neural Networks (卷积神经网络 ) 环境准备 Python版本:Python 3.6.8 PyTorch版本:PyTorch1.1.0 RDKit ...

  10. 深度学习时间序列预测:卷积神经网络(CNN)算法构建单变量时间序列预测模型预测空气质量(PM2.5)+代码实战

    深度学习时间序列预测:卷积神经网络(CNN)算法构建单变量时间序列预测模型预测空气质量(PM2.5)+代码实战 神经网络(neual networks)是人工智能研究领域的一部分,当前最流行的神经网络 ...

最新文章

  1. jQuery 筛选
  2. joomla tab 扩展_如何使用扩展功能扩展Joomla网站的功能
  3. python获取的html转换为json,python读取XML格式文件并转为json格式
  4. 记录linux启动次数的脚本,类UNIX系统中启动脚本记录
  5. 48. Be aware of template metaprogramming
  6. tbschedule 前后置处理器、定期执行任务
  7. 如何在AD上重定向电脑加域后默认保存位置?
  8. Java关于日志,及日志的error和warn的选择
  9. 摆渡人 --如果命运是一条孤独的河流,谁会是你的灵魂摆渡人
  10. 云队友丨快手估值越高,越像抖音
  11. Python实现批量修改图片名称并存入新文件夹
  12. html5 3d自动,html5 3D微信头像自动抽奖代码
  13. 本地计算机无法启动错误1068,Win7系统启动失败并提示错误1068的解决办法
  14. 如何在Apple Watch上管理您的朋友圈
  15. 【Orz】喜闻乐见的原创题被虐...
  16. SpaceX龙飞船顺利返航,溅落太平洋!后续太空任务已安排上
  17. 【Python 实战基础】Pandas如何输出表格数据标题名称列表
  18. Python 可迭代对象与迭代器的对比
  19. 一、网上商城推荐系统
  20. 白色简洁大方公司企业网站源码 WordPress主题2款

热门文章

  1. 你在读文学作品的时候也许从来没考虑这些问题
  2. 面试技巧(2) 个人面试注意事项
  3. Publish Over SSH 本地安装
  4. C++ Boost库分类总结
  5. TikTok干货分享:创作者基金申请流程及常见问题解答
  6. Qt QPainter CompositionMode解读及图片透明度设置
  7. 解决微软的反盗版补丁
  8. Scrcpy投屏软件教程(将手机内容投屏到电脑上)
  9. 高性能服务器架构拓扑图,topology: 开源、易扩展、方便集成的在线绘图(微服务架构图、网络拓扑图、流程图等)工具...
  10. postgresql日常运维:Postgresql运维的自动驾驶