文档库 最新最全的文档下载
当前位置:文档库 › 基于深度卷积神经网络的图像分类

基于深度卷积神经网络的图像分类

基于深度卷积神经网络的图像分类
基于深度卷积神经网络的图像分类

SHANGHAI JIAO TONG UNIVERSITY

论文题目:基于卷积神经网络的自然图像分类技术研究

姓名: 高小宁

专业:控制科学与工程

基于卷积神经网络的自然图像分类技术研究

摘要:卷积神经网络已在图像分类领域取得了很好的效果,但其网络结构及参数的选择对图像分类的效果和效率有较大的影响。为改善卷积网络的图像分类性能,本文对卷积神经网络模型进行了详细的理论分析,并通过大量的对比实验,得出了影响卷积网络性能的因素。结合理论分析及对比实验,本文设计了一个卷积层数为8层的深度卷积网络,并结合Batch Normalization、dropout等方法,在CIFAR-10数据集上取得了%的分类精度,有效地提高了卷积神经网络的分类效果。

关键词:卷积神经网络,图像分类,Batch Normalization,Dropout

Research on Natural Image Classification

Based on Convolution Neural Network

Abstract: Convolution neural network has achieved very good results in image classification, but its network structure and the choice of parameters have a greater impact on image classification efficiency and efficiency. In order to improve the image classification performance of the convolution network, a convolutional neural network model is analyzed in detail, and a large number of contrastive experiments are conducted to get the factors that influence the performance of the convolution network. Combining the theory analysis and contrast experiment, a convolution layer depth convolution network with 8 layers is designed. Combined with Batch Normalization and dropout, % classification accuracy is achieved on CIFAR-10 dataset. Which improves the classification effect of convolution neural network.

Key Words: Convolution neural network(CNN), image classification, Batch Normalization, Dropout

目录

基于卷积神经网络的自然图像分类技术研究................ 错误!未定义书签。

1引言............................................ 错误!未定义书签。2卷积神经网络的模型分析.......................... 错误!未定义书签。

网络基本拓扑结构................................ 错误!未定义书签。

卷积和池化...................................... 错误!未定义书签。

激活函数........................................ 错误!未定义书签。

Softmax分类器与代价函数....................... 错误!未定义书签。

学习算法........................................ 错误!未定义书签。

Dropout........................................ 错误!未定义书签。

Batch Normalization............................ 错误!未定义书签。3模型设计与实验分析.............................. 错误!未定义书签。

CIFAR-10数据集................................ 错误!未定义书签。

模型设计....................................... 错误!未定义书签。

实验结果与分析................................. 错误!未定义书签。4结论............................................ 错误!未定义书签。参考文献.......................................... 错误!未定义书签。

1 引言

1986 年, Rumelhart 等提出人工神经网络的反向传播算法(Back propagation, BP), 掀起了神经网络在机器学习中的研究热潮。但是由于BP神经网络存在容易发生过拟合、训练时间长的缺陷, 90年代兴起的基于统计学习理论的支持向量机具有很强的小样本学习能力。学习效果也优于BP神经网络,导致了神经网络的研究再次跌入低估。

2006 年, Hinton 等人在 Science 上提出了深度学习. 这篇文章的两个主要观点是: 1) 多隐层的人工神经网络具有优异的特征学习能力, 学习到的数据更能反映数据的本质特征,有利于可视化或分类;2) 深度神经网络在训练上的难度, 可以通过逐层无监督训练有效克服。理论研究表明为了学习到可表示高层抽象特征的复杂函数, 需要设计深度网络。深度网络由多层非线性算子构成, 典型设计是具有多层隐节点的神经网络。但是随着网络层数的加大, 如何搜索深度结构的参数空间成为具有挑战性的任务。近年来, 深度学习取得成功的主要原因有:

1) 在训练数据上, 大规模训练数据的出现 (如ImageNet), 为深度学习提供了好的训练资源;

2) 计算机硬件的飞速发展 (特别是 GPU 的出现) 使得训练大规模神经网络成为可能。

卷积神经网络 (Convolutional neural networks, CNN) 是一种带有卷积结构的神经网络, 卷积结构采用权值共享的方式减少了深层网络占用的内存量, 也减少了网络的参数个数, 缓解模型的过拟合问题。为了保证一定程度的平移、尺度、畸变不变性, CNN 设计了局部感受野、共享权重和空间或时间下采样, 提出用于字符识别的卷积神经网络LeNet-5。LeNet-5 由卷积层、下采样层、全连接层构成, 该系统在小规模手写数字识别中取得了较好的结果。2012 年, Krizhevsky等采用称为AlexNet 的卷积网络在 ImageNet 竞赛图像分类任务中取得了最好的成绩, 是 CNN 在大规模图像分类中的巨大成功。AlexNet 网络具有更深层的结构, 并设计了ReLU (Rectified linear unit) 作为非线性激活函数以及 Dropout 来避免过拟合。在 AlexNet 之后, 研究者由提出了网络层数更深的神经网络,例如Google设计的GoogLeNet和MSRA设计的152层的深度残差网络等。表 1 是 ImageNet 竞赛历年来图像分类任务的部分领先结果,可以看

出,层数越深的网络往往取得的分类效果更好。为了更好地改进卷积神经网络, 本文在CIFAR10数据集上研究了不同的网络层设计、损失函数的设计、激活函数的选择、正则化等对卷积网络在图像分类效果方面的影响,本文引入了Batch Normalization与dropout结合的方法,通过加深卷层神经网络的层数,有效地提高了卷积神经网络在图像分类准确率。

表1-1 ImageNet历年图像分类任务结果

公布时间机构Top-5错误率(%)网络名称网络深度

卷积神经网络的模型分析

网络基本拓扑结构

卷积神经网络与其他神经网络模型最大的区别是卷积神经网络在神经网络的输入层前面连接了卷积层,这样卷积层就变成了卷积神经网络的数据输输入。LeNet-5是Yan Lecun开发的用于手写字符识别的经典卷积神经网络模型,图2-1是其结构图。

图2-1 LeNet-5结构图

