登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

经典卷积神经网络在图像识别上的应用与分析

 2023-01-05 09:01  

论文总字数:18567字

摘 要

2

Abstract 3

第一章 绪论 4

1.1.人工神经网络的发展和现状 4

1.2.深度学习技术的发展和其对人工神经网络的影响 5

1.3.卷积神经网络的发展 6

1.4.对抗网络与卷积因神经网络的结合 6

1.5.图像识别的研究现状 7

1.6.本文的主要工作和内容安排 7

第二章 神经网络和卷CNNs的结构及算法 8

2.1.神经网络 8

2.2.卷积神经网络 10

第三章 GANs理论模型和应用综合 14

3.1.深度学习与GANs的联系 14

3.2.生成式模型GANs 14

3.3. GANs的优缺点 15

3.4.GANs网络模型 15

第四章 DCGAN对CNNs的改变 16

4.1.DCGAN相对于CNNs的变化 16

4.2.DCGAN的发展趋势 17

第五章 基于对抗生成网络生成图片 17

5.1.TensorFlow系统 17

5.2.ANIME图片数据集 18

5.3.应用于数据集的对抗网络的结构 18

5.4.实验流程 19

5.5.实验程序实现 19

5.6.程序运行界面 23

5.7.实验结果与分析 24

5.8.实验总结 27

第六章 总结与展望 28

致谢 29

卷积神经网络在图像识别上的应用与分析

摘 要

人工智能是计算机科学一个重要的分支,是当代高科技的核心。它是研究、开发用于模拟和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。AI发展取得的优秀的成果,应用到图像识别、数字识别和一些具有特殊要求的智能任务上都有非常优秀的表现。由于人工智能本身具有广泛性的特点,其应用探索研究深入到其他学科和领域,并取得不错的成果,同时综合其他学科的发展研究也会给人工智能带来新的突破,促进人工智能更好的发展。

关键词:机器学习;深度学习;对抗网络;卷积因神经网络;深度卷积对抗网络;TensorFlow

Application and analysis of convolution neural network in image recognition

Abstract

Artificial intelligence is an important branch of computer science, and is the core of modern hi-tech. It is a new technological science to study and develop theories, methods, technologies and application systems for simulating and expanding human intelligence. The outstanding achievements of AI development have been applied to image recognition, digital recognition and some intelligent tasks with special requirements. Because artificial intelligence has a wide range of characteristics, its application exploration and research into other disciplines and fields, and have achieved good results. At the same time, the development of other disciplines will also bring new breakthroughs to artificial intelligence and promote the better development of artificial intelligence.

Key words: machine learning; deep learning;confrontation network; convolution due to neural network; deep convolution confrontation network; TensorFlow

第一章 绪论

1.1.人工神经网络的发展和现状

人类的大脑可以看做是一个非常复杂的系统,它具有表述和处理信息的能力。而AI所需要解决的重要问题就是,如何模仿出一个可以像人类大脑工作的系统。这个系统可以去接收周围世界传递给它的大量的信息数据,从数据中查找出我们所需要的关键数据,并保存下来,在后面工作需要调用的情况下,可以直接使用。随着优秀人士对大脑神经的开发研究,我们对于神秘的人类大脑的结构组成有了更多的了解和认识。知道了它基本的工作单元—神经元[1],每个神经元都有着自己的逻辑功能去理解事物。大脑的复杂系统就是由这些相互的连接的神经元组成的。

于是,MP模型[1]被开发出来,它的主要工作原理是把信号简单处理,然后去传递。当然,这仅仅是个基础,没有应用到实际问题中。于是,1958年,Rosenblatt提出了感知器模型,增加了学习机制,应用到了字符识别领域,解决了一些实际问题,更是解决了对输入进行线性分类操作的问题,只需要一个用两层感知器构成的网络。一个新的观点诞生,发展总是在不断的进行的,于是,带有隐藏层感知器单元成为了研究人士继续研究的方向。

发展的过程总是曲折的,AI神经网络,由于计算机硬件以及其他等问题没有很好的解决,很长一段时间,没有更好的研究进展。直到Hopfield神经网络模型[1]的提出,Hopfield对信息的处理和如何把信息整合起来进行了非线性数据概括,又成为人工神经网络领域的一大里程碑。随后,为了解决线性不可分的样本问题,并行分布处理理论、多层前馈网络的的误差反向传播算法(BP算法)被提出。BP算法一直到现在,也是应用性比较高的一种人工神经网络算法。

1.2.深度学习技术的发展和其对人工神经网络的影响

