人工智能详细笔记 :卷积神经网络(CNN)
Posted 北岛寒沫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人工智能详细笔记 :卷积神经网络(CNN)相关的知识,希望对你有一定的参考价值。
卷积神经网络和深度学习
BP神经网络存在的问题:
- 输入类型限制:BP神经网络以数值作为输入。如果需要计算图像相关的信息的话,首先需要从图像中提取特征。
- 隐层数量限制:BP学习算法需要巨大的计算量,因此只能包含少量隐含层,从而限制了BP神经网络算法的性能,影响了其在诸多工程领域中的应用。
深度学习的相关概念:
- 深度神经网络(DNN):许多研究通过很多数学和工程技巧来增加神经网络隐层的层数,也就是神经网络的深度,所以称为深度神经网络。
- 深度学习(DL):深度神经网络的学习算法就被称为深度学习。
卷积神经网络(CNN)的相关概念:
- 卷积神经网络的提出:2006年,加拿大多伦多大学欣顿教授等人受到生物学的启发,提出了卷积神经网络。
- 卷积神经网络的地位:卷积神经网络是深度学习的基础,已经成为当前众多科学领域的研究热点之一,特别是模式分类、语音分析和图像识别领域。
- 卷积神经网络的特点:该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,避免了传统识别算法中复杂的特征提取和数据重建过程。
1.卷积神经网络的结构
卷积神经网络的基本结构:卷积神经网络是一种多层神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。卷积神经网络的基本结构图如下所示:
特征提取层(C层):
- 特征提取层别称:特征提取层也被称为卷积层。
- 特征提取层作用:对输入图像进行卷积处理后得到的所有组成的层。
- 特征提取层的神经元连接:每个神经元的输入与前一层的局部感知域相连,并提取该局部的特征。
特征映射层(S层):
- 特征映射层别称:特征映射层也被称为池化层、下采样层或计算层。
- 特征映射层作用:对输入图像进行池化处理得到的层。
- 特征映射层的组成:每个特征映射层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权重相等。
- 特征映射结构的激活函数:特征映射结构采用Sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。
特征提取层和特征映射层的关系:
- 特征提取层和特征映射层的连接方式:CNN中每一个C层都会紧跟着一个用来求局部平均和二次提取的S层。
- 连接方式的优点:这种特有的两次特征提取结构能够容许识别过程中输入样本有较严重的畸变。
- 特征提取层和特征映射层的共同点:每一层都是由多个二维平面构成,每一个二维平面是一个特征图。
卷积神经网络的运转过程:
- 卷积过程:输入图像和多个卷积核以及可加偏置进行卷积,在第一个卷积层上产生多个特征图。
- 池化过程:对上一步产生的多个特征图进行池化,对特征图中每组的四个像素再进行求和、加权重和加偏置处理,产生处理后的多个特征图。
- 循环迭代:上一步的处理结果作为输入进行下一次卷积过程和下一次池化过程,循环这样一个过程。
- 特征图光栅化:将最后一次卷积核池化后的特征图进行光栅化,变为向量。
- 使用NN产生结果:将上一步得到的向量作为输入,使用传统的全连接神经网络NN中进行进一步的分类,得到输出结果。
卷积过程使得原始数据的特征增强且噪声降低;池化过程可以减少数据处理量同时保留有用信息。
特征图的相关概念:
- 特征图的图像大小:可以用“像素×像素”的形式来定义特征图的大小。
- 像素与神经元的关系:由于特征图组成了神经网络的卷积层和池化层,这些特征图中的每一个像素恰恰代表了一个神经元。
- 某层网络的神经元个数:该层所有特征图的像素个数就是该层网络的神经元个数。
2.卷积神经网络的卷积运算
卷积的概述:卷积是数学上一种重要的运算,具有丰富的物理、生物和生态意义。
CNN中卷积的作用概述:对输入图像或上一层的特征图进行变换,也就是特征抽取,得到新的特征。
图片表示的相关概念:
- 灰度图片的表示:可以用一个像素矩阵表示,其中矩阵中每一个数字的取值范围是0-255的整数(0表示黑色,255表示白色)。
- 彩色图片的表示:用RGB三个像素矩阵共同表示。
- 通道的概念:每个像素矩阵都被称为通道,因此灰度图像为单通道,彩色图像为三通道。
- 张量的相关概念:在数学上,把这样的三通道数据矩阵称为三阶张量。张量的长度和宽度标识出图像的分辨率。通道数被称为高度。
对张量的理解:矩阵是向量构成的;张量是矩阵构成的。
卷积的计算方式:
- 定义卷积核矩阵:卷积的计算首先需要定义卷积核矩阵,这是一个比输入矩阵的维度更小的矩阵。
- 卷积滑动的过程:用卷积核矩阵在输入矩阵上从左到右、从上到下滑动,每次滑动s个像素,滑动的距离称为步幅。
- 计算卷积特征矩阵:卷积特征矩阵的每个位置上的值是输入矩阵与卷积核矩阵重合部分的内积,也就是对应位置元素乘积的求和。卷积特征矩阵就是特征图。
卷积的计算例题:
- 输入矩阵以及卷积核矩阵:
- 卷积部分运算过程:
卷积特征矩阵的维度控制:
- 卷积运算会降维:很明显卷积特征矩阵会比输入矩阵的维度更低。
- 补零操作:通过在原输入矩阵四周进行零填充,可以扩大输入矩阵的维数,这种操作被称为补零。
输出矩阵的大小计算(重点):
- 题目要求:根据输入矩阵的大小(H×W)、卷积核矩阵的大小(FH×FW)、填充大小P、步幅S计算输出矩阵的大小(OH×OW)。
- 计算公式:
- 例题分析(均向上取整):
①输入矩阵大小为8×8;填充:1;步幅:1;过滤器(卷积核矩阵)大小:3×3。
答案:输出矩阵的大小为8×8。OH=(8+2×1-3)/1+1=8;OW=(8+2×1-3)/1+1=8。
②输入矩阵大小32×28;填充:2;步幅:3;过滤器(卷积核矩阵)大小:5×5。
答案:输出矩阵的大小为12×10。OH=(32+2×2-5)/3+1=12;OW=(28+2×2-5)/3+1=10。
卷积核矩阵的作用:不同的卷积核矩阵所提取的图像特征不同,因此可以通过选择合适的卷积核矩阵来提取不同类型的图像特征。
对卷积核矩阵的理解:可以把卷积核矩阵视为一个从原始图像中提取指定信息的过滤器。
3.卷积神经网络中的关键技术
图像的一般表示方法:在图像处理中,往往把图像表示为像素的向量。
卷积神经网络的四种关键技术:局部连接、权重共享、多卷积核、池化。
卷积神经网络的局部连接:
- 局部连接的定义:每个神经元只对局部进行感知,然后在更高层将局部信息综合起来得到全局信息。
- 局部连接的优点:可以减少神经元之间的连接数,从而减少神经网络需要训练的权重参数的个数。
卷积神经网络的权重共享:
- 权重共享的基本原理:图像一部分的统计特性和其他部分是一样的。
- 权重共享的优点:一个部分的学习特征可以用于另一部分,所以每个映射面上的神经元共享权重减少了神经网络自由参数的个数。
卷积神经网络的多卷积核:
- 多卷积核的背景:参数个数较少时对特征的提取是不充分的。
- 多卷积核的优点:可以添加多个卷积核提取不同的特征,每个卷积核都会将原图像生成为另一幅图像。
卷积神经网络的池化:
- 池化方法的背景:通过卷积获得的特征后,直接利用这些特征训练模型的计算量仍然非常大,且对于高维数据容易出现过拟合现象。
- 池化方法的概念:对不同位置的特征进行聚合统计,如可以计算图像上一个趋于的某个指定特征的平均值或最大值。
- 池化方法的作用:使得特征的维度大大降低,同时还能改善模型效果。
- 池化方法的分类:池化的方法有平均池化和最大池化两种,最常用的是最大池化法。
简单理解四种关键技术:局部连接和权重共享通过减少模型的参数个数从而避免模型过于复杂;多卷积核用于对图像特征的充分提取;池化方法用于降低特征维度。
以上是关于人工智能详细笔记 :卷积神经网络(CNN)的主要内容,如果未能解决你的问题,请参考以下文章
[人工智能-深度学习-25]:卷积神经网络CNN - CS231n解读 - 卷积层详解
[人工智能-深度学习-24]:卷积神经网络CNN - CS231n解读 - 卷积神经网络基本层级
[人工智能-深度学习-31]:卷积神经网络CNN - 常见卷积神经网络综合比较大全