LeNet-5的体系结构有7层,其中有3个卷积层。第一卷积层由6个特征图(Feature Maps, FM)组成,故C1包含156可训练参数((6个5X5内核加上6偏值)来创建122304 (156* (28*28) -122, 304)个连接。在C1层FM的尺寸为28 x 28,由于边界条件,第二卷积层,C3包含1500权重和16偏置,C3层共有1516个可训练参数以及151600个连接。S2和C3之间的连接如表2-1所示。Lecun 设计这些连接最大化的特征由C3提取的数目,同时减少权重的数目。在最后的卷积层C5包含120个FM,输出尺寸为1X1。

LeNet-5的体系结构还包含有两个子采样层:S2和S4,S2包含6个特征图和S4有16个特征图。层S2有12个可训练的参数与5880连接,而层S4有32个可训练参数与156000连接。

表2-1 S2与S3之间的连接

总结LeNet-5的网络结构,我们得到卷积神经网络的基本结构可以分为四个部分:输入层,卷积层,全连接层和输出层四个部分:

输入层:卷积输入层可以直接作用于原始输入数据,对于输入是图像来说,输入数据是图像的像素值。

卷积层:卷积神经网络的卷积层,也叫做特征提取层,包括二个部分。第一部分是真正的卷积层,主要作用是提取输入数据特征。每一个不同的卷积核提取输入数据的特征都不相同,卷积层的卷积核数量越多,就能提取越多输入数据的特征。第二部分是pooling 层,也叫下采样层(Subsamping ),主要目的是在保留有用信息的基础上减少数据处理量,加快训练网络的速度。通常情况下,卷积神经网络至少包含二层卷积层(这里把真正的卷积层和下采样层统称为卷积层),即卷积层-pooling 层-卷积层-pooling 层。卷积层数越多,在前一层卷积层基础上能够提取更加抽象的特征。

全连接层:可以包含多个全连接层,实际上就是多层感知机的隐含层部分。通常情况下后面层的神经节点都和前一层的每一个神经节点连接,同一层的神经元节点之间是没有连接的。每一层的神经元节点分别通过连接线上的权值进行前向传播,加权组合得到下一层神经元节点的输入。

输出层:输出层神经节点的数目是根据具体应用任务来设定的。如果是分类任务,卷积神经网络输出层通常是一个分类器,通常是Softmax 分类器。 卷积和池化 卷积

卷积,一般利用卷积核对图像进行特征提取,其中最重要的就是卷积核。卷积核的设计一般涉及卷积核的大小(size),卷积核的数目(number)以及卷积核的步长((stride)。

从理论上来说,卷积核的个数表示从上层中通过卷积滤波得到特征图的个数,提取的特征图越多,网络表示特征空间就越大,学习能力也就越强,最后识别结果就比较准。但卷积核太多(特征图太多),增大网络的复杂度,增加参数的个数,加大了计算的复杂度,易出现过拟合现象,所以有时候卷积核也不并是越多越好,而应根据具体的数据集图像的大小确定卷积核的个数。

图像卷积特征提取,通过设定的一个卷积核尺寸为w w ?的滤波器,步长(stride )为k 个像素,对一幅新的图像()h w n n ?进行卷积处理,得到一个大小为

h w n w k n w k

k k

-+-+? 的特征图,如图2-2所示。一般来说卷积核尺寸越小,特征提

取的质量也就越高,具体大小还应根据输入图像的尺寸决定。

图2-2 图像卷积示意图

池化

对输入的图像邻域进行卷积处理得到图像的邻域特征图(Feature Map),再通过亚采样层使用池化((pooling)技术将小邻域内进行下采样得到新的特征。通过对上层池化,特征结果可以使得参数减少(降低了特征维数),且增强特征使得最后的特征表达保持了某些不变性(旋转、平移、伸缩等),所以说池化的本质是一个降纬的过程。常用的有均值采样(mean- pooling )、最大采样( max - pooling)。

据相关理论,特征提取的误差主要来自两个方面:(1)邻域大小受限造成的估计值方差增大;(2)卷积层参数误差造成估计均值的偏移。一般来说,mean-pooling 能减小第一种误差,更多的保留图像的背景信息,max-pooling 能减小第二种误差,更多的保留纹理信息。 激活函数

在神经网络中经常使用的激活函数有Sigmoid 函数、Tanh 函数、ReLu 函数等,前两种激活函数在传统的BP 神经网络使用的较多,ReLu 函数在深度学习中使用的较多。

ReLu ( rectified finear unit)函数是Hinton 提出的修正线性单元(Relu) ,CNNs 在利用ReLu 函数进行训练几次之后明显比传统的sigmoid 和tanh 函数更快。

假设一个神经单元的激活函数为()i h ,其中i 表示隐含层单元的个数,()i w 表示隐含单元的权值,那么ReLu 函数的表达式为:

()()()()()()0max((),0)0i T

i T i i T

w x w x h w x else

?>?==?

??

(2-1)

其函数图像如图2-3所示:

图2-3 ReLu 函数图像

由于ReLu 函数具有线性的、非饱和的形式,单侧抑制,相对宽阔的兴奋边界,稀疏激活性,所以在卷积神经网络中的使用效果好于sigmoid 和tanh 函数。

Softmax 分类器与代价函数

在卷积神经网络应用于图像分类任务时,我们在神经网络最后一层全连接层后接一个Softmax 分类器用于图像标签的预测。

在softmax 回归中,我们解决的是多分类问题(相对于 logistic 回归解决的二分类问题),类标y 可以取k 个不同的值(而不是2个)。因此,对于训练集

(1)(1)()(){(,),...,(,)}m m x y x y ,我们有(){1,2,...,}i y k ∈。(注意此处的类别下标从 1 开始,而不是0)。

对于给定的测试输入x ,我们想用假设函数针对每一个类别j 估算出概率值(|)p y j x =。也就是说,我们想估计x 的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个k 维的向量(向量元素的和为1)来表示这k 个估计的概率值。具体地说,我们的假设函数()h x θ形式如下:

()

1()2()

()()

()

()()()1()()(1|;)(2|;)1

()......(|;)T i T i T i j T i k x i i i i x i k x j i i x e p y x p y x e h x e

p y k x e θθθθθθθθ=??

??

=???

?

=???

???==?

?????????

=????

????

∑(2-2) 为了方便起见,我们同样使用符号θ来表示全部的模型参数。在实现Softmax 回归时,将θ用一个(1)k n ?+的矩阵来表示会很方便,该矩阵是将12,,...,k θθθ按行罗列起来得到的,如下所示:

12...T T T k θθθθ??

????=????????

(2-3)

由上式子可得样本()i x 属于j 的概率为:

()

()

()()1

(y |;)T i j T i x l x

i i k l e

p y x e

θθθ===

∑(2-4)

当每个样本所属类别的条件概率()()(y |;)i i p y x θ=都最大时,分类器识别率

最高,此时等价于最大化如下的似然函数:

()()1

(|x)=(y |;)m

i i i L p y x θθ==∏(2-5)

为了降低计算量和防止溢出, 对似然函数取对数,并适当变形得:

()()()

11

11()1{}log T i j T i l x m k i k

x i j l e J y j m e θθθ===??

????=-=??????

∑∑∑(2-6) 其中1{.}称为示性函数,表达的功能为:1{ true } =1,1{false}= 0。此时最大化似然函数(|)L x θ等价于最小化代价函数()J θ,故使用梯度下降法求解

()J θ的最小值,从而确定参数θ。代价函数()J θ的梯度为:

()

()()()1

1()(1{}(|;))j m i i i i i J x y j p y j x m θθθ=???=-=-=??∑ (2-7) 在实际应用中,我们为了防止过拟合问题,我们通常在代价函数后加正则化项

210

2

m

n

ij

i j λ

θ==∑∑(L2正则化),这样代价函数变为:

()()()

2111011()1{}log 2T i j T i l x m k m n

i ij k

x i j i j l e J y j m e θθλθθ=====??

????=-=+??????

∑∑∑∑∑(2-8) 上式中的第二项它会对偏大的参数值进行惩罚,又称权值衰减项。适当的λ可以降低权值的数量级,从而控制网络参数的取值,在一定程度上防止了过拟合。 学习算法

在神经网络的学习中我们主要利用反向传播算法来进行梯度计算,并且用梯度执行参数更新,主要的方法有随机梯度下降法(Stochastic Gradient Decent, SGD ),自适应矩估计法(Adaptive Moment Estimation ,Adam )。通常情况下我们的训练数据集会比较大,如何一次性装载所有训练样本进行训练,往往会出现内存溢出问题,所以我们实际中常常采用数据集的一个微型集(mini-batch ,数量为N<<|D|,此时的代价函数为:

||

()1()()()||N i i

J f x r N θθλθ=+∑ (2-9) 随机梯度下降

随机梯度下降法每次输入一个微型集(mini-batch)对网络进行训练,由于每次的微型集都是随机选取的,所以每次迭代的代价函数会不同,当前bacth 的梯度对网络参数的更新影响较大,为了减少这种影响,我们通常情况下会引入动量系数对传统的随机梯度下降法进行改进。

momentum 即动量,它模拟的是物体运动时的惯性,即更新的时候在一定程度上保留之前更新的方向,同时利用当前batch 的梯度微调最终的更新方向。这

样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力。加动量的随机梯度下降算法迭代公式如下:

1()t t t V V J μηθ+=-? (2-10)

11t t t V θθ++=+(2-11)

其中t V 是上一次的权值更新量,μ为动量系数,表示要在多大程度上保留原来的更新方向,这个值在0-1之间,η为学习率。

特点如下:

下降初期时,使用上一次参数更新,下降方向一致,乘上较大的能够进行很好的加速 下降中后期时,在局部最小值来回震荡的时候,0gradient →,使得更新幅度增大,跳出陷阱

在梯度改变方向的时候,能够减少更新,总而言之,动量项能够在相关方向加速SGD ,抑制振荡,从而加快收敛。 自适应矩估计法

Adam(Adaptive Moment Estimation)本质上是带有动量项的RMSprop ,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam 的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。迭代公式如下:

1(1)()t t t m m J μμθ-=+-?(2-12)

21(1)()t t t n vn v J θ-=+-?(2-13)

?1t

t t

m m

μ=-(2-14) ?1t

t t

n n

v =-(2-15) ??t t t n

θηε?=+(2-16)

其中,t m ,t n 分别是对梯度的一阶矩估计和二阶矩估计,可以看作对期望

|()|t E J θ?,2|()|t E J θ?的估计;?t m

,?t n 是对t m ,t n 的校正,这样可以近似为对期望的无偏估计。可以看出,直接对梯度的矩估计对内存没有额外的要求,而且可

以根据梯度进行动态调整,而

?

?

t

t

-

+

对学习率形成一个动态约束,而且有明确的

范围。

特点如下:

具有善于处理稀疏梯度和非平稳目标的优点

对内存需求较小

为不同的参数计算不同的自适应学习率

适用于大多非凸优化问题,也适用于大数据集和高维空间

通常情况下且迭代速度快于SGD,但是其收敛精度一般不如SGD

Dropout

权值衰减(L2正则化)是通过修改代价函数来实现的,但是Dropout通过修改神经网络结构来实现的,它是在训练神经网络时用的一种优化方法。Dropout 是指在模型训练时随机让网络部分隐含层单元的不工作,不工作的那些单元可以暂时不作为网络的部分计算,但保留它的权重(暂时不更新),因为下次样本输入时它可能又工作。在训练过程中,Dropout是以一定概率1p

-将隐含层节点的输出清0,而用反向传播更新权值时,不再更新与该节点相连的权值,未设置Dropout与设置Dropout的神经网络结构如下:

(a)无Dropout的神经网络结构(b)设置Dropout的神经网络结构

图2-4 Dropout示意图

Batch Normalization

我们知道,在训练深度神经网络时,常常会发生“梯度弥散”问题,即当我们使用反向传播方法计算梯度导数的时候,随着网络深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小。一个简单的例子就是:30

=,结果就造成了整体的代价函数对最初几层网络的权值的导数非常0.90.04

小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从样本中进行有效的学习。

为了解决梯度弥散问题,Google在2015年的ICML大会上提出了Batch Normalization的方法。Batch Normalization嘛,即“批规范化”,即在每次进行随机梯度下降时,通过mini-batch来对相应的激活输出做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1。具体的“批规范化”算法如下:

在Batch Normalization中,通过将激活函数的输出规范为均值和方差一致的手段使得原本会减小的输出的变大,从而在很大程度上解决了梯度弥散问题,并加快了深度神经网络的训练。

3 模型设计与实验分析

CIFAR-10数据集

CIFAR-10数据集含有6万张3232

?的自然图像,共分为10种类型,由 Alex Krizhevsky, Vinod Nair和 Geoffrey Hinton收集而来。包含50000张训练图片,10000张测试图片,数据集的数据存在一个100003072

?的数组中(按行存储,每一行表示一副图像),前1024位是R值,中间1024位是G值,最后1024位是B值,数据集样例如图3-1所示。我们对实验数据集仅作简单的裁剪与白化处理后将像素值送入神经网络中进行训练。

图3-1 CIFAR-10数据集样例

模型设计

在上一章中我们对卷积神经网络性能的影响因素进行了分析,如何选择感受野大小、核个数、池化大小、网络的层数等。对此,我们根据这些影响因素并结合CIFAR-10数据集,设计了两个模型。一种是浅层卷积网络模型,一种是深度卷积网络模型,浅层卷积网络模型受Google TensorFlow的教学手册启发,深度卷积网络模型是结合了影响卷积网络性能的影响因素设计而成。

浅层卷积网络与深度卷积网络的结构图分别如图3-2与图3-3所示。

softmax

local4

local3

pool2

norm2

conv2

norm1

pool1

conv1

input

图3-2 浅层卷积网络

softmax

local10

local9

pool4

norm4

conv8

conv7

pool3

norm3

conv6

conv5

pool2

norm2

conv4

conv3

norm1

pool1

conv2

conv1

input

图3-3 深度卷积网络

两个网络的架构图分别如表3-1与表3-2所示。

表3-1 浅层卷积网络架构图

表3-2 深度卷积网络架构图

若我们将下采样层(pooling)与归一化层(Batch Normalization)不计入网络层数的计算,则我们设计的浅层网络的深度为5,深度网络的深度为11。

实验结果与分析

实验环境与基本参数设置:

实验中我们采用Python+tensorflow进行编程,tensorflow是Google开发

的一种深度学习框架,其提供了C++与Python接口,主要支持Linux与Mac OS,这种框架主要采用先进的图计算,即使用有向图的节点和边共同描述数学计算。graph中的nodes代表数学操作,也可以表示数据输入输出的端点。边表示节点之间的关系,传递操作之间互相使用的多位数组(tensors,张量),tensor在graph中流动——这也就是TensorFlow名字的由来。一旦节点相连的边传来了数据流,节点就被分配到计算设备上异步的(节点间)、并行的(节点内)执行,这种灵活的架构允许我们使用相同的API在单或多CPUs或GPU,服务器及移动设备上进行计算。本文的编程环境处于Linux之中,具体的实验室环境如表3-3所示:

表3-3 实验环境

为了后续进行对比实验,我们配置了基本的实验参数,后续相关的实验参数也是在基本参数上进行变动。权值衰减的实现是在代价函数中增加惩罚项,随机训练样本会造成这惩罚项产生较大的随机突变,干扰梯度更新方向的稳定性,同时增大训练误差,故惩罚项的参数需要非常小,一般都要小于;另外,对神经元随机失能的比例不能太大,否则随机噪声会淹没训练集的作用;批处理尺寸(batch size)不能太大,负责会造成迭代过慢及内存溢出问题,我们在CNN 的训练时间、准确率和稳定性之间进行折中后的基本实验参数如表3-4所示。

表3-4 基本实验参数

不同batch size对比实验

我们采取不同的batch size,并选取随机梯度下降学习算法,在CIFAR-10数据集上进行了对比实验,各种不同batch size对应的代价函数曲线如图3-4所示。

(a) batch size=128(b) batch size=256

(c) batch size=512(d) batch size=1024

图3-4 不同batch size的代价函数曲线

从图3-4可以看出,batch size为128与256时,代价函数的震荡较激烈,随着batch size增大到512与1024,代价函数的下降变得相对平稳,这是由于batch size越大越能代表总体的训练集样本分布,但是batch size越大,每次迭代所需时间就近线性增长,在实验室中,不同的batch size对应的处理速度如表3-5。

表3-5 不同batch size的处理速度

不同激活函数对比实验

我们分别选择三种激活函数,均采取Adam学习算法,经过1000次迭代后的代价函数曲线如图3-5所示。

(a) sigmoid(b) tanh

(c) ReLu

图3-5 不同激活函数的代价函数曲线

从上图中我们可以看出,在相同的迭代次数下,sigmoid型激活函数对应的代价函数值降低到左右,而tanh型激活函数的代价函数下降到一个更小的值(~),最后ReLu激活函数的震荡更小,对应代价函数下降到一个比tanh型函数更小的值,这与其特性(①单侧抑制②相对宽阔的兴奋边界③稀疏激活性)有关,所以ReLu型激活函数更适用于深度神经网络,后续我们的实验也是默认采用ReLu激活函数。

不同学习算法对比实验

在保持基本实验参数设置的情况下,三种不同的学习算法的代价函数曲线如图3-6所示。从曲线图我们可以看出,SGD(随机梯度下降法)收敛速度最慢,而且曲线震荡明显;SGD+Momentum(随机梯度下降加动量因子)震荡减小且收敛速度加快,如果迭代次数足够多,可以收敛到一个比较理想的值;Adam(自适应矩估计法)收敛速度最快,且震荡较小,如果对精度没有严格要求话,Adam是一个较理想的选择(后续对比实验也默认采用Adam学习算法)。

(a) SGD(b) SGD+Momentum(c) Adam

图3-6 不同学习算法的代价函数曲线

不同特征图个数对比实验

我们以之前设计的浅层卷积网络为基础,分别设置两层卷积层的特征图

(Feature Maps)个数为16-16,32-32,64-64,卷积核尺寸为5×5,pooling窗口尺寸为3×3,其他层保持不变,迭代10000步后,不同数目的特征图对应的测试集分类精度如表3-6所示。

表3-6 不同Feature Maps对应的测试集精度

由表3-5可知,在一定范围内,随着特征图(Feature Maps)个数的增多,对应的分类精度就越大,这是由于特征图个数越多,从输入图像中提取到的特征也就越多,模型的表达能力也就越强,所以在计算能力允许的情况下我们应该尽量增加特征图的数目,提高图像特征的提取质量进而增强模型的表达能力。

不同池化方式对比实验

我们保持基本实验参数不变,分别采用average pooling(均值采样)与max pooling(最大采样)两种池化方式,迭代10000次后的对应的测试集分类精度如表3-6所示,相应的代价函数曲线如图3-7所示。

表3-7 不同池化方式对应的测试集精度

(a) average pooling(b) max pooling

图3-7 不同pooling方式对应的代价函数曲线

从表3-6可以看出采用max pooling取得了更高的分类精度,从两者的代价函数曲线也可以看出max pooling可以将代价函数降到更低,这是由于max pooling减小了卷积层参数误差造成的估计均值偏移,所以后续的实验中我们也将采用max pooling的方式。

不同卷积层数对比实验

我们在之前设计的浅层卷积网络的基础上增加两层卷积层,并与浅层卷积网

络、深度卷积网络一起进行对比实验,保持基本的实验参数不变,采用Adam学习算法,迭代10000次后的分类精度如表3-8所示。

表3-8 不同卷积层数对应的测试集精度

由表3-8可知,随着卷积层数的增多相应的分类精度也在提高,这是由于卷积层数越多,对特征的抽象能力也就越强大,最后提取到的特征质量也就越高,所以一般来说,深度卷积网络比浅层卷积网络的性能要好。

深度卷积网络模型实验

我们设置最大迭代次数为50000次,采用SGD+Momentum的学习算法,初始η=,每隔125次Epoch学习率衰减为上一次的倍,其他参数保持化学习率0.01

基本参数不变,对应的代价函数曲线如图3-8所示。

图3-8 深度卷积网络模型代价函数曲线

经过50000次迭代后,代价函数大约稳定在左右,最低为,最后的分类精度为%,CIFAR-10部分论文的分类精度如图3-9所示。从图中可以看出,本文的分类精度优于许多论文得到的分类精度,但是由于本文的方法并未对训练集图像做精细的预处理,所以本文的分类精度比一些做过相应预处理的论文结果要低;观察代价函数曲线可知,若迭代次数再增大,代价函数可以再进一步下降,但由于本文中使用的计算机计算能力有限,若迭代更多的次数需要的时间会很长,就不做进一步的迭代。

图3-9 CIFAR-10部分论文分类精度

4 结论

本文通过分析影响卷积神经网络模型的各个因素(网络层数、学习算法、卷积核大小、pooling方式、激活函数、Dropout、Batch Normalization等),针对CIFAR-10图像数据集,设计了两个卷积网络模型(浅层网络模型与深度网络

基于深度卷积神经网络的图像分类

SHANGHAI JIAO TONG UNIVERSITY 论文题目:基于卷积神经网络的自然图像分类技术研究 姓名: 高小宁 专业:控制科学与工程

基于卷积神经网络的自然图像分类技术研究 摘要:卷积神经网络已在图像分类领域取得了很好的效果,但其网络结构及参数的选择对图像分类的效果和效率有较大的影响。为改善卷积网络的图像分类性能,本文对卷积神经网络模型进行了详细的理论分析,并通过大量的对比实验,得出了影响卷积网络性能的因素。结合理论分析及对比实验,本文设计了一个卷积层数为8层的深度卷积网络,并结合Batch Normalization、dropout等方法,在CIFAR-10数据集上取得了%的分类精度,有效地提高了卷积神经网络的分类效果。 关键词:卷积神经网络,图像分类,Batch Normalization,Dropout Research on Natural Image Classification Based on Convolution Neural Network Abstract: Convolution neural network has achieved very good results in image classification, but its network structure and the choice of parameters have a greater impact on image classification efficiency and efficiency. In order to improve the image classification performance of the convolution network, a convolutional neural network model is analyzed in detail, and a large number of contrastive experiments are conducted to get the factors that influence the performance of the convolution network. Combining the theory analysis and contrast experiment, a convolution layer depth convolution network with 8 layers is designed. Combined with Batch Normalization and dropout, % classification accuracy is achieved on CIFAR-10 dataset. Which improves the classification effect of convolution neural network. Key Words: Convolution neural network(CNN), image classification, Batch Normalization, Dropout

(完整版)深度神经网络及目标检测学习笔记(2)

深度神经网络及目标检测学习笔记 https://youtu.be/MPU2HistivI 上面是一段实时目标识别的演示,计算机在视频流上标注出物体的类别,包括人、汽车、自行车、狗、背包、领带、椅子等。 今天的计算机视觉技术已经可以在图片、视频中识别出大量类别的物体,甚至可以初步理解图片或者视频中的内容,在这方面,人工智能已经达到了3岁儿童的智力水平。这是一个很了不起的成就,毕竟人工智能用了几十年的时间,就走完了人类几十万年的进化之路,并且还在加速发展。 道路总是曲折的,也是有迹可循的。在尝试了其它方法之后,计算机视觉在仿生学里找到了正确的道路(至少目前看是正确的)。通过研究人类的视觉原理,计算机利用深度神经网络(Deep Neural Network,NN)实现了对图片的识别,包 括文字识别、物体分类、图像理解等。在这个过程中,神经元和神经网络模型、大数据技术的发展,以及处理器(尤其是GPU)强大的算力,给人工智能技术 的发展提供了很大的支持。 本文是一篇学习笔记,以深度优先的思路,记录了对深度学习(Deep Learning)的简单梳理,主要针对计算机视觉应用领域。 一、神经网络 1.1 神经元和神经网络 神经元是生物学概念,用数学描述就是:对多个输入进行加权求和,并经过激活函数进行非线性输出。 由多个神经元作为输入节点,则构成了简单的单层神经网络(感知器),可以进行线性分类。两层神经网络则可以完成复杂一些的工作,比如解决异或问题,而且具有非常好的非线性分类效果。而多层(两层以上)神经网络,就是所谓的深度神经网络。 神经网络的工作原理就是神经元的计算,一层一层的加权求和、激活,最终输出结果。深度神经网络中的参数太多(可达亿级),必须靠大量数据的训练来“这是苹在父母一遍遍的重复中学习训练的过程就好像是刚出生的婴儿,设置。.果”、“那是汽车”。有人说,人工智能很傻嘛,到现在还不如三岁小孩。其实可以换个角度想:刚出生婴儿就好像是一个裸机,这是经过几十万年的进化才形成的,然后经过几年的学习,就会认识图片和文字了;而深度学习这个“裸机”用了几十年就被设计出来,并且经过几个小时的“学习”,就可以达到这个水平了。 1.2 BP算法 神经网络的训练就是它的参数不断变化收敛的过程。像父母教婴儿识图认字一样,给神经网络看一张图并告诉它这是苹果,它就把所有参数做一些调整,使得它的计算结果比之前更接近“苹果”这个结果。经过上百万张图片的训练,它就可以达到和人差不多的识别能力,可以认出一定种类的物体。这个过程是通过反向传播(Back Propagation,BP)算法来实现的。 建议仔细看一下BP算法的计算原理,以及跟踪一个简单的神经网络来体会训练的过程。

基于深度卷积神经网络的人脸识别研究

基于深度卷积神经网络的人脸识别研究 深度卷积神经网络主要应用包括语音识别、图像处理、自然语言处理等。本文就当前大环境下研究了卷积神经网络模型在静态环境下人脸识别领域的应用。卷积神经网络模型需要设计一个可行的网络模型,将大量的人脸训练数据集加载到网络模型中,然后进行自动训练,这样就可以得到很好的识别率。把训练好的模型保存下来,那么这个模型就是一个端到端的人脸特征提取器。该方法虽然操作简单,但是需要根据训练数据集设计合理的网络结构,而且最难的关键点是超参数的调整和优化算法的设计。因此本文结合残差网络和融合网络构建了两个与计算资源和数据资源相匹配的网络模型,并通过反复调整超参数和调试优化器使其在训练集上能够收敛,最终还取得较好的识别率。 本文的主要研宄内容和创新点如下: 1.介绍了卷积神经网络的基础理论知识。先从传统人工神经网络的模型结构、前向和反向传播算法进行了详细的分析;然后过渡到卷积神经网络的相关理论,对其重要组成部分如卷积层、激励层、池化层和全连接层进行了具体的阐述;最后对卷积神经网络训练时的一些注意事项进行了说明。 人工神经元是构成人工神经网络的基本计算单元,单个神经元的模型结构如下图所示。

其中,b X W b x w Z T+ = + =∑1 1 1 ) ( ) ( , z f x h h w = x x x x x e e e e z z f e z z f - - - + - = = + = = ) tanh( ) ( 1 1 ) ( ) (σ 卷积神经网路的基本结构

简单的池化过程: 2.对深度学习框架TensorFlow的系统架构和编程模型作了一些说明,并对人脸数据进行预处理,包括人脸检测、数据增强、图像标准化和人脸中心损失。

使用卷积神经网络的图像样式转换

《使用卷积神经网络的图像样式转换的研究》 院系信息工程学院 专业电子与通信工程 班级信研163 提交时间:2016年11月28日

使用卷积神经网络的图像样式转换的研究 湖北省武汉,430070 摘要:以不同的风格样式渲染图像的内容一直都是一个十分困难的图像处理任务。也可以说,以前主要限制因素是不知如何明确表示内容信息。在这里我们使用图像表示导出优化的能够识别对象的卷积神经网络,这使得高级图像信息显示。我们引入了一种可以分离和重组自然图像的图像内容和艺术风格的神经算法。这个算法允许我们生成高质量的新目标图像,它能将任意照片的内容与许多众所周知的艺术品的风格相结合。我们的结果提供了对卷积神经网络学习的深度图像表示的新理解,并且展示了他们的高水平图像合成和操纵的能力。 关键词:卷积神经网络;图像处理;神经算法 The Study of Image Style Transfer Using Convolutional Neural Networks LiWenxing School of Science,Wuhan University of Technology,Wuhan 430070,China Abstract: Rendering the content of an image in a different style has always been a difficult image processing task. It can also be said that the main limiting factor in the past is that I do not know how to clearly express the content information. Here we use an image representation to derive an optimized, object-aware convolutional neural network, which allows advanced image information to be displayed. We introduce a neural algorithm that can separate and reconstruct the image content and artistic style of natural images. This algorithm allows us to generate high-quality new target images that combine the content of any photo with the style of many well-known works of art. Our results provide a new understanding of the depth image representation of convolution neural network learning and demonstrate their ability to synthesize and manipulate high-level images. Keywords: Convolutional Neural Network;Image Processing;Neural algorithm

一种基于卷积神经网络的图像分类方法

F 福建电脑 UJIAN COMPUTER 福建电脑2018年第2期 基金项目:国家级大学生创新训练计划项目(201610719001);陕西省大学生创新训练计划项目(1495)。 0引言 图像分类就是利用计算机模拟人类对图像的理解和认知,自动根据图像的内容将图片划分到合适的类别中,它在智能识别、目标检测和信息搜索等计算机视觉领域有着广泛的应用,图像分类问题也一直是计算机视觉的基本问题。目前,关于图像分类的研究大多集中在医学图像、遥感图像等专业领域,而对于自然图像分类的研究较少,虽然分类的算法如K 最近邻算法[1]、决策树算法[2]、神经网络算法[3]、支持向量机算法[4]和一些混合算法[5]能达到较可观的分类效果,但对大数据库的分类,存在训练时间长,准确度低、易出现过拟合等缺点。 由于卷积神经网络[6](Convolutional Neural Network,CNN )具有输入图像不需预处理;特征提取和模式分类同时在训练中产生;权重共享减少了网络训练参数;很强的抗干扰能力等优点。本文首先分析探讨了卷积神经网络结构、原理,提出了一种改进的卷积神经网络,设计了基于该模型的图像分类算法,实验结果表明该模型能提取出大数据库中图像明显特征,可精确地对图像集进行分类。 1卷积神经网络及其改进 CNN 是将卷积运算引入到深度学习模型,属于多层前馈神经网络模型,但与传统不同的是它的输入是二维模式,可以直接处理二维模式,其连接权是二维权矩阵,称为卷积核,基本操作是二维离散卷积和池化。简单地说,CNN 就是能够自动的对于一张图片学习出最好的卷积核以及这些卷积核的组合方式。 1.1CNN 结构 CNN 一般由卷积层、池化层、全连接层和一个输出层(或分类器)组成。每层由多个二维平面块组成,每个平面块由多个独立神经元组成,如图1所示。 卷积层通过卷积运算提取图像的不同特征,包含若干组CNN 训练的参数,即进行学习的卷积核,当前层的卷积核对输入的一组图片做卷积运算,再经过激活函数得到新的特征图像,通常采用卷积离散型将输入原始图像的像素输出为新的像素点,可由公式(1)计算得出: (1) 其中,M β表示输入特征图像的子集;W γαβ表示卷积核;γ表 示网络层数;b γβ表示输出特征映射的偏置,f 表示激活函数,最常用的是sigmoid 函数与双曲正切函数。 卷积层后一般接入池化层来减小数据量,通过池化把输入的特征图像分割为不重叠的矩形区域,而对相应的矩形区域做运算,常见的有最大池化和均值池化。经过交替的卷积层和池化层之后,已经获得了高度抽象的特征图像,全连接层把得到的多个特征映射转化为一个特征向量以完全连接的方式输出,最后对提取的特征进行分类。 1.2CNN 工作原理 在CNN 中,通过神经网络的梯度反向传播算法实现对参数的学习训练,属于有监督学习。在进行学习训练过程中,输入信号的训练输出和实际输出会有一定误差,误差在梯度下降算法中逐层传播,逐层更新网络参数。假设样例(x ,y )的损失函数为C (W ,b ;x ,y ),如式(2)。 (2)为防止过拟合,需增加,L 2范数,如式(3)。 (3) 其中,h W ,b (x )为输入样本x 经过CNN 后的输出,y 为样本的标签真值,λ为控制强度。为了使代价函数尽可能的小,因此需要不断更新每一层的权重W 和偏置项b ,任意一层(假设为γ层)的权重更新如式(4)。 (4) 1.3CNN 的改进 在处理大数据集方面,由于卷积层和池化层数较少,获得的特征图相对不足,因此达不到较好的分类效果。针对该缺点,依据CNN 的卷积层和池化层设置灵活性,不同的结构设置会得到不同结果的特点,对传统CNN 进行了两方面的改进,一方面将卷积层和池化层层数分别增至3层,提高了各层提取图像特征的能力,使分类效果得到改善;另一方面设置卷积核大小为5×5,扫描的步长为2,在提高训练效率的同时也保证了分类精确度。 2基于改进CNN 的图像分类 一种基于卷积神经网络的图像分类方法 张琳林,曹军梅 (延安大学计算机学院陕西延安716000) 【摘要】利用卷积神经网络是深度学习的一种高效识别模型的思想, 将卷积神经网络应用于图像分类中,避免对图像进行复杂的预处理的同时也提高了图像分类的准确度。在分析卷积神经网络结构、 原理及特点的基础上,提出了一种改进的卷积神经网络模型,设计了基于该模型的图像分类算法, 并在大数据库CIFA R-10下进行实验验证,表明图像分类的准确度高,总结了网络模型对图像分类结果的影响因素。 【关键词】卷积神经网络;图像分类;卷积;池化;特征图像图1CNN 的基本结 构 DOI:10.16707/https://www.wendangku.net/doc/03255958.html,ki.fjpc.2018.02.021 46··

深度神经网络及目标检测学习笔记

深度神经网络及目标检测学习笔记 https://youtu.be/MPU2HistivI 上面是一段实时目标识别的演示,计算机在视频流上标注出物体的类别,包括人、汽车、自行车、狗、背包、领带、椅子等。 今天的计算机视觉技术已经可以在图片、视频中识别出大量类别的物体,甚至可以初步理解图片或者视频中的内容,在这方面,人工智能已经达到了3岁儿童的智力水平。这是一个很了不起的成就,毕竟人工智能用了几十年的时间,就走完了人类几十万年的进化之路,并且还在加速发展。 道路总是曲折的,也是有迹可循的。在尝试了其它方法之后,计算机视觉在仿生学里找到了正确的道路(至少目前看是正确的)。通过研究人类的视觉原理,计算机利用深度神经网络(DeepNeural Network,NN)实现了对图片的识别,包括文字识别、物体分类、图像理解等。在这个过程中,神经元和神经网络模型、大数据技术的发展,以及处理器(尤其是GPU)强大的算力,给人工智能技术的发展提供了很大的支持。 本文是一篇学习笔记,以深度优先的思路,记录了对深度学习(Deep Learning)的简单梳理,主要针对计算机视觉应用领域。 一、神经网络 1.1 神经元和神经网络 神经元是生物学概念,用数学描述就是:对多个输入进行加权求和,并经过激活函数进行非线性输出。 由多个神经元作为输入节点,则构成了简单的单层神经网络(感知器),可以进行线性分类。两层神经网络则可以完成复杂一些的工作,比如解决异或问题,而且具有非常好的非线性分类效果。而多层(两层以上)神经网络,就是所谓的深度神经网络。 神经网络的工作原理就是神经元的计算,一层一层的加权求和、激活,最终输出结果。深度神经网络中的参数太多(可达亿级),必须靠大量数据的训练来设置。训练的过程就好像是刚出生的婴儿,在父母一遍遍的重复中学习“这是苹

基于卷积神经网络的图像识别研究

第14期 2018年7月No.14July,2018 1 算法原理 卷积神经网络的卷积层最重要部分为卷积核[1-2]。卷积核不仅能够使各神经元间连接变少,还可以降低过拟合误 差[3]。 子采样过程就是池化过程。进行卷积过程是将卷积核与预测试图像进行卷积,子采样能够简化网络模型,降低网络模型复杂程度,从而缩减参数。 在图像识别时,首先需要对输入图像初始化,然后将初始化后图像进行卷积和采样,前向反馈到全连接层,通过变换、即可计算进入输出层面,最终通过特征增强效果和逻辑之间的线性回归判断是否符合图像识别期望效果,往复循环,每循环一次就迭代一次,进而对图像进行识别。流程如图1所示。 图1 卷积神经网络模型流程 2 卷积神经网络 卷积神经网络主要包括3个层次[4],它由输入层、隐藏 层、输出层共同建立卷积神经网络模型结构。2.1 卷积层 卷积层的作用是提取特征[2]。卷积层的神经元之间进行 局部连接,为不完全连接[5]。 卷积层计算方法公式如下。()r array M a λ+ 其中λ为激活函数,array 是灰度图像矩阵, M 表示卷积核, 表示卷积, a 表示偏置值大小。G x 方向和G y 方向卷积核。 本文卷积神经网络模型中设定的卷积核分为水平方向和竖直方向。卷积层中卷积核通过卷积可降低图像边缘模糊程度,使其更为清晰,效果更好、更为显著。经过S 型函数激活处理之后,进行归一化后图像灰度值具有层次感,易于突出目标区域,便于进一步处理。2.2 全连接层 该层主要对信息进行整理与合并,全连接层的输入是卷积层和池化层的输出。在视觉特征中,距离最近点颜色等特征最为相似,像素同理。全连接如图2所示。 图2 全连接 3 实验结果与分析 本文采用数据集库是MSRA 数据集,该数据集共包含1 000张图片。实验环境为Matlab2015a 实验环境,Windows 7以上系统和无线局域网络。本文从MSRA 数据集中选取其中一张进行效果分析。卷积神经网络模型识别效果如图3所示。 作者简介:谢慧芳(1994— ),女,河南郑州人,本科生;研究方向:通信工程。 谢慧芳,刘艺航,王 梓,王迎港 (河南师范大学,河南 新乡 453007) 摘 要:为降低图像识别误识率,文章采用卷积神经网络结构对图像进行识别研究。首先,对输入图像进行初始化;然后,初 始化后的图像经卷积层与该层中卷积核进行卷积,对图像进行特征提取,提取的图像特征经过池化层进行特征压缩,得到图像最主要、最具代表性的点;最后,通过全连接层对特征进行综合,多次迭代,层层压缩,进而对图像进行识别,输出所识别图像。与原始算法相比,该网络构造可以提高图像识别准确性,大大降低误识率。实验结果表明,利用该网络模型识别图像误识率低至16.19%。关键词:卷积神经网络;卷积核;特征提取;特征压缩无线互联科技 Wireless Internet Technology 基于卷积神经网络的图像识别研究

深度神经网络全面概述

深度神经网络全面概述从基本概念到实际模型和硬件基础 深度神经网络(DNN)所代表的人工智能技术被认为是这一次技术变革的基石(之一)。近日,由IEEE Fellow Joel Emer 领导的一个团队发布了一篇题为《深度神经网络的有效处理:教程和调研(Efficient Processing of Deep Neural Networks: A Tutorial and Survey)》的综述论文,从算法、模型、硬件和架构等多个角度对深度神经网络进行了较为全面的梳理和总结。鉴于该论文的篇幅较长,机器之心在此文中提炼了原论文的主干和部分重要内容。 目前,包括计算机视觉、语音识别和机器人在内的诸多人工智能应用已广泛使用了深度神经网络(deep neural networks,DNN)。DNN 在很多人工智能任务之中表现出了当前最佳的准确度,但同时也存在着计算复杂度高的问题。因此,那些能帮助DNN 高效处理并提升效率和吞吐量,同时又无损于表现准确度或不会增加硬件成本的技术是在人工智能系统之中广泛部署DNN 的关键。 本文旨在提供一个关于实现DNN 的有效处理(efficient processing)的目标的最新进展的全面性教程和调查。特别地,本文还给出了一个DNN 综述——讨论了支持DNN 的多种平台和架构,并强调了最新的有效处理的技术的关键趋势,这些技术或者只是通过改善硬件设计或者同时改善硬件设计和网络算法以降低DNN 计算成本。本文也会对帮助研究者和从业者快速上手DNN 设计的开发资源做一个总结,并凸显重要的基准指标和设计考量以评估数量快速增长的DNN 硬件设计,还包括学界和产业界共同推荐的算法联合设计。 读者将从本文中了解到以下概念:理解DNN 的关键设计考量;通过基准和对比指标评估不同的DNN 硬件实现;理解不同架构和平台之间的权衡;评估不同DNN 有效处理技术的设计有效性;理解最新的实现趋势和机遇。 一、导语 深度神经网络(DNN)目前是许多人工智能应用的基础[1]。由于DNN 在语音识别[2] 和图像识别[3] 上的突破性应用,使用DNN 的应用量有了爆炸性的增长。这些DNN 被部署到了从自动驾驶汽车[4]、癌症检测[5] 到复杂游戏[6] 等各种应用中。在这许多领域中,DNN 能够超越人类的准确率。而DNN 的出众表现源于它能使用统计学习方法从原始感官数据中提取高层特征,在大量的数据中获得输入空间的有效表征。这与之前使用手动提取特征或专家设计规则的方法不同。 然而DNN 获得出众准确率的代价是高计算复杂性成本。虽然通用计算引擎(尤其是GPU),已经成为许多DNN 处理的砥柱,但提供对DNN 计算更专门化的加速方法也越来越热门。本文的目标是提供对DNN、理解DNN 行为的各种工具、有效加速计算的各项技术的概述。 该论文的结构如下: ?Section II 给出了DNN 为什么很重要的背景、历史和应用。 ?Section III 给出了DNN 基础组件的概述,还有目前流行使用的DNN 模型。 ?Section IV 描述了DNN 研发所能用到的各种资源。 ?Section V 描述了处理DNN 用到的各种硬件平台,以及在不影响准确率的情况下改进吞吐量(thoughtput)和能量的各种优化方法(即产生bit-wise identical 结果)。 ?Section VI 讨论了混合信号回路和新的存储技术如何被用于近数据处理(near-data processing),从而解决DNN 中数据流通时面临的吞吐量和能量消耗难题。 ?Section VII 描述了各种用来改进DNN 吞吐量和能耗的联合算法和硬件优化,同时最小化对准确率的影响。 ?Section VIII 描述了对比DNN 设计时应该考虑的关键标准。 二、深度神经网络(DNN)的背景

基于深度卷积神经网络的图像分类

Equation Chapter 1 Section 1 令狐采学 SHANGHAI JIAO TONG UNIVERSITY 论文题目:基于卷积神经网络的自然图像分类技术研究 姓名: 高小宁 专业:控制科学与工程

基于卷积神经网络的自然图像分类技术研究 摘要:卷积神经网络已在图像分类领域取得了很好的效果,但其网络结构及参数的选择对图像分类的效果和效率有较年夜的影响。为改良卷积网络的图像分类性能,本文对卷积神经网络模型进行了详细的理论阐发,并通过年夜量的比较实验,得出了影响卷积网络性能的因素。结合理论阐发及比较实验,本文设计了一个卷积层数为8层的深度卷积网络,并结合Batch Normalization、dropout等办法,在CIFAR10数据集上取得了88.1%的分类精度,有效地提高了卷积神经网络的分类效果。 关键词:卷积神经网络,图像分类,Batch Normalization,Dropout Research on Natural Image Classification Based on Convolution Neural Network Abstract: Convolution neural network has achieved very good results in image classification, but its network structure and the choice of parameters have a greater impact on image classification efficiency and efficiency. In order to improve the image classification performance of the convolution network, a convolutional neural network model is analyzed in detail, and a large number of contrastive experiments are conducted to get the factors that influence the performance of the convolution network. Combining the theory analysis and contrast experiment, a convolution layer depth convolution network with 8 layers is designed. Combined with Batch Normalization and dropout, 88.1% classification accuracy is achieved on CIFAR10 dataset. Which improves the classification effect of convolution neural network. Key Words:Convolution neural network(CNN), image classification, Batch Normalization,Dropout 目录 基于卷积神经网络的自然图像分类技术研究- 1 - 1引言-2- 2卷积神经网络的模型阐发-3- 2.1网络基本拓扑结构- 3 - 2.2卷积和池化- 4 - 2.3激活函数- 5 - 2.4 Softmax分类器与价格函数- 6 - 2.5学习算法- 7 - 2.6 Dropout- 9 - 2.7 Batch Normalization- 10 - 3模型设计与实验阐发-10- 3.1 CIFAR10数据集- 10 - 3.2 模型设计- 11 -

基于深度卷积神经网络的目标检测

第35卷 第8期 福 建 电 脑 Vol. 35 No.8 2019年8月 Journal of Fujian Computer Aug. 2019 ——————————————— 程胜月,男,1995生,硕士研究生,研究方向为深度学习。E-mail:2968365693@https://www.wendangku.net/doc/03255958.html, 。张德贤,男,1961生,博士,研究方向为模式识别、人工智能信息处理。 基于深度卷积神经网络的目标检测 程胜月 张德贤 (河南工业大学信息科学与工程学院 郑州 450001) 摘 要 目标检测是计算机视觉领域中最基本、最具挑战性的课题之一,由于传统检测方法已经不能满足其在精度和速度上需求,深度学习利用其对图像特征强大地分析处理能力,逐渐成为目标检测的主流方向。本文首先对主流卷积神经网络框架进行简述,其次对目标检测中的几种重要的方法具体分析,最后对未来可能的发展方向进行讨论。 关键词 目标检测;卷积神经网络;RCNN ;YOLO ;SSD 中图法分类号 TP183 DOI:10.16707/https://www.wendangku.net/doc/03255958.html,ki.fjpc.2019.08.009 Target Detection Based on Deep Convolutional Neural Networks CHENG Shengyue, ZHANG Dexian (School of Information Science and Engineering, Henan University of Technology, Zhengzhou,China, 450001) 1引言 目标检测作为计算机视觉的基本问题之一,是 许多其他计算机视觉任务的基础,如实例分割、图像处理、对象跟踪等[1]。目前,目标检测已广泛应用于无人驾驶、安防监管、视频分析等领域。 传统目标检测方法包含预处理、窗口滑动、特征提取、特征选择、特征分类、后处理等步骤。而卷积神经网络本身具有特征提取、特征选择和特征分类的功能,所以在现在计算能力充足的情况下得到充分发展。 2主流深度卷积网络的发展 1998年Yann LeCun 提出的LeNet-5网络是首次成功应用于数字识别问题的卷积神经网络。但是由于当时计算能力不足,未能受到重视。直到2012年AlexNet 在ImageNet 图像分类任务竞赛中获得冠军,目标检测才迎来深度卷积神经网络的时代。 2.1 AlexNet AlexNet 由5个卷积层和3个全连接层组成,使用数据增广和Dropout 防止过拟合,并且提出了 局部响应归一化来提高模型的泛化能力。 2.2 VGGNet VGGNet 获得了2014年ILSVRC 比赛的亚军和目标定位的冠军。到目前为止,VGGNet 依然被广泛使用来提取图像的特征。VGGNet 主要是证明了增加网络的深度可以提高最终的性能。 2.3 GoogleNet GoogleNet 分析得出增加网络的深度和宽度可以提升性能,但同时不可避免的增加参数,造成过拟合和计算量过大。因此提出Inception 结构将稀疏矩阵聚类成相对稠密的子空间矩阵提高计算性能。 2.2 ResNet ResNet 指出随着卷积神经网络深度的增加,却出现梯度消失现象造成准确率的下降。ResNet 通过恒等映射解决深层网络梯度消失问题,大幅度提升深度卷积网络的性能。 3目标检测算法 手工设计特征的目标检测方法在2010年左右

基于深度卷积神经网络的人脸识别研究定稿版

基于深度卷积神经网络的人脸识别研究 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

基于深度卷积神经网络的人脸识别研究 深度卷积神经网络主要应用包括语音识别、图像处理、自然语言处理等。本文就当前大环境下研究了卷积神经网络模型在静态环境下人脸识别领域的应用。卷积神经网络模型需要设计一个可行的网络模型,将大量的人脸训练数据集加载到网络模型中,然后进行自动训练,这样就可以得到很好的识别率。把训练好的模型保存下来,那么这个模型就是一个端到端的人脸特征提取器。该方法虽然操作简单,但是需要根据训练数据集设计合理的网络结构,而且最难的关键点是超参数的调整和优化算法的设计。因此本文结合残差网络和融合网络构建了两个与计算资源和数据资源相匹配的网络模型,并通过反复调整超参数和调试优化器使其在训练集上能够收敛,最终还取得较好的识别率。 本文的主要研宄内容和创新点如下: 1.介绍了卷积神经网络的基础理论知识。先从传统人工神经网络的模型结构、前向和反向传播算法进行了详细的分析;然后过渡到卷积神经网络的相关理论,对其重要组成部分如卷积层、激励层、池化层和全连接层进行了具体的阐述;最后对卷积神经网络训练时的一些注意事项进行了说明。 人工神经元是构成人工神经网络的基本计算单元,单个神经元的模型结构如下图所示。 其中, b X W b x w Z T+ = + =∑1 1 1 ) ( ) ( , z f x h h w = 卷积神经网路的基本结构简单的池化过程:

2.对深度学习框架TensorFlow的系统架构和编程模型作了一些说明,并对人脸数据进行预处理,包括人脸检测、数据增强、图像标准化和人脸中心损失。 TensorFlow的系统架构如下图所示 TensorFlow的编程模式 系统本地模式和分布式模式示意图 3.提出了基于改进的MyVGGNet和MySqueezeNet网络的人脸识别。首先分析了模型VGGNet-16和SqueezeNe的网络结构及相关参数,然后本文提出将原VGGNet-16和SqueezeNe的网络结构和参数进行优化,并在每个卷积层和激励层之间添加批归一化层,在VGGNet-16网络末尾用1个1 * 1的卷积层代替三个全连接层,还增加全局平均池化层,得到新的MyVGGNet和MySqueezeNet模型,最后在LFW数据集上分别获得9 4.3%和9 5.1%的准确率。 VGGNet-16 网络结构框图 MyVGGNet 网络框图 MyVGGNet网络训练时LFW测试集的准确率走势图 MyVGGNet网络在LFW上的ROC曲线图 4.提出了基于二叉树型融合网络BTreeFuseNet_v1和BTreeFuseNet_v2的人脸识别。首先对深度神经网络的优化问题和融合原理作了分析;然后结合残差学习,融入分支并行、融合和级联三种结构,采用ReLU函数、BN层、Dropout层、哈维尔方法和截断高斯函数初始化方法、Adam优化器等技巧,构建了两个层次深度为22和19的网络模型

卷积神经网络

卷积神经网络 摘要:卷积神经网络是近年来广泛应用于模式识别、图像处理等领域的一种高效识别算法,它具有结构简单、训练参数少和适应性强等特点。本文从卷积神经网络的发展历史开始,详细阐述了卷积神经网络的网络结构、神经元模型和训练算法。在此基础上以卷积神经网络在人脸检测和形状识别方面的应用为例,简单介绍了卷积神经网络在工程上的应用,并给出了设计思路和网络结构。 关键字:模型;结构;训练算法;人脸检测;形状识别 0 引言 卷积神经网络是人工神经网络的一种已成为当前语音分析和图像识别领域的研究热点,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。 1 卷积神经网络的发展历史 1962年Hubel和Wiesel通过对猫视觉皮层细胞的研究,提出了感受野(receptive field)的概念,1984年日本学者Fukushima基于感受野概念提出的神经认知机(neocognitron)可以看作是卷积神经网络的第一个实现网络,也是感受野概念在人工神经网络领域的首次应用。神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。神经认知机能够利用位移恒定能力从激励模式中学习,并且可识别这些模式的变化形,在其后的应用研究中,Fukushima将神经认知机主要用于手写数字的识别。随后,国内外的研究人员提出多种卷积神经网络形式,在邮政编码识别和人脸识别方面得到了大规模的应用。 通常神经认知机包含两类神经元,即承担特征抽取的S-元和抗变形的C-元。S-元中涉及两个重要参数,即感受野与阈值参数,前者确定输入连接的数目,后者则控制对特征子模式的反应程度。许多学者一直致力于提高神经认知机的性能的研究:在传统的神经认知机中,每个S-元的感光区中由C-元带来的视觉模糊量呈正态分布。如果感光区的边缘所产生的模糊效果要比中央来得大,S-元将会接受这种非正态模糊所导致的更大的变形容忍性。我们希望得到的是,训练模式与变形刺激模式在感受野的边缘与其中心所产生的效果之间的差异变得越来越大。为了有效地形成这种非正态模糊,Fukushima提出了带双C-元层的改进型神经认知机。 Trotin 等人提出了动态构造神经认知机并自动降低闭值的方法[1],初始态的神经认知机各层的神经元数目设为零,然后会对于给定的应用找到合适的网络规模。在构造网络过程中,利用一个反馈信号来预测降低阈值的效果,再基于这种预测来调节阈值。他们指出这种自动阈值调节后的识别率与手工设置阈值的识别率相若,然而,上述反馈信号的具体机制并未给出,并且在他们后来的研究中承认这种自动阈值调节是很困难的【8】。 Hildebrandt将神经认知机看作是一种线性相关分类器,也通过修改阈值以使神经认知机成为最优的分类器。Lovell应用Hildebrandt的训练方法却没有成功。对此,Hildebrandt解释的是,该方法只能应用于输出层,而不能应用于网络的每一层。事实上,Hildebrandt没有考虑信息在网络传播中会逐层丢失。 Van Ooyen和Niehuis为提高神经认知机的区别能力引入了一个新的参数。事实上,该参数作为一种抑制信号,抑制了神经元对重复激励特征的激励。多数神经网络在权值中记忆训练信息。根据Hebb学习规则,某种特征训练的次数越多,在以后的识别过程中就越容易

相关文档