神经科学[2]是去了解大脑里的神经回路如何感受周围世界,获取信息,从而决定实施某种行为。而最近,神经科学取得了重大的发现,就是我们的大脑新皮层,它使我们感知世界的一个重要因素。新皮层并没有什么感受信号或者处理信号,但它却是信号传递的指挥者,它让传播的信号通过一个复杂的层次结构模块。这个模块可以观测信号,得到准确的信息,并表述出来。在这个信号传递过程,先对边缘进行一个检测处理,然后慢慢把复杂的形状显示。为了开发研究出像新皮层一样具有表述信息能力的网络模型,导致了深度学习领域[2]的出现。

在模式的识别中,会因为数据多,算法复杂,使得对事物特征的识别需要做更多的工作,我们称之为维度灾难。对于解决这种问题,我们首先需要做的就是对数据进行预处理,把数据的特征抽取出来,相同的特征放到一起,使得数据集中,降低数据的维度。让数据可以被快速有效的处理。因此,像一些图像识别和人脸识别,都是抽取图片中的特征或者每个人脸的特征,让其可以快速被特定的系统的识别处理。

数据的时间维度[2]和空间的维度[2]一样重要。时间维度是一种常用、特殊的维度,因为通过时间前后的对比,就可以知道事物的发展的变化。就像观测到的一组连续的数据,得到的数据往往都是根据时间上相近的数据推理出来的,带着我们需要知道的特定的信息。因此,在观测获得数据信息的时候,要注意捕捉时间和空间上的变化。这也就是深度学习系统中的根本性目标。

这种深度层次结构给研究者新的灵感,可以把特征抽取和分类两个过程结合起来,这样就需要训练出一种深度多层神经网络的方法。于是,Hintion等人提出了一种深度网络结构[3],这是一种分层无监督学习方法。原理也就是:第一步使用无监督学习算法,去处理第一层的神经元,得到初始权重;第二步把权重的结果作为下一层神经元的输入数据,继续用同样的方法去训练;第三步重复之前相同的步骤,依次往下进行训练,直到网络层次达到我们所需要的;由三个步骤可以看出来, 这个学习算法就是通过网络中的前几层的局部训练去引导网络中间层的训练,这样每一层都有相同的特征,关联着初始的权值,只要微调初始的权值[3],整个神经网络就可以通过特定的学习算法去训练,从而得到一个很好的实验效果。所以,复杂的神经元组织可以回溯到简单的神经元组织,这样的理论是合理的。

1.3.卷积神经网络的发展

从上一节内容可以看出,如果训练数据量大的数据,没有无监督的预学习过程,,那么对于有监督的深度网络去训练数据,这是很难实现的,而卷积神经网络(CNNs)[4]是一个独特的例外。Hubel和Wiesel提出了基于猫视觉皮层的结构模型[4],而CNNs就是启发于视觉系统[4]的结构。

一个神经元由特定区域控制,只有这个特定的区域才能激活该神经元,所以,互相影响,也就有了正向传播和反向传播两个过程。正向传播很简单:信号被输入,经过若干网络层,从输出层输出。反向传播主要使用就是误差梯度算法:一组参数相同的神经元被作用到前一层中不同位置上的特定区域[5],然后获得一种可以让数据保持不变的特性,从而得到期望信号,期望信号与输出信号比较,得到误差信号,根据每一层的误差信号,去调整权重和参数,得到更好的学习效果。所以到目前为止,CNNs在图像识别等领域发挥越来越重要的作用。

CNNs是一个多层次结构的学习算法,它是通过去处理数据之间存在的联系,寻找出数据的特性,从而减少需要训练的数量。

CNNs中的网络层次之间有着千丝万缕的联系,存在着空间信息,可以更好的被用于去处理图像,把相关的特性准确的提取。所以,CNNs慢慢成为了各种特定模式识别的宠儿,例如人脸识别、车牌识别等。

1.4.对抗网络与卷积因神经网络的结合

生成式对抗网络(GAN)[6]也是属于AI的一种,也是现在很多人研究的一个方向。GAN是受博弈论的二人零和博弈思想的影响,因为是有对立方的,所以顾名思义,就很好理解了GAN是由一个生成器(Generator)[6]和一个判别器(Discriminator)[6]构成的,通过两者互相的对抗去训练大量的样本数据,找到特征,根据特征生成我们需要的数据样本。因为GAN本身的算法特性。让其在图像处理、棋类比赛以及信息安全等领域,有着巨大的应用前景。

