一种基于卷积深度网络的图像识别算法及系统的制作方法

文档序号:11231273阅读:1562来源:国知局
一种基于卷积深度网络的图像识别算法及系统的制造方法与工艺

本发明涉及模式识别和机器学习领域,具体涉及深度置信网(dbn)、卷积神经网络(cnn)、受限制的玻尔兹曼机(rbm)、补充因子、条件高斯分布等概念和公式以及c++编程语言。



背景技术:

机器学习是研究如何使计算机模拟人类学习行为的一门学科。机器学习基于学习策略可分为机械学习、类比学习、演绎学习、基于解释的学习、归纳学习、基于神经网络的学习等。本文研究的重点在人工神经网络(ann)。神经网络是一种并行分布式信息处理的网络结构,具有很强的非线性映射能力和较高的容错能力。ann可追溯至1943年神经心理学家mcculloch和数学家pitts从数理逻辑的角度提出的神经元模型(m-p模型),ann自此开始发展。目前,常见的ann模型种类很多,我们可以依据ann的结构分为三种基本的网络模型:单层前馈网络、多层前馈网络、递归网络。作为多层神经网络,深度学习模型由于能够从输入样本直接逼近复杂的非线性映射,而被广泛用于许多领域,常用模型有卷积神经网络(cnn)和堆叠的自动编码器模型(sae)以及深度置信网(dbn)深度波尔兹曼机(dbm)等。卷积神经网络是专门为处理二维数据而设计的,被认为是第一个采用多层次网络结构的深度学习方法,近年来在图像识别领域取得了巨大的成功,并且以cnn为基础,延伸出许多深度学习框架及系统,典型的框架包括caffe、tensorflow等。同时,卷积操作可以看作是一种正则化方法,由于采用局部连接和权值共享,保持网络深层结构的同时又大大减少了网络参数,使模型具有良好的泛化能力又较容易训练。因此,作为一种正则化方法,cnn还被应用在了语音等其他领域和交叉学科,例如深度强化学习和深度迁移学习等。

在经典的模式识别中,一般是事先提取特征。提取诸多特征后,要对这些特征进行相关性分析,这些特征的提取太过依赖人的经验和主观意识,提取到的特征的不同对分类性能影响很大。同时,图像预处理的好坏也会影响到提取的特征。而深度学习算法不需要对图像进行复杂的预处理操作,可以方便地把图像作为输入,通过大量的数据来学习特征的,避免了显示的特征提取,比以往的人工选取特征更可靠。

受限的波尔兹曼机(rbm)是一种典型的无监督学习模型,源于概率图模型中的无向图模型。通过训练rbm模型并逐层堆叠,可以获得一个典型的深度模型结构:深度置信网(dbn)。然而rbm是一种二值模型,为了建模实值图像,条件高斯分布被引入到rbm模型中,我们根据条件高斯分布以及能量函数的形式,得到如下激活函数:

其中,v表示可见层单元,c表示补充因子,h表示隐藏层单元。得到的隐藏层节点作为网络下一层的输入,构建rbm模型并继续预训练过程。



技术实现要素:

为了更好的解决图像的识别问题,本发明提出一种基于卷积深度网络的图像识别算法及系统,避免了显式的提取特征,直接将数字化的图像像素作为输入,训练得到基于卷积的补充dbn模型(ccdbn),然后增加一个关联记忆层作为识别结果,有效的实现了图像的识别和重构。

本发明是通过以下方案实现的:

本发明涉及一种基于卷积深度网络的图像识别算法,通过构建带标签的训练集作为样本集对卷积神经网络进行预训练和训练,然后使用训练好的卷积神经网络处理待识别的图片,最后根据神经网络的输出向量判断识别结果。

本发明具体步骤如下:

步骤1,简单的预处理训练集并将像素点作为输入:首先将图像数据集进行分batch,每一个小的batch包括100个样本,然后将图像归一化、并重新调节大小为32*32;

步骤2,构造深度学习模型网络结构:该网络包括:输入层、3个卷积层、3个池化层、1个全链接层和1个输出层,其中:输入层是二维图像的像素点,第一个卷积层有24个卷积特征图,第二个卷积层有48个卷积特征图,输出层设置为10个节点。输出也是系统的预测;

