前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇卷积神经网络的特征范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
1 研究背景
手写数字识别是一个经典的模式识别问题。从0 到9这10 个阿拉伯数字组成。由于其类别数比较小,它在些运算量很大或者比较复杂的算法中比较容易实现。所以,在模式识别中数字识别一直都是热门的实验对象。卷积神经网络 (Convolutional Neural Networks,CNN),在手写体识别中有着良好的性能。卷积神经网络的神经元是局部连接,神经元之间能够共享权值。深度卷积神经网络不但可以解决浅层学习结构无法自动提取图像特征的问题,并且提高了分类的泛化能力和准确度。
2 深度卷积神经网络
深度卷积神经网络是一种具有多层监督的神经网络,隐含层中的卷积层和池采样层是实现深度卷积神经网络提取特征的核心模块,并通过使用梯度下降算法最小化损失函数来进行权重参数逐层反向调节,再经过迭代训练提高分类精确度。
深度卷积神经网络的首层是输入层,之后是若干个卷积层和若干个子采样层和分类器。分类器一般采用Softmax,再由分类器去输出相应的分类结果。正常情况下,一个卷积后面都跟一个子采样层。基于卷积层里权值共享和局部连接的特性,可以简化网络的样本训练参数。运算之后,获得的结果通过激活函数输出得到特征图像,再将输出值作为子采样层的输入数据。为了实现缩放、平移和扭曲保持不变,在子采样层中将之前一层对应的特征图中相邻特征通过池化操作合并成一个特征,减少特征分辨率。这样,输入的数据就可以立即传送到第一个卷积层,反复进行特征学习。将被标记的样本输入到Softmax分类器中。
CNN 能够简化网络的样本训练参数,降低计算难度。这些良好的性能是网络在有监督方式下学会的,网络的结构主要有局部连接和权值共享两个特点:
2.1 局部连接
深度卷积神经网络中,层与层之间的神经元节点是局部连接,不像BP 神经网络中的连接为全连接。深度卷积神经网络利用局部空间的相关性将相邻层的神经元节点连接相邻的上一层神经元节点。
2.2 权重共享
在深度卷积神经网络中,卷积层中每一个卷积滤波器共享相同参数并重复作用,卷积输入的图像,再将卷积的结果变为输入图像的特征图。之后提取出图像的部分特征。
在得到图像的卷积特征之后,需要用最大池采样方法对卷积特征进行降维。用若干个n×n 的不相交区域来划分卷积特征,降维后的卷积特征会被这些区域中最大的或平均特征来表示。降维后的特征更方便进行分类。
3 实验结果
为了验证卷积神经网络的有效性,本实验中使用以最经典的MNIST 和USPS 库这两个识别库作为评测标准。手写数字MNIST数据库有集60000 个训练样本集,和10000 个测试,每个样本向量为28×28=784维表示。手写数字USPS 数据库含有7291 个训练样本和2007 个测试样本,每个样本向量为16×16=256 维。
表1给出了卷积神经网络在MNIST 和USPS 库上的识别结果。从表1中可知,深度卷积神经网络对MNSIT 库识别率能够达到97.89%,与用BP 算法得到的识别率94.26%相比,提高了两个多百分点。对USPS 库识别率能够达到94.34%,与用BP 算法得到的识别率91.28%相比,也提高了三个多百分点。
因此,使用深度卷积神经网络算法训练在图像识别中获得更高识别率。因此,深度卷积神经网络在识别手写体字符时有着较好的分类效果。
4 总结
本文介绍深度卷积神经网络的理论知识、算法技术和算法的结构包括局部连接、权重共享、最大池采样以及分类器Softmax。本文通过深度卷积神经网络对两组手写识别库实验来验证CNN 有着较低的出错率。
参考文献
[1]赵元庆,吴华.多尺度特征和神经网络相融合的手写体数字识别简介[J].计算机科学,2013,40(08):316-318.
[2]王强.基于CNN的字符识别方法研究[D].天津师范大学,2014.
[3]Krizhevsky A,Sutskever I,Hinton G E.ImageNet Classification with Deep Convolutional Neural Networks.Advances in Neural Information Processing Systems,2012,25(02),1097-1105.
[4]郝红卫, 蒋蓉蓉.基于最近邻规则的神经网络训练样本选择方法[J].自动化学报,2007,33(12):1247-1251.
作者简介
关鑫(1982-),男,黑龙江省佳木斯市人。硕士研究生学历。现为中国电子科技集团公司第五十四研究所工程师。研究方向为计算机软件工程。
以上文章都结合卷积神经网络模型对交通标志分类做了大量的研究,避免了复杂的人工特征提取算法的设计,研究结果具有一定的参考性。在现有卷积神经网络模型的启发下,以上文章都采用分类器。而训练分类器需要大量样本,因而在小样本数据下,采用分类器容易造成过拟合,降低网络的泛化性。同时,由于SVM分类器在小样本数据集上具有出色分类性能,本文提出一种基于卷积神经网络和多类SVM分类器[[4]的交通标志识别模型。此模型利用卷积神经网络强大的特征提取和泛化能力,使得算法在复杂环境中依然具有可靠的识别结果。 首先,本文通过迁移学习策略「51L61对AlexNet网络[7]特征提取部分进行微调,并将微调结果作为本文的特征提取器。然后将卷积神经网络提取的特征作为多类SVM分类器的输入。同时为了进一步防止过拟合现象的发生,本文在SVM分类器中加入dropout层,利用随机置零策略进行参数选择。最后,文章通过实验结果证实本文提出的分类模型相比于采用softmax分类器有更好的准确率、在复杂背景中具有较高的识别率和较强的鲁棒性棒。1卷积神经网络和SVM
1.1 AlexNet网络
AlexNet网络是著名的卷积分类网络,可成功实现对1000类别物体的分类。其结构可以分为特征提取器和分类器两部分。
特征提取器主要由卷积层、池化层、激活函数组成。卷积层由大小不同的卷积核组成,卷积核类似于传统视觉中的特征提取算子。但区别于传统视觉算子,卷积核参数由网络自己学习得到,可以提取图像从底层到高层的不同特征信息。池化层常连接在卷积层之后,一般常用最大池化操作。池化层可以加强网络对平移变化的鲁棒性。激活函数为网络引入非线性因素,使得网络可以逼近任意函数形式。
分类层主要由全连接层和多类逻辑回归函数组成。全连接层学习用合理的方式组合特征,可以看为函数映射。逻辑回归函数进行类别概率判别,逻辑回归判别见公式。同时,为了防止全连接层过拟合,AlexNet网络引入dropout层,dropout[9]采用随机置零的方式,防止神经元以特定的方式组合工作,从而防止深度网络的过拟合。p}Y}}}=j1二(‘);B)=艺 e醉x})丫‘eBTx}' }e' j代表类别,二(i)为输入,k代表类别总数,8,表示将样本x}')映射到j类的参数,B代表er,r=i,z,~… ,,组成的矩阵,p(少‘)=j}x(仍表示x}'}属于j类的概率。1.2标准SVM SVM是基于结构风险最小化理论的有监督学习算法,通过寻找最优分割超平面来实现分类[}10}。相比于神经网络,SVM在小样本数据集上也能表现出良好的分类效果,因而得到广泛使用。标准的SVM通过寻求公式(2)的最优解来找到最优超分割平面。minw,b含,,w,,(2)yc> (w·二(‘)+b) >_ 1,i=1, 2,……,m尹)代表第i个样本标签,x}'}代表第i个样本特,m为训练集大小。分类模型设计
本文提出的分类模型主要分为两部分,特征提取部分和多类SVM分类器。整体结构如图1所示。
图1中,特征提取器主要对输入图片进行特征提取和融合,最终得到图像的高阶特征并将提取到的信息特征送入多类SVM分类器。dropout层进行参数随机丢失步骤,此步骤通过随机失活神经元可有效防止过拟合的发生;然后结合不加正则化项的SVM算法进行分类,得到最终输出结果。
2.1特征提取器
>> 基于PCA—LDA与蚁群优化BP神经网络的人脸识别算法 基于粒子群算法和神经网络的人脸识别分类器研究 基于卷积神经网络的人脸识别研究 基于BP神经网络的人脸识别研究 基于PCA算法的人脸识别技术研究 基于改进PCA算法的人脸识别研究 基于MB_LBP和PCA算法的人脸识别研究 基于BP神经网络的人脸识别算法的实现 基于模糊混沌神经网络的人脸识别算法 基于卷积神经网络的人脸识别 基于子图分割和BP神经网络的人脸识别方法 基于EMPCA和RBF神经网络的人脸识别 基于改进PCA与FLD算法的人脸识别 基于模糊人工神经网络的人脸识别研究 基于改进的LBP和PCA算法的人脸识别 基于并行PCA算法的人脸识别系统的研究 基于PCA和SVM的人脸识别 基于PCA和FLD的人脸识别方法 基于快速PCA―SVM的人脸识别研究 基于主分量分析的BP神经网络人脸图像识别算法 常见问题解答 当前所在位置:l.
[6]刘学胜.基于PCA和SVM算法的人脸识别[J].计算机与数字工程,2011(7).
[7]廖海滨,陈庆虎. 基于因子分析的实用人脸识别研究[J].电子与信息学报,2011(7).
[8]蔡晓曦,陈定方.特征脸及其改进方法在人脸识别中的比较研究[J].计算机与数字工程,2007(4).
过去10年,人们对机器学习的兴趣激增。几乎每天,你都可以在各种各样的计算机科学课程、行业会议、华尔街日报等等看到有关机器学习的讨论。在所有关于机器学习的讨论中,许多人把机器学习能做的事情和他们希望机器学习做的事情混为一谈。从根本上讲,机器学习是使用算法从原始数据中提取信息,并在某种类型的模型中表示这些信息。我们使用这个模型来推断还没有建模的其他数据。
神经网络是机器学习的一种模型,它们至少有50年历史了。神经网络的基本单元是节点(node),基本上是受哺乳动物大脑中的生物神经元启发。神经元之间的连接也以生物的大脑为模型,这些连接随着时间的推移而发展的方式是为“训练”。
在20世纪80年代中期和90年代初期,许多重要的架构进步都是在神经网络进行的。然而,为了得到好的结果需要大量时间和数据,这阻碍了神经网络的采用,因而人们的兴趣也减少了。在21世纪初,计算能力呈指数级增长,计算技术出现了“寒武纪大爆发”。在这个10年的爆炸式的计算增长中,深度学习成为这个领域的重要的竞争者,赢得了许多重要的机器学习竞赛。直到2017年,这种兴趣也还没有冷却下来;今天,我们看到一说机器学习,就不得不提深度学习。
作者本人也注册了Udacity的“Deep Learning”课程,这门课很好地介绍了深度学习的动机,以及从TensorFlow的复杂和/或大规模的数据集中学习的智能系统的设计。在课程项目中,我使用并开发了用于图像识别的卷积神经网络,用于自然语言处理的嵌入式神经网络,以及使用循环神经网络/长短期记忆的字符级文本生成。
本文中,作者总结了10个强大的深度学习方法,这是AI工程师可以应用于他们的机器学习问题的。首先,下面这张图直观地说明了人工智能、机器学习和深度学习三者之间的关系。
人工智能的领域很广泛,深度学习是机器学习领域的一个子集,机器学习又是人工智能的一个子领域。将深度学习网络与“经典的”前馈式多层网络区分开来的因素如下:
比以前的网络有更多的神经元更复杂的连接层的方法用于训练网络的计算机能力的“寒武纪大爆炸”自动特征提取
这里说的“更多的神经元”时,是指神经元的数量在逐年增加,以表达更复杂的模型。层(layers)也从多层网络中的每一层都完全连接,到在卷积神经网络中层之间连接局部的神经元,再到在循环神经网络中与同一神经元的循环连接(recurrent connections)。
深度学习可以被定义为具有大量参数和层的神经网络,包括以下四种基本网络结构:
无监督预训练网络卷积神经网络循环神经网络递归神经网络
在本文中,主要介绍后三种架构。基本上,卷积神经网络(CNN)是一个标准的神经网络,通过共享的权重在空间中扩展。CNN设计用于通过内部的卷积来识别图像,它可以看到图像中待识别的物体的边缘。循环神经网络(RNN)被设计用于识别序列,例如语音信号或文本。它的内部有循环,这意味着网络上有短的记忆。递归神经网络更像是一个层级网络,在这个网络中,输入必须以一种树的方式进行分层处理。下面的10种方法可以应用于所有这些架构。
1.反向传播
反向传播(Back-prop)是一种计算函数偏导数(或梯度)的方法,具有函数构成的形式(就像神经网络中)。当使用基于梯度的方法(梯度下降只是方法之一)解决优化问题时,你需要在每次迭代中计算函数梯度。
对于神经网络,目标函数具有组合的形式。如何计算梯度呢?有两种常用的方法:(i)解析微分(Analytic differentiation)。你已经知道函数的形式,只需要用链式法则(基本微积分)来计算导数。(ii)利用有限差分进行近似微分。这种方法在计算上很昂贵,因为函数值的数量是O(N),N指代参数的数量。不过,有限差分通常用于在调试时验证back-prop实现。
2.随机梯度下降法
一种直观理解梯度下降的方法是想象一条河流从山顶流下的路径。梯度下降的目标正是河流努力达到的目标——即,到达最底端(山脚)。
现在,如果山的地形是这样的,在到达最终目的地之前,河流不会完全停下来(这是山脚的最低点,那么这就是我们想要的理想情况。)在机器学习中,相当从初始点(山顶)开始,我们找到了解决方案的全局最小(或最佳)解。然而,可能因为地形的性质迫使河流的路径出现几个坑,这可能迫使河流陷入困境。在机器学习术语中,这些坑被称为局部极小值,这是不可取的。有很多方法可以解决这个问题。
因此,梯度下降很容易被困在局部极小值,这取决于地形的性质(用ML的术语来说是函数的性质)。但是,当你有一种特殊的地形时(形状像一个碗,用ML的术语来说,叫做凸函数),算法总是保证能找到最优解。凸函数对ML的优化来说总是好事,取决于函数的初始值,你可能会以不同的路径结束。同样地,取决于河流的速度(即,梯度下降算法的学习速率或步长),你可能以不同的方式到达最终目的地。这两个标准都会影响到你是否陷入坑里(局部极小值)。
3.学习率衰减
根据随机梯度下降的优化过程调整学习率(learning rate)可以提高性能并减少训练时间。有时这被称为学习率退火(learning rate annealing)或自适应学习率(adaptive learning rates)。训练过程中最简单,也是最常用的学习率适应是随着时间的推移而降低学习度。在训练过程开始时使用较大学习率具有进行大的改变的好处,然后降低学习率,使得后续对权重的训练更新更小。这具有早期快速学习好权重,后面进行微调的效果。
两种常用且易于使用的学习率衰减方法如下:
逐步降低学习率。在特定的时间点较大地降低学习率。
4 . Dropout
具有大量参数的深度神经网络是非常强大的机器学习系统。然而,过拟合在这样的网络中是一个严重的问题。大型网络的使用也很缓慢,这使得在测试时将许多不同的大型神经网络的预测结合起来变得困难。Dropout是解决这个问题的一种方法。
Dropout的关键想法是在训练过程中随机地从神经网络中把一些units(以及它们的连接)从神经网络中删除。这样可以防止单元过度适应。在训练过程中,从一个指数级的不同的“稀疏”网络中删除一些样本。在测试时,通过简单地使用一个具有较小权重的单一网络,可以很容易地估计所有这些“变瘦”了的网络的平均预测效果。这显著减少了过拟合,相比其他正则化方法有了很大改进。研究表明,在视觉、语音识别、文档分类和计算生物学等监督学习任务中,神经网络的表现有所提高,在许多基准数据集上获得了state-of-the-art的结果。
5. Max Pooling
最大池化(Max pooling)是一个基于样本的离散化过程。目标是对输入表示(图像,隐藏层输出矩阵等)进行下采样,降低其维度,并允许对包含在分区域中的特征进行假设。
这在一定程度上是为了通过提供一种抽象的表示形式来帮助过拟合。同时,它通过减少学习的参数数量,并为内部表示提供基本的平移不变性(translation invariance),从而减少计算成本。最大池化是通过将一个最大过滤器应用于通常不重叠的初始表示的子区域来完成的。
6.批量归一化
当然,包括深度网络在内的神经网络需要仔细调整权重初始化和学习参数。而批量标准化有助于实现这一点。
权重问题:无论权重的初始化如何,是随机的也好是经验性的选择也罢,都距离学习到的权重很遥远。考虑一个小批量(mini batch),在最初时,在所需的特征激活方面将会有许多异常值。
深度神经网络本身是有缺陷的,初始层中一个微小的扰动,就会导致后面层巨大的变化。在反向传播过程中,这些现象会导致对梯度的分散,这意味着在学习权重以产生所需输出之前,梯度必须补偿异常值,而这将导致需要额外的时间才能收敛。
批量归一化将梯度从分散规范化到正常值,并在小批量范围内向共同目标(通过归一化)流动。
学习率问题:一般来说,学习率保持较低,只有一小部分的梯度校正权重,原因是异常激活的梯度不应影响学习的激活。通过批量归一化,减少异常激活,因此可以使用更高的学习率来加速学习过程。
7.长短时记忆
LSTM网络在以下三个方面与RNN的神经元不同:
能够决定何时让输入进入神经元;能够决定何时记住上一个时间步中计算的内容;能够决定何时让输出传递到下一个时间步长。
LSTM的优点在于它根据当前的输入本身来决定所有这些。所以,你看下面的图表:
当前时间标记处的输入信号x(t)决定所有上述3点。输入门从点1接收决策,遗忘门从点2接收决策,输出门在点3接收决策,单独的输入能够完成所有这三个决定。这受到我们的大脑如何工作的启发,并且可以基于输入来处理突然的上下文/场景切换。
8. Skip-gram
词嵌入模型的目标是为每个词汇项学习一个高维密集表示,其中嵌入向量之间的相似性显示了相应词之间的语义或句法相似性。Skip-gram是学习单词嵌入算法的模型。
Skip-gram模型(以及许多其他的词语嵌入模型)的主要思想是:如果两个词汇项(vocabulary term)共享的上下文相似,那么这两个词汇项就相似。
换句话说,假设你有一个句子,比如“猫是哺乳动物”。如果你用“狗”去替换“猫”,这个句子仍然是一个有意义的句子。因此在这个例子中,“狗”和“猫”可以共享相同的上下文(即“是哺乳动物”)。
基于上述假设,你可以考虑一个上下文窗口(context window,一个包含k个连续项的窗口),然后你跳过其中一个单词,试着去学习一个能够得到除跳过项外所有项的神经网络,并预测跳过的项是什么。如果两个词在一个大语料库中反复共享相似的语境,则这些词的嵌入向量将具有相近的向量。
9.连续词袋(Continuous Bag Of Words)
在自然语言处理问题中,我们希望学习将文档中的每个单词表示为一个数字向量,使得出现在相似的上下文中的单词具有彼此接近的向量。在连续的单词模型中,我们的目标是能够使用围绕特定单词的上下文并预测特定单词。
我们通过在一个庞大的语料库中抽取大量的句子来做到这一点,每当我们看到一个单词时,我们就会提取它周围的单词。然后,我们将上下文单词输入到一个神经网络,并预测位于这个上下文中心的单词。
当我们有成千上万的这样的上下文单词和中心词以后,我们就有了一个神经网络数据集的实例。训练神经网络,最后编码的隐藏层输出表示特定单词的嵌入。而当我们对大量的句子进行训练时也能发现,类似语境中的单词得到的是相似的向量。
10.迁移学习
关键词:深度学习;网络安全;网络数据;计算机
随着信息化社会的进步,互联网与人们的生活紧密相关,人们可以通过互联网进行购物、社交、学习,为人们的生活带来便利的同时,也促进了社会经济的发展。然而,信息安全问题日益突出,存在数据外泄的风险[1]。网络病毒、数据泄露等问题一直在威胁着人们的信息安全,不仅会影响个人的信息安全,还会威胁国家网络信息安全,因此必须从多方面对互联网信息安全进行防护[2]。在计算机网络安全管理中,需要实时检测网络平台数据的安全状态。深度学习是一种通过模拟人脑对视觉和听觉的反应对图片和音频进行分析的一种模型[3]。基于此,本文构建基于深度学习的网络安全管理模型,利用深度学习模型对网络数据中的不安全因素进行分析。
1网络安全管理模型设计
1.1构建网络平台防护框架
计算机病毒是危害互联网信息安全的重要因素之一,一般隐藏在执行程序、数据和文件中,不容易被人们发现。感染计算机病毒的电脑存在泄露个人信息的风险,而个人信息泄漏也会使其他的信息安全遭到一定程度的威胁,影响了我国的互联网安全。在大数据背景下,针对不同的情况应采用不同等级的防御系统[4]。本文以系统安全性评价为基础,构建网络平台防护框架,如图1所示[5]。网络平台防护框架包括用户信息采集模块、用户信息认证模块、防火墙模块、常用存储模块、备用存储模块、报警模块、数据监控模块、网络数据库模块、中央处理器模块、信息安全监测模块、信息安全分析模块和信息安全处理模块。
1.2网络信息安全检测
黑客攻击手段分为非破坏性攻击和破坏性攻击两类,非破坏性攻击是利用拒绝服务等手段来影响操作系统的正常工作,破坏性攻击则是指通过非法方式进入其他计算机,以窃取重要的操作系统保密信息,从而攻击系统的重要数据[5]。在黑客进行攻击时,最常用的手段就是利用域名随机算法随机生成恶意域名。虽然国内已经开发出相对完善的查杀系统和网络监测体系,但是随着人工智能技术的发展,恶意域名的识别也更加困难[6-8]。因此,需要建立新的域名检测方式,加强对恶意域名的识别,保障网络环境安全。
1.3基于深度学习的恶意域名检测模型
基于深度学习的恶意域名检测模型拥有多层认知机制,可通过训练实现对不同网络数据的识别[9-11]。深度学习基础模型大致包括卷积计算神经网络模型、深度信任网络模型及堆栈式自编码网络模型。在应用模型的过程中,可利用卷积神经网络数据识别的优点,对网络系统中存在的数据风险进行准确分析。卷积神经网络通过卷积层、池化层、全连接层来模拟人视觉神经网络,卷积层能够保留数据特征,并经过池化层进行降维和分析,通过全连接层输出最终结果。该模型的兼容性较强,可先进行预处理后再识别域名数据,能够节省计算时间。卷积神经网络可以实现对数据的识别,并通过模型中的多层神经网来模拟人脑对数据的处理方式。由于基于深度学习的恶意域名检测模型具有较强的自主学习能力,因此能够有效执行异常数据识别等操作,有效实现对恶意域名的检测。基于深度学习的恶意域名检测模型的检测过程如图2所示。输入域名后对域名进行预处理,排除数据中的重复域名和大数据中已有的非法域名,并对正常域名和非法域名进行标记[12]。进入嵌入阶段,将域名中的字符通过特定方式映射为多维向量,然后对向量进行训练[13]。检测域名中是否包含特殊字符,识别特殊字符的恶意程度,因为域名长度不长且没有完整的语法结构,所以利用卷积算法进行计算[14-15]。将数据输入卷积层提取信息后,输送至折叠层构建矩阵,最后进入全连接层进行训练,输出结果。
2实验对比分析
为证实网络安全管理模型的实用性能,采用对比实验的方式进行验证,分别采用本文设计的基于深度学习的网络安全管理模型与传统模型对实验数据进行安全监测。
2.1实验准备
在选取数据时,筛选当天产生的恶意域名,选取可信度高的30万条域名作为实验数据,再选取30万条正常域名将两者混合进行实验,另外再选取6万条恶意域名和6万条正常域名作为测试数据,实验数据划分情况如表1所示。将实验数据分批次进行训练,实验环境配置表如表2所示。
2.2实验数据和分析
在实验过程中,将数据分为5组分别进行实验,得到的实验数据如表3所示。从表3可以看出,基于深度学习的检测模型在检测过程中能够正确识别的数量明显多于传统模型,便于对数据进行进一步处理。
3结语