卷积神经网络在模式识别中的应用概述
摘要:卷积神经网络(convolutional neural network,CNN)强大的建模和表征能力很好地解决了特征表达能力不足和维数灾难等模式识别方面的关键问题,受到学者们的广泛关注。因此,本文首先介绍了卷积神经网络的发展历程及其理论模型,然后重点对卷积神经网络在文字语音识别、图像识别和人脸表情识别等中的应用作了总结。最后对卷积神经网络未来在模式识别领域的发展潜力和应用前景进行了展望。
关键词:卷积神经网络;模式识别;文字语音识别;图像识别;人脸表情识别
1 引 言
模式识别(Pattern Recognition)是人类的一项基本智能,在日常生活中,人们经常在进行“模式识别”。随着20世纪40年代计算机的出现以及50年代人工智能的兴起,人们当然也希望能用计算机来代替或扩展人类的部分脑力劳动。(计算机)模式识别在20世纪60年代初迅速发展并成为一门新学科,是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。
模式识别又常称作模式分类,从处理问题的性质和解决问题的方法等角度,模式识别分为有监督的分类(Supervised Classification)和无监督的分类(Unsupervised Classification)两种。模式还可分成抽象的和具体的两种形式[1]。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物的传感器等对象进行测量的具体模式进行分类和辨识。
模式识别方法主要可分为四种,分别为:模板匹配法、统计模式识别法、语法模式识别法以及神经网络。其中模板匹配法是出现较早的一种方法,实现起来较简单,匹配是个通用的操作,用于定义两个实体间的相似性程度,一般是采用二维模板,匹配的要素一般采用像素、曲线及形状信息,当然在定义模板及相似性函数时要考虑到实体的姿态及比例问题,这种方法一般不需要训练,实际上模板就是由训练集建立起来的,它的缺点是适应性差。统计模式识别法的基本原理是:有相似性的样本在模式空间中互相接近,并形成“集团”,即“物以类聚”。统计模式识别的主要方法有:判别函数法, k近邻分类法,非线性映射法,特征分析法,主因子分析法等。语法模式识别法是针对复杂模式提出的,一般将模式分为子模式一级,称为基元。这种方法其难点是基元的提取及从训练数据中提取语法、结构规则。神经网
络是一种复杂的并行的非线性系统,完成复杂的计算,网络的最大特点就是从训练数据中学习到输入-输出间的复杂关系,并对数据具有适应性。
随着人工智能的兴起,深度学习广泛应用于模式识别中,其中卷积神经网络备受研究人员们青睐。卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度不变性,在缩放和倾斜情况下也具有一定的不变性。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或前馈神经网络,具有局部连接、权值共享的特点,其中大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。1962 年,Hubel 和 Wiesel 通过对猫的视觉皮层细胞的研究,提出了感受野的概念。1979 年,日本学者 Fukushima 在感受野概念的基础上,提出了神经认知机模型,该模型被认为是实现的第一个卷积神经网络。1989 年,LeCun 等人首次使用了权值共享技术。1998 年,LeCun 等人将卷积层和下采样层相结合,设计卷积神经网络的主要结构,形成了现代卷积神经网络的雏形(LeNet)。2012 年,卷积神经网络的发展取得了历史性的突破,Krizhevsky 等人采用修正线性单元(Rectified Linear Unit,ReLU)作为激活函数提出了著名的 AlexNet,并在大规模图像评测中取得了优异成绩,成为深度学习发展史上的重要拐点。
2 卷积神经网络的基本原理
在理论上,卷积神经网络是一种特殊的多层感知器或前馈神经网络。标准的卷积神经网络一般由输入层、卷积层、池化层、批归一化层、激活层、全连接层、回归层和输出层构成,如图1所示。
图1 卷积神经网络结构图
卷积层的基本工作就是对输入数据和卷积核函数进行卷积运算,得到的特征映射就是卷积层的输出值。如下表达式:
(2-1)
其中函数为输入,为核函数。然而在深度学习的实际应用中,输入通常是高维数据组,并且核函数也是由算法产生的高维参数数组。这种高维数组就叫做张量。
在实际操作中,可以把无限求和当作对有限个数组的求和应用。对于多维度的卷积运算,例如输入的是一个二维的数据,其核函数为,则其卷积运算公式如下:
(2-2)
对于一维离散数据进行卷积运算,矩阵的每一行必须和上一行移动一个元素后相等。这种矩阵叫做Toeplitz矩阵。对于二维情况,卷积对应着一个双重循环矩阵。在卷积层运算是通过三个重要的思想运转,分别是稀疏交互、参数共享、等变表示,此外卷积层还提供了一个处理大小可变的输入方法。
经过卷积层并行进行多个卷积运算后,经过归一化层对特征数据归一化,加快收敛速度,使得CNN训练更稳定。通常使用批归一化。具体如下:对于卷积后的特征数据,批处理的输入为,输出为 。BN法的步骤如下:
(1)计算每一个训练批次的均值:
(2-3)
其中是第个卷积层中第个特征映射。
(2)计算每一个训练批次的方差:
(2-4)
(3)使用求得的均值和方差对特征数据归一化:
(2-5)
其中是一个微小正数默认为1e-6,为了避免分母为0。
互联网出现雏形(4)尺度变换和偏移:
(2-6)
其中是尺度因子和是平移因子,它们的值是自己学习得到的。
随后经过激活层解决训练过程中梯度弥散的问题,加快收敛速度。通常使用Leaky Relu函数,如下:
(2-7)
因此式2-6变为:
(2-8)
随后经过池化层来删除一些不重要的特征,调整卷积层的输出,池化函数使用某一位置的相邻输出的总体统计特征来代替网络在该位置的输出。常见的池化函数有最大池化、随机池化和平均池化。本文选用了最大池化函数,它给出了相邻矩形区域内的最大值。
(2-9)
其中表示第个卷积层后的第个池化层中的特征数据,代表卷积核窗口的大小,表示池化层的个数。
在池化过后,通常需要对数据进行展开(Flatten),然后全连接层将经过Flatten处理的数据
加权求和,输出如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论