步骤3,训练深度神经网络:首先将权值、卷积核、偏置进行初始化。然后进行预训练过程,第一步:改进rbm模型,引入条件高斯分布,构建基于补充因子的受限制玻尔兹曼机(crbm),然后引入卷积操作,构建一个基于卷积的crbm(ccrbm),其网络拓扑如图1所示。接下来使用weightuncertainty方法和对比散度算法来训练ccrbm模型以缓解过拟合问题。然后,基于ccrbm模型构建一个基于卷积的补充深度置信网(ccdbn),其网络拓扑如图2所示。利用图像数据进行预训练,预训练结束后,将ccdbn作为深度神经网络模型,输入图像,得到结果。最后,结合bp反向传播算法调整权重和偏置,具体过程如下:

步骤3.1,对网络初始化:对权值、卷积核和偏置进行随机初始化;

步骤3.2,网络的预训练:将训练样本导入初始化好的网络进行预训练,首先改进rbm模型,引入条件高斯分布,构建基于补充因子的受限制玻尔兹曼机(crbm),然后引入卷积操作,构建一个基于卷积的crbm(ccrbm)。接下来使用weightuncertainty方法来训练ccrbm模型以缓解过拟合问题。最后,基于ccrbm模型构建一个基于卷积的补充深度置信网(ccdbn)。利用图像数据进行预训练;

步骤3.3,将实际输出与标签进行对比,得到误差,将ccdbn作为神经网络,利用weightuncertaintybp算法进行微调,得到训练好的神经网络模型。

步骤4,图像的识别模块:获取隶属于cifar-10类别中的图像数据,进行归一化处理,然后调整为32*32的像素尺寸。然后将其输入到训练好的卷积神经网络中,最终得到识别结果。

通过以上内容可知,本申请提供的是一种基于卷积深度网络的图像识别算法及系统,首先根据实际需要制作训练集和标签,然后设计网络的层数等参数,之后进行预训练,然后利用weightuncertaintybp算法完成对网络权重和偏置的调整,最后输入图像,预处理后输入神经网络,完成对图像的识别。本申请通过神经网络识别图像,避免了显示的特征提取,直接将图片作为网络的输入,识别准确率比较高;且网络一经训练即可反复使用,处理效率高;训练时间短。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所使用的ccrbm模型的示意图。

图2为本申请所使用的深度神经网络结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

实施例1

本实施例包括以下步骤:

步骤1,图片预处理:

步骤1.1,将手写数字图像进行归一化;

步骤1.2,把步骤1.2所得到的图像归一化为32*32大小,并保存在训练集中,然后根据训练集制作相应的标签集,10*1的矩阵代表一个数字的标签。

步骤2,构建ccdbn深度模型:

本实施例中采用的ccdbn模型是一个多层的神经网络,由输入层、中间层和输出层等多层组成,每层由多个节点单元组成。构造如图2所示的多层神经网络,每一层由于都是一种概率图模型,因此,基于能量函数,每一隐藏层单元的激活函数都是sigmoid函数的形式;

步骤3,训练卷积神经网络:

步骤3.1,用不同的小随机数(0-1之间)对可训练参数初始化,对偏置初始化为0;

步骤3.2,对网络进行预训练网络模型的激活概率公式可以表示如下:

其中,h表示隐藏层单元,v表示可见层单元,w表示权值矩阵,b表示偏置,然后引入weightuncertainty算法,这样,导数的计算改为如下形式:

根据上述公式,完成ccdbn的预训练过程。

步骤3.3,计算残差,结合反向传播bp算法更新可调整参数和偏置,完成对ccdbn的整个训练过程。

步骤4,图像的识别模块:

步骤4.1,获取隶属于cifar-10类别中的图像数据,进行归一化处理,然后调整为32*32的像素尺寸;

步骤4.2,得到预处理之后的图片,输入到已经训练好的ccdbn网络中,等待输出,取输出向量最大值得行号为识别结果,即完成对实值图像的识别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1