CNN卷积神经网络概述
- 什么是神经网络
- 神经网络的基本单位
- 前馈神经网络
- 卷积神经网络
- 为什么要卷积神经网络
- 什么是卷积
- 一维卷积
- 二维卷积
- 卷积神经网络结构
- 卷积层
- 汇聚层
- 全连接层
什么是神经网络
人工神经网络实质上是数学模型,这些模型主要是通过对人脑的神经元网络进行抽象,构建人工神经元,并按照一定拓扑结构来建立人工神经元之间的连接,来模拟生物神经网络.
神经网络的基本单位
神经元,是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接受一组输入信号并产出输出。
下图是神经元的基本结构
这个一个神经元接受d个输入x1 ,x2 ,··· ,xd ,令向量x = [x1 ;x2 ;··· ;xd ]来
表示这组输入,并用净输入z ∈ R表示一个神经元所获得的输入信号x的加权和,
净输入z在经过一个非线性函数f(·)后,得到神经元的活性值a,
a = f(z), 也可以叫神经元的输出。
其中非线性函数f(·)称为激活函数。
前馈神经网络
给定一组神经元,我们可以以神经元为节点来构建一个网络。不同的神经 网络模型有着不同网络连接的拓扑结构。一种比较直接的拓扑结构是前馈网络。 前馈神经网络是最早发明的简单人工神经网络
下图是结构图:
在前馈神经网络中,各神经元分别属于不同的层。每一层的神经元可以接 收前一层神经元的信号,并产生信号输出到下一层。第0层叫输入层,最后一 层叫输出层,其它中间层叫做隐藏层。整个网络中无反馈,信号从输入层向输 出层单向传播,可用一个有向无环图表示。
可以简写为:
或者 :
第L层的输出a(L) 作为整个函数的输出。
x = a (0) → z (1) → a (1) → z (2) → · · · → a(L-1) → z(L) → a(L) = φ(x; W, b)),
其中W, b表示网络中所有层的连接权重和偏置。
卷积神经网络
为什么要卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)是一种 具有局部连接、权重共享等特性的深层前馈神经网络。 卷积神经网络最早是主要用来处理图像信息。如果用全连接前馈网络来处 理图像时,会存在以下两个问题:
(1)参数太多:如果输入图像大小为100 × 100 × 3(即图像高度为100,宽度为100,3个颜色通道:RGB)。在全连接前馈网络中,第一个隐藏层的每个神经元到输入层都有100 × 100 × 3 = 30, 000个相互独立的连接,每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规模也会急剧增加。这会导致整个神经网络的训练效率会非常低,也很容易出现过拟合。
(2)局部不变性特征:自然图像中的物体都具有局部不变性特征,比如在 尺度缩放、平移、旋转等操作不影响其语义信息。而全连接前馈网络很难提取 这些局部不变特征,一般需要进行数据增强来提高性能。 卷积神经网络是受生物学上感受野的机制而提出。感受野(Receptive Field) 主要是指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支 配的刺激区域内的信号。在视觉神经系统中,视觉皮层中的神经细胞的输出依 赖于视网膜上的光感受器。视网膜上的光感受器受刺激兴奋时,将神经冲动信 号传到视觉皮层,但不是所有视觉皮层中的神经元都会接受这些信号。一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元。
目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的 前馈神经网络,使用反向传播算法进行训练。卷积神经网络有三个结构上的特 性:局部连接,权重共享以及汇聚。这些特性使得卷积神经网络具有一定程度上 的平移、缩放和旋转不变性。和前馈神经网络相比,卷积神经网络的参数更少。 卷积神经网络主要使用在图像和视频分析的各种任务上,比如图像分类、人 脸识别、物体识别、图像分割等,其准确率一般也远远超出了其它的神经网络 模型。
什么是卷积
卷积是一种运算,经常使用一维和二维卷积。
一维卷积
示例:
二维卷积
卷积也经常用在图像处理中。因为图像为一个两维结构,所以需要将 一维卷积进行扩展。
示例
卷积神经网络结构
卷积神经网络一般由卷积层、汇聚层和全连接层构成。
卷积层
用卷积代替全连接
在全连接前馈神经网络中,如果第l 层有n^l 个神经元,第l -1层有n(l-1)个神经元,连接边有nl × n^(l-1) 个,也就是权重矩阵有n^l × n^(l-1) 个参数。当m和n都很大时,权重矩阵的参数非常多,训练的效率会非常低。
根据卷积的定义,卷积层有两个很重要的性质: (可以结合图看)
局部连接 在卷积层(假设是第l 层)中的每一个神经元都只和下一层(第l -1 层)中某个局部窗口内的神经元相连,构成一个局部连接网络。
卷积层和下一层之间的连接数大大减少,有原来的n^l × n(l-1)个连接变为nl × m 个连接,m为滤波器大小。
权重共享 作为参数的滤波器w(l) 对于第l 层的所有的 神经元都是相同的。
卷积层的作用是提取一个局部区域的特征,不同的卷积核相当于不同的特 征提取器。上面描述的卷积层的神经元和全连接网络一样都是一维结构。
既然卷积网络主要应用在图像处理上,而图像为两维结构,因此为了更充分地利用图像的局部信息,通常将神经元组织为三维结构的神经层,其大小为高度 M×宽度N×深度D,有D 个M × N 大小的特征映射构成。
特征映射(Feature Map)为一幅图像(或其它特征映射)在经过卷积提取的特征,每个特征映射可以作为一类抽取的图像特征。为了提高卷积网络的表示能力,可以在每一层使用多个不同的特征映射,以更好地表示图像的特征。
在输入层,特征映射就是图像本身。如果是灰度图像,就是有一个特征映 射,深度D = 1;如果是彩色图像,分别有RGB三个颜色通道的特征映射,输入层深度D = 3。
不失一般性,假设一个卷积层的结构如下:
汇聚层
汇聚层(Pooling Layer)也叫子采样层(Subsampling Layer),其作用是 进行特征选择,降低特征数量,并从而减少参数数量。
卷积层虽然可以显著减少网络中连接的数量,但特征映射组中的神经元个 数并没有显著减少。如果后面接一个分类器,分类器的输入维数依然很高,很
容易出现过拟合。为了解决这个问题,可以在卷积层之后加上一个汇聚层,从 而降低特征维数,避免过拟合。
全连接层
典型的CNN网络结构,全连接层起到“分类器”的作用。