美文网首页
CNN理解笔记

CNN理解笔记

作者: zoulala | 来源:发表于2018-05-03 12:44 被阅读0次

转载:https://blog.csdn.net/Chrls_Wang/article/details/51706232

概述

**卷积神经网络(Convolutional Neural Network, CNN)相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程(提取人工特征等),可以直接输入原始图像。

图像处理中,往往会将图像看成是一个或多个的二维向量,如MNIST手写体图片就可以看做是一个28 × 28的二维向量(黑白图片,只有一个颜色通道;如果是RGB表示的彩色图片则有三个颜色通道,可表示为三张二维向量)。传统的神经网络都是采用全连接的方式,即输入层到隐藏层的神经元都是全部连接的,这样做将导致参数量巨大,使得网络训练耗时甚至难以训练,而CNN则通过局部连接权值共享等方法避免这一困难

卷积神经网络CNN的结构一般包含这几个层:

输入层:用于数据的输入
卷积层:使用卷积核进行特征提取和特征映射
激励层:由于卷积也是一种线性运算,因此需要增加非线性映射
池化层:进行下采样,对特征图稀疏处理,减少数据运算量。
全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失
输出层:用于输出结果
当然中间还可以使用一些其他的功能层:

归一化层(Batch Normalization):在CNN中对特征的归一化
切分层:对某些(图片)数据的进行分区域的单独学习
融合层:对独立进行特征学习的分支进行融合

网络结构

下图是一个经典的CNN结构,称为LeNet-5网络

image

可以看出,CNN中主要有两种类型的网络层,分别是卷积层池化/采样层(Pooling)。卷积层的作用是提取图像的各种特征;池化层的作用是对原始特征信号进行抽象,从而大幅度减少训练参数,另外还可以减轻模型过拟合的程度。

卷积层

卷积层是卷积核在上一级输入层上通过逐一滑动窗口计算而得,卷积核中的每一个参数都相当于传统神经网络中的权值参数,与对应的局部像素相连接,将卷积核的各个参数与对应的局部像素值相乘之和,(通常还要再加上一个偏置参数),得到卷积层上的结果。如下图所示。

image

下面的动图能够更好地解释卷积过程:

image

池化/采样层

通过卷积层获得了图像的特征之后,理论上我们可以直接使用这些特征训练分类器(如softmax),但是这样做将面临巨大的计算量的挑战,而且容易产生过拟合的现象。为了进一步降低网络训练参数及模型的过拟合程度,我们对卷积层进行池化/采样(Pooling)处理。池化/采样的方式通常有以下两种:

  • Max-Pooling: 选择Pooling窗口中的最大值作为采样值;
  • Mean-Pooling: 将Pooling窗口中的所有值相加取平均,以平均值作为采样值;

如下图所示。

image

LeNet-5网络详解

以上较详细地介绍了CNN的网络结构和基本原理,下面介绍一个经典的CNN模型:LeNet-5网络

image.png

image image.png

image image.png

image image.png

LeNet-5网络在MNIST数据集上的结果

进一步了解可参考:https://blog.csdn.net/cxmscb/article/details/71023576

相关文章

  • CNN理解笔记

    转载:https://blog.csdn.net/Chrls_Wang/article/details/51706...

  • 2018-01-02 初学CNN

    初学CNN,应当从生物学方面理解CNN的结构和工作模式。

  • 2019-01-03关于卷积,通道的汇总

    10- 深度学习之神经网络核心原理与算法-卷积核 基本概念的理解 CNN笔记:通俗理解卷积神经网络 原图片有几个通...

  • 2018-12-27制作自己的数据集

    CNN tensorflow 学习笔记(六)- 用自己的数据集训练CNN模型 TFRecord数据集 python...

  • cnn的理解

    http://wiki.jikexueyuan.com/project/tensorflow-zh/tutoria...

  • 彻底理解CNN

    待续

  • CNN的理解

    cnn映射如下: y=f(ai, ...), ai1=f1(bj..), ai2=f2(bk,..); 其中bj....

  • 用 Tensorflow 建立 CNN

    稍稍乱入的CNN,本文依然是学习周莫烦视频的笔记。 还有 google 在 udacity 上的 CNN 教程。 ...

  • 基于pytorch的CNN计算简介

    1. CNN简介 本文主要介绍利用pytorch对CNN的计算有一个直观的认识,在此认为你已经对CNN有了一些理解...

  • CNN笔记

    卷积层 负责特征提取 原理 RGB三个通道,或者叫做深度。 3D滤波器/卷积核的深度与输入特征一致,计算过程是两个...

网友评论

      本文标题:CNN理解笔记

      本文链接:https://www.haomeiwen.com/subject/gvykrftx.html