我们在上一节中,已经证明过没有监督算法的逐层训练,可以更好更快整理出数据中一些共同的显著的特性,可以优化深度网络的层次结构,展现出更好的学习效果。这也就体现了CNNs的本身的一些特性[7],有:数据局部性,网络结构层次性等特点。数据的局部性和信息位移的不变性,在加上通过没有监督的学习算法,可以先训练出稳定的过滤器,观测出数据,把没有标签的数据变成有标签的数据,方便更快速的学习。

这一节的内容就是把CNNs和深度学习中的分层没有监督学习算法相结合起来,寻找新的发展。而它们的结合的表现就是,GAN中的Generator[7]和Discriminator[7]都是使用神经网络的算法,比如CNNs。于是它们结合,就是设置CNNs的结构设置可以使平常训练不稳定的GAN可以稳定的训练,得到有意义的实验结果;可以更好的根据特定的特征,进行把图像分类的任务;也可以生成效果更好的图像;这就是两者结合的意义。

1.5.图像识别的研究现状

图像识别从字面意思可以看出来,就是应用到处理图像上,让计算机系统可以像我们人类一样,可以轻松识别出一些认识的事物。当然想要实现这一功能,就需要用到一些机器学习方法。现在社会的技术,已经可以实现图像识别了。图像识别领域有很多方面:手写字符识别、人脸识别、物体识别等,像人脸识别已经应用到了我们生活中。

人脸识别,我们经常会碰到。就比如现在的手机,有的手机已经可以使用人脸识别来进行手机解锁;还有视频安保监控系统,如果有人做了违法事情,被视频拍到,就可以通过这个人脸识别的系统,从身份证数据库,比对人脸特征,锁定嫌疑人,大大减少了人力的使用,只要维护好系统就好,这也就是为什么现在办身份证,需要人脸清晰照片,这个算收集图像,为识别做好数据存储。像手写数字识别,生活中好像就是用来比对一些银行签字业务或者其他文档中的数据等。人脸识别和手写数字识别都有各自分明的特点,手写数字识别样本分类不多,但是图像边缘比较清晰;而人脸识别,样本多。但是边缘信息模糊,而且多变。

所以图像识别,不同的识别系统,不能共用,因为需求和特性都不太一样。每一个识别的系统就是要针对具体的识别要求,就像手写数字的识别系统不适用人脸识别系统。做一个特定的识别问题,需要做大量的工作,包括需求和所适合算法。这么看来,如果不能找到通用的学习算法应用到识别问题上,是非常麻烦的。

这里简单提一下,LeCun提出的CNNs中LeNet网络模型,是一个非常不错的适用于不同的图像识别的系统。但同时随着深层次结构学习技术的发展,深层次的网络也让人慢慢发现它对于图像识别系统的通用的特点,并且也开始慢慢被实际应用。

1.6.本文的主要工作和内容安排

本论文把有监督学习的CNNs和没有监督学习的GAN结合到一起,也就是深度卷积对抗网络(DCGAN),应用到图像生成中。CNNs的作用就是,提取图片的共性特征,使提取的特征更有区分性,而且坚守了训练的数据数量,提高了学习效率。GAN的作用就在于,它是一个典型的Generator,Generator可以去结合CNNs,去理解图像各方面,生成我们需要的数据样本。

本文基于DCGAN的图像生成展开研究:

本文第二章分为三个部分,2.1介绍了神经元的基本知识以及对人工神经网络的基本的了解。2.2介绍CNNs的网络结构、反向传播算法和CNNs的发展方向。

第三章分为四个部分,3.1介绍深度学习的概念,并说明了它与GANs产生的联系;3.2介绍了GANs的生成式模型;3.3介绍了GANs相对于另外的生成式模型的优缺点;3.4比较重要,介绍GANs的网络模型,主要是DCGAN模型,在这次深度卷积对抗网络生成图片的实验,要实际运用到。

第四章分为两个部分,4.1主要说DCGAN对卷积神经网络的完善;4.2主要说DCGAN的发展趋势。

第五章是主实验部分,包括实验配置环境[8]、实验数据集的介绍[9]、实验流程、DCGAN实验原理[10]和最重要的实验结果。

第六章是总结和展望,对于本次实验的所学到的知识以及一些思考。

第二章 神经网络和卷CNNs的结构及算法

2.1.神经网络

神经网络随着越来越多的人对神经网络的深入研究,使它的魅力越来越大,目前,它在模式识别、视频分析和图像识别等领域发挥很重要的作用。

2.1.1.神经元

神经网络的基本单元是神经元,基本模型是图2-1,用公式[1]表示出来就是:

(2.1)

其中激活函数可以是sigmoid函数,也可以是双曲线正切的等非线性函数;所以公式[1]可以如公式(2.2) (2.2)

为了方便理解,可以把sigmoid函数看成一个挤压函数[1],这样可以把范围大的数据范围挤压到0~1这个固定区域里,对于数据的处理可能效率更快一点。那么我们把sigmoid函数和双曲线正切函数的函数图像做对比,见图2-2。

图2-1 神经元模型

图2-2 sigmoid和双曲线正切函数的函数图像

2.1.2.人工神经网络

人工神经网络(ANN)是多层感知器,神经网络要分层次,包括最开始的输入层,输出结果的输出层,当然还有,中间隐藏起来的一层或若干隐藏层。为了帮助理解,我准备了一个多层网络结构图(如图2-3),带来一个更直观的认识。这个多层网络结构,包括一个输入层、一个输出层和两个隐藏层,当然图中的圆圈就是神经单元,如等。

我举的例子,隐藏层比较少,如果神经网络隐藏层数量足够多,那么任何一个函数几乎都可以表示该神经网络。但是网络结构不是那么容易的,一旦层数越多,可能会让过程更复杂,或者出现在误差后向传播过程中产生权重导数过小,不能进行有效的学习。

图2-3 多层网络结构示意图

2.2.卷积神经网络

2.2.1.卷积神经网络结构和特性

CNNs一般是三层结构,卷积层、下采样层和全连接层,如图2-4。从图中可以看出,下采样层和卷积层前后交替排列出现,最后去连接全连接层。图中的每个部分,都是局部连接,可以看到有降采样层字眼的出现,它是用来解决训练中遇到的主要问题,它们在空间和时间上的相关的选取特征的方法,使得提取的特征可以更好的区分。其实总结出来,就是CNNs的主要特性包括:局部连接、权值共享、空间相关下采样。

通过局部连接,以及图像本身的区域特性,可以更好地抽象描绘出图像的局部特征,可以

获得图像的不太好观测的边缘信息,与全连接这种过于繁复的连接相比,局部连接就明显减少网络中相邻层的连接数,减少运算的复杂。

为了提高训练速度,可以减少训练的数目,于是权值共享的机制被采用。我们可以使用一个过滤器,去提取一个总的特征,如果可以使用多个过滤器,就可以学习到图像的更多特征,减小了网络学习的难度,而且还可以同时去使用多个过滤器去学习一个图像。

虽然局部连接的方式减少了网络结构中的数目连接数,但是权值共享把得到的特征图数目增加了,所以实际上总的训练个数没有减少,关键特征是我们需要的,它的个数多了,特征维度升高,反而给网络训练的难度加大了,学习的过于精确,反而更不利于学习训练。于是有了下采样机制解决策略,它可以降低特征的维度,但是却不会损失图像的有效的特征信息,也提高了训练的速度。

图2-4 CNNs结构示意图

2.2.2.适用于CNNs的反向传播算法

如图2-4的结构示意图,在CNNs中,通过降采样层穿插在多层的卷积层里,一这样交替连接的方式把网络结构连接起来,这样的网络结构,可以减少数据计算的时间,也可以拥有更多的空间去使用,结构上也相对来说,更稳定一点,不易变化。

2.2.2.1 卷积层的梯度计算

在卷积层,前面一层训练得到的特征图通过去学习,然后在选择适合的学习算法和模型,最终把总体的准确的特征图输出。一般来说:

(2.3)

其中,表示在层(卷积层)的第一个特征图,表示一个激活函数[1],代表输入图的集合,b是每个输出图给定的一个附加的偏差[1]

假定每个卷积层,其后都跟随着层。反向传播算法告诉我们,为了计算每一层中神经元的误差信号,需要先将下一层中所有对应于该神经元的信号求和,并将这些信号乘上相对应的定义于层的权值。为了更有效地计算层的误差信号,可以将下一层的误差信号图进行升采样。

降采样层是卷积层中一个重要的层次。它的权重可以看成一个常量,用表示,而对于降采样层梯度计算,需要将前一层的结果结果放大倍来计算。重复这个步骤,把卷积层中的每一个图都计算一下,把降采样层与各自层对应起来,如公式(2.4):

(2.4)

其中表示升采样操作,简单的将输入像素从水平和垂直方向重复复制n次,一个简单的实现方法是通过Kronecker积,如公式(2.5):

(2.5)

剩余内容已隐藏,请支付后下载全文,论文总字数:18567字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图