前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的卷积神经网络的方法主题范文,仅供参考,欢迎阅读并收藏。
【关键词】深度学习 卷积神经网络 权值共享 下采样 R-CNN Fast-R-CNN
1 绪论
随着电子信息技术的快速发展,芯片的设计与生产进入了纳米时代,计算机的计算能力与计算速度得到了空前的提高,但是人们的需求是无限的,要求计算机能更加任性化的服务于我们的生活,这也就要求计算机本身能像人一样识别与感知周围的环境,并对复杂的环境做出正确的判断。而图片信息是我们周围环境最直观的,最容易获取的信息,要求计算机能对为的环境做出识别与判断也就要求计算机能够智能的识别图像信息。深度学习是机器学习中的一个新的研究领域。通过深度学习的方法构建深度网络来抽取目标特征进而识别周围的环境。卷积神经网络对图像的处理具有平移,旋转,扭曲不变的优良特性。在处理图像是更加快捷和便利。卷积神经网络使得计算机在感知识别周围环境的能力有了巨大的提升,使得计算机更加智能。卷积神经网络拥有强大的特征提取能力,使得其在图像分类识别,目标跟踪等领域有着强大的运用。
1.1 国内外研究现状
1986年,Rumelhart和Mc Celland提出BP算法。BP算法反向传导神经网络输出误差进行训练神经网络。通过BP算法,神经网络能够从大量训练数据中的学习到相关统计信息,学习到的数据统计信息能够反映关于输入-输出数据模型的函数映射关系。
自2006年以来,Geoffery Hinton教授提出深度信念网络。从此深度学习在学术界持续升温。深度学习不仅改变着传统的机器学习方法,也影响着我们对人类感知的理解,迄今已在语音识别和图像理解等应用领域引起了突破性的变革。各种相关的算法和模型都取得了重要的突破,使得深度学习在图像分类,语音识别,自然语言处理等领域有广泛的运用。
2013年百度成立百度深度学习研究院以来我国的人工智能领域取得了长足的进步。在人工智能专家吴恩达的带领下,百度陆续推出一系列人工智能产品,无人驾驶技术,DuerOS语音交互计算平台,人脸识别技术,美乐医等优秀产品。此外Imagenet图像识别大赛中也诞生了一系列经典的神经网络结构,VGG,Fast-R-CNN,SPP-net等等,可以说人工智能技术在近几年得到了空前的发展。
2 深度学习概述
深度学习是机器学习的一个新方向,通过学习样本数据内在规律和深层特征深度,深度学习神经网络能够像人一样有分析和学的能力,尤其在文字处理,图像识别,语音等领域更加突出。能够自主学习一些新的东西。目前深度学习使用的典型技术是通过特征表达和分类器来进行目标识别等任务的。并在语音识别、图像处理、机器翻译等领域取得很多成果。
深度学习不同于以往的浅层学习,浅层学习模型值包含一个隐藏层,或者不存在隐藏层,深度学习则是由很多隐藏层组成的,上一层的输出作为下一层的输入,实验对输入信息进行分级表达。目前深度学习框架主要包含三种深度学习框架,如图1、2、3所示。
3 卷积神经网络
卷积神经网络的结构层次比传统的神经网络复杂,卷积神经网络包含大量的隐藏层,相邻的卷积核或者下采样核采用局部感受野全链接,神经元权值共享的规则,因此卷积神经网络训练参数的数量远比传统神经网络少,卷积神经网络在训练和前向测试的复杂度大幅度降低,同时也减少了神经网络训练参数过拟合的几率。卷积神经网络主要有两部分,分别是卷积核和下采样核。卷积核主要对上一层的图像进行卷积运算,提取图像特征,下采样核则是对上层的数据进行将为处理,减少神经网络的复杂度。
卷积神经网络中每一个神经元的输入与前一层的局部感受野相连,提取局部感受野的特征,比如图像的轮廓,颜色等特征,而这些特征不仅包括传统人类能理解的特征,也包括神经网络自身能够识别的特征,卷积核全职共享,因此这些特征提取与图像的位置无关。
图4是经典的LeNet5卷积神经网络架构,LeNet5架构中卷积核和下采样核交替出现,下采样核及时的将卷积核生成的特征向量进行降维,减少神经网络的运算量。LeNet5算法在1962年幼Hubel等人提出,在识别手写数字mnist中有极高的准确率。
4 R-CNN、Fast-R-CNN对比分析
卷积神经网络在对图像进行识别具有平移,旋转,扭曲不变的优良特性,并且能够实现高准确率识别图像,但是在现实生活运用中往往需要神经网络标记出目标的相对位置,这是传统卷积神经网络不具备的功能。因此在前人传统卷积神经网路基础上对卷积神经网络进行改进,产生了具有对图像中目标进行识别和定位的卷积神经网络R-CNN,Fast-R-CNN等改良算法。
4.1 R-CNN
R-CNN为Region Convoluntional Neural Network的缩写即对图像进行局部区域的卷积处理,其核心思想主要是利用候选区图像对物体探测中位置信息进行精确处理和利用监督式预训练和区域特殊化的微调方法,代替了传统的非监督式预训练和监督式微调。
在CNN中,全连接层输入是固定大小的,因此R-CNN用计算机视觉算法将每一张图片分割成1000-2000张的候选区图片后,要将这些候选区图片进行变换,生成固定大小的候选图片,在训练提取特征时一般采用经过预训练的模型参数进行finetuning,榱嗽黾友盗费本,模型在也将生成的候选框以及标定的标签作为训练样本进行训练。R-CNN采用SVMs分类器对特征向量进行分类,在训练SVMs时将候选框经过卷积神经网络提取的特征和SVM标定结果输入到SVMs分类器训练分类器模型。而在测试时将图像全部候选框经过卷积神经网络提取的特征输入到SVMs分类器中,得到每一类的评分结果。但是R-CNN在处理一张图片是要处理需要对一张图片1000-2000个候选区图像进行前向运算,保存所有后选取图片的特征值,要求计算硬件有大量的存储空间,同时处理每一张图片的时间也会增加。由于训练集庞大,本文采用hard negative mining method方法提高存储的利用率。
R-CNN的体现出了极大的优势,其中MAP也可以大幅度提高,但是正如本文上述,R-CNN计算的时间成本很大,达不到实时的计算效果,R-CNN在对候选区进行处理时会使得图像失真,部分信息丢失。
4.2 Fast-R-CNN
Fast-R-CNN则是再次改进的一种基于卷积神经网络目标跟踪定位算法。相比于R-CNN,Fast-R-CNN从单输入变为双输入,在全连接层后有了两个输出,引入了Rol层。
Fast-R-CNN在运行的时候同样会生成大量的候选区,同时将原始的图片用卷积神经网络进行特征提取,将原始图片提取的特征与生成的候选区坐标送入Rol层为每一个候选区生成一个固定大小的特征向量。最后将Rol生成的特征向量全连接层产生最终的LOSS。Fast-R-CNN中的LOSS采用多LOSS模式,SoftMax LOSS用于计算K+1分类的损失,K为第K个目标,1为背景;Regression LOSS计算候选区的四个角的坐标。
Fast-R-CNN在MAP上有了大幅度的提升,速度也得到了提升,但是在计算候选区是仍存在瓶颈,这也是限制Fast-R-CNN速度的因素。
5 实验测试
对于本文提出的卷积神经网络识别图像定位图像目标算法R-CNN,Fast-R-CNN,在本章给出实验结果。实验平台为基于Linux系统的debian8下运行caffe进行训练,采用显卡K620进行实验。
训练模型初始化参数在是服从高斯随机分布,R-CNN采用的网络结构如图7所示,Fast-R-CNN的网络结构如图8所示。
本次实现的训练样本为录制实验室视频数据,将视频数据转换成帧图片,对每张图片数据进行裁剪,裁剪后图像大小在256*256,共有500张,再将裁剪后的图片进行旋转,平移,扭曲,镜像,加噪声等处理,最后生成144万张样本图片,其中136.8万张图片作为训练样本,7.2万张作为测试样本。
6 总结
在目标识别定位领域,卷积神经网络具有强大的图像处理能力,对图像的识别定位具有很高度平移,旋转,扭曲不变形的优良性能。卷积神经网络架构R-CNN和Fast-R-CNN都有强大的图像处理能力。Fast-R-CNN在识别准确率上比R-CNN高。R-CNN算法复杂,对一张图片需要进行1000-2000次的卷积运算,特征重复提取。因此在训练和前向测试时,R-CNN用的时间长,不能很好的适用于处理实时图片数据,尤其视频数据。R-CNN在对每个候选区进行特征提取之后需要将提取的特征向量存入内存,降低训练测试时间的同时也需要耗费大量内存。因此从各方面分析可知,Fast-R-CNN性能优于R-CNN。
参考文献
[1]谢宝剑.基于卷积神经网络图像分类方法研究[D].合肥工业大学,2015.
[2]郑胤,陈权崎,章毓晋.深度学习及其在目标和行为识别中的新进展[J].中国图象图形学报,2014(02):175-184.
[3]陈先昌.基于卷积神经网络的深度学习算法与运用研究[D].杭州:浙江工商大学,2006(04):603-617.
[4]李彦冬,郝宗波,雷航等.卷积神经网络研究综述[J].计算机应用,2016.
[5]Gibson.J J.The perception of the Visual World[J].Cambridge,England,1950.
[6]HORN B,SCHUNCK P.Determining optical flow[J].Artificial Intelligence, 1981,17:185-203.
[7]R.Girshick,J.Donahue,T. Darrell,and J.Malik,“Rich feature hierarchies for accurate object detection and semantic segmentation,”in CVPR,2014
[8]Ross Girshick,Wicrosoft Research. Fast R-CNN,.
[9]R.Girshick.Fast R-CNN. arXiv:1504.08083,2015.
关键词:卷积神经网络;深度学习;图像处理;训练时间
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)33-0167-04
如今在机器学习领域中,深度学习方法已经占据了相当重要的地位,通过模仿人X学习方式构造模型,在图像、文本、语音处理方面取得了显著成果[1]。目前应用较为广泛的深度学习模型包含多层感知器模型(MLP)[2],卷积神经网络模型和限制性玻尔兹曼机模型等[4]。多层感知器[2]网络结构的神经节点一般分层排列,主要由输入层,输出层和一些隐层组成,同层之间的神经元节点无连接,相邻的两层神经元进行全连接,前一层的神经元的输出作为后一层神经元的输入,但本身此种算法存在着一些问题,那就是它的学习速度非常慢,其中一个原因就是由于层与层之间进行全连接,所以它所需要训练的参数的规模是非常大的,所以对其进行改进,产生了卷积神经网络模型。卷积神经网络模型在图像识别方面的应用十分广泛[5,8,9]。从它的结构上来看,层与层之间的神经元节点采用局部连接模式,而并非MLP的全连接模型,这样就降低了需要训练的参数的规模。而在它卷积层中,它的每一个滤波器作为卷积核重复作用于整个输入图像中,对其进行卷积,而得出的结果作为输入图像的特征图[6],这样就提取出了图像的局部特征。而由于每一个卷积滤波器共享相同的参数,这样也就大大降低了训练参数的时间成本。而本文,以卷积神经网络为研究对象,在其模型的基础上通过对其结构中卷积核也就是滤波器的大小进行调整并结合卷积核个数调整和gpu加速等已有的训练提速方法,达到降低训练时间并且对识别结果并无太大影响的目的。
1 卷积神经网络
卷积神经网络在MLP的基础上,已经对结构进行了优化,通过层与层之间的局部连接以及权值共享等方式对要训练的参数的进行了大幅减低。
1.1局部连接
BP神经网络中,神经元在本层中呈线性排列状态,层与层之间进行全连接,而在卷积神经网络中,为了减少每层之间的可训练参数数量,对连接方式进行了修改,相对于BP神经网络的全连接,卷积神经网络采取了局部连接的连接方式[7],也就是说按照某种关联因素,本层的神经元只会与上层的部分神经元进行连接。
2.2 权值共享
在CNN中,卷积层中的卷积核也就是滤波器,重复作用在输入图像上,对其进行卷积,最后的输出作为他的特征图,由于每个滤波器共享相同的参数,所以说他们的权重矩阵以及偏置项是相同的。
我们从上图看出,相同箭头连线的权值是共享的,这样在原有的局部连接的基础上我们又降低了每层需要训练的参数的数量。
2.3卷积过程
特征图是通过滤波器按照特定的步长,对输入图像进行滤波,也就是说我们用一个线性的卷积核对输入图像进行卷积然后附加一个偏置项,最后对神经元进行激活。如果我们设第k层的特征图记为[hk],权重矩阵记为[Wk],偏置项记为[bk],那么卷积过程的公式如下所示(双曲函数tanh作为神经元的激活函数):
2.4 最大池采样
通过了局部连接与权值共享等减少连接参数的方式卷积神经网络中还有另外一个重要的概念那就是最大池采样方法,它是一种非线性的采样方法。最大池采样法在对减少训练参数数量的作用体现在两个方面:
1 )它减小了来自m-1层的计算复杂度。
2 )池化的单元具有平移不变性,所以即使图像在滤波后有小的位移,经过池化的特征依然会保持不变。
3卷积神经网络整体构造以及减少训练时间的方法
3.1使用GPU加速
本次论文实验中,使用了theano库在python环境下实现卷积神经网络模型,在lenet手写数字识别模型上进行改进,由于theano库本身支持GPU加速,所以在训练速度上实现了大幅度的提高。
3.2 数据集的预处理
本次实验使用的两个数据集是mnist手写数字库以及cifar_10库
Mnist手写数字库具有60000张训练集以及10000张测试集,图片的像素都为28*28,而cifar_10库是一个用于普适物体识别的数据集,它由60000张32*32像素的RGB彩色图片构成,50000张图片组成训练集,10000张组成测试集。而对于cifar_10数据集来说,由于图片都是RGB的,所以我们在进行实验的时候,先把其转换为灰度图在进行存储。由于实验是在python环境下运行,theano函数库进行算法支持,所以我们把数据集进行处理,此处我们对使用的数据集进行了格式化。格式化的文件包括三个list,分别是训练数据,验证数据和测试数据。而list中每个元素都是由图像本身和它的相对应的标签组成的。以mnist数据集为例,我们包含train_set,valid_set,test_set三个list,每个list中包含两个元素,以训练集为例,第一个元素为一个784*60000的二维矩阵,第二个元素为一个包含60000个元素的列向量,第一个元素的每一行代表一张图片的每个像素,一共60000行,第二个元素就存储了对相应的标签。而我们取训练样本的10%作为验证样本,进行相同的格式化,而测试样本为没有经过训练的10000张图片。在以cifar_10数据集为实验对象时,把其进行灰度化后,进行相同的格式化处理方式。
3.3实验模型结构
本次实验是在python环境下基于theano函数库搭建好的lenet模型进行参数的调整,以达到在实验准确度可接受情况下减少训练时间的目的。
上图为实验中的基础模型举例说明实验过程,首先以mnist数据集为例,我们的输入图像为一个28*28像素的手写数字图像,在第一层中我们进行了卷积处理,四个滤波器在s1层中我们得到了四张特征图。在这里要特别的说明一下滤波器的大小问题,滤波器的大小可根据图像像素大小和卷积神经网络整体结构进行设置,举例说明,假如说我们的输入图像为28*28像素的图像,我们把第一层卷积层滤波器大小设置为5*5,也就是说我们用一个大小为5*5的局部滑动窗,以步长为一对整张图像进行滑动滤波,则滑动窗会有24个不同的位置,也就是说经过卷积处理后的C1层特征图的大小为24*24。此处的滤波器大小可进行调整,本论文希望通过对滤波器大小的调整,已达到减少训练时间的目的,并寻找调整的理论依据。C1层的特征图个数与卷积过程中滤波器数量相同。S1层是C1经过降采样处理后得到的,也就是说四点经过降采样后变为一个点,我们使用的是最大池方法,所以取这四个点的最大值,也就是说S1层图像大小为12*12像素,具有4张特征图。而同理S1层经过卷积处理得到C2层,此时我们滤波器的大小和个数也可以自行设置,得到的C2层有6张特征图,C2到S2层进行降采样处理,最后面的层由于节点个数较少,我们就用MLP方法进行全连接。
3.4实验参数改进分析
由此可见,我们对滤波器的大小以及个数的改变,可以直接影响到卷积训练参数的个数,从而达到减少训练时间的目的。
从另一种角度来看,增大滤波器的大小,实际效果应该相似于缩小输入图像的像素大小,所以这样我们可以预测增大滤波器的大小会减少样本的训练时间,但是这样也可能会降低训练后的分类的准确率,而滤波器的大小是如何影响训练时间以及分类准确率的,我们通过对两种图片库的实验来进行分析。
4 实验结果与分析
4.1以mnist手写数字数据集作为实验数据
我们知道卷积层可训练参数的数字与滤波器的大小和数字有关,所以我们通过对卷积层滤波器大小的变化来寻找较为普遍的可减少训练参数从而达到减少训练时间的目的。在实验记录中,我们表格纵列记录两层卷积层滤波器大小,横列分别为对已经过训练图像识别和对未经过训练的验证图像进行识别的错误率,最后记录每种滤波器大小搭配的使用时间。我们设定每次试验都进行100次重复训练,每次对权重矩阵进行优化。
此处我们记录两层滤波器大小之和作为横坐标,比较滤波器大小与实验之间的关系。两层滤波器大小相加后相同的元素我们把其对应时间做平均。
4.2以cifar_10数据集作为实验数据
同样是以100次循环训练进行测试,通过改变两层中滤波器的大小来寻找减少训练时间的设定。
此处以同样的方法,记录两层滤波器大小之和作为横坐标,比较滤波器大小与实验之间的关系。
4.3实验结果分析
从两组试验中,在不同的数据集下,我们得到了滤波器的大小与训练时间成反比的关系,而在减少了训练时间的同时确实增大了训练的错误率。
5 总结
通过实验结果分析表明,增大卷积层滤波器大小的方法,在此两种数据库的情况下,是有效减小训练时间的方式,而在不同的数据库对分类准确率的影响程度不同,mnist手写数字数据库中图像之间的相似度非常高,所以滤波器的增大对准确率产生的负面影响较小,而ifar_10数据集中图像之间的相似度较小,所以增大滤波器的大小对其分类结果的准确率的负面影响较大。
参考文献:
[1]LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[2] Ruck D W, Rogers S K, Kabrisky M. Feature selection using a multilayer perceptron[J]. ]Journal of Neural Network Computing, 1990, 2(2): 40-48.
[3]LeCun Y, Bengio Y. Convolutional networks for images, speech, and time series[J]. The handbook of brain theory and neural networks, 1995, 3361(10): 1995.
[4] Larochelle H, Bengio Y. Classification using discriminative restricted Boltzmann machines[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 536-543.
[5]Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
[6] Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision. Springer International Publishing, 2014: 818-833.
[7] Jarrett K, Kavukcuoglu K, Lecun Y. What is the best multi-stage architecture for object recognition?[C]//2009 IEEE 12th International Conference on Computer Vision. IEEE, 2009: 2146-2153.
过去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.迁移学习
关键词:卷积神经网络;反向传播算法;仿射变换;sloth;python;theano
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2017)04-0096-02
随着环保压力的增大,各国已经开始利用摄像头来监控渔船的捕捞活动,并运用机器学习技术来对渔船捕获的鱼类图像进行自动的识别与分类从而扼制非法的捕捞。
目前计算机性能的飞速发展、图像数据采集设备的廉价与普及促进了机器学习理论与方法的发展,数据科学家已经可以构建复杂的机器学习模型并利用从廉价的数码摄像头设备采集到大量的数据快速的训练模型。吴一全等[1]采用了手动选择特征的方法, 基于支持向量机对5种鱼进行识别,各类鱼的识别精度平均为83.33%。万鹏等[2]计算鱼的长轴方向各段的平均宽度与长度的比值并将其作为特征参数,利用3层BP(back propagation)神经网络对鲫鱼和鲤鱼进行识别,识别精度为92.50%。但是这些方法都是基于手动选择特征的机器学习方法,手动选择特征的方法基于人的经验选择特征, 会导致遗漏重要的特征, 导致分类准确率低。深度学习中的卷积神经网络能在训练过程中自动学到“好”特征,避免了手动选择特征。本次研究采用了基于VGG16的卷积神经网络(CNN)来进行鱼类分类,并运用了数据集扩增方法,dropout方法, batch normalization方法来降低模型的过拟合。但是原始数据集背景干扰很大,船上的人、物体和甲板上捕获的鱼类糅合在一起,直接采用原始数据集训练会导致训练出的模型稳定性不好。
基于上述分析,本文从原始数据出发,设计了一种目标检测方法,即在原始训练数据已经有鱼类类别标签的基础上,再标注上一层表示鱼类在图片中坐标位置的标签,然后利用这些二次标注过的数据训练模型,就可得到一个既能预测鱼在图片中的坐标位置又能预测鱼的分类的糅合模型。因为这两种预测网络在卷积层共同训练一套滤波器,所以在训练滤波器预测鱼的坐标位置时,训练完成的滤波器便能在另一方面辅助预测鱼的分类,使特征提取只专注于鱼的坐标区域,这样就有效的排除了背景干扰。实验结果显示此模型具有很高的识别精度和鲁棒性,能在背景干扰很强的图片数据集上准确的完成鱼类的识别和分类。
1 模型构建
实验数据来源于某组织举办的图像识别竞赛。数据通过固定在渔船某个位置的摄像头采集,通过采集甲板上捕获的鱼类照片,共采集到3777张共8个分类的照片作为训练样本,分别为长鳍金枪鱼、大眼金枪鱼、黄鳍金枪鱼、鳅鱼、月鱼、鲨鱼、其他、无鱼类(表示没有鱼出现在照片里)。按一定比例做分层采样,其中2984张用作训练集,394张用作验证集,399张用作测试集。训练集用经过错切幅度值为0.15的仿射变换作数据集扩增来降低过拟合,因为在从原始数据集上分层采样得来的小样本数据集上验证显示当错切幅度值等于0.15时,模型在测试集上的分类精度最高。
在训练集上采用sloth@款图片标注工具手动标注鱼类在图片中的位置,并把这些标注结果和已有的鱼类分类标注结果当做输入数据和图片数据一起传给模型训练。
本次研究的神经网络模型结构如图1所示。卷积层采用了被广泛使用在图像分类任务中的VGG模型的卷积滤波器的权重[3],并在其模型上作微调来实现本次研究的目标。
输入层将不同尺寸的图片统一转换成244*244大小。
汇合层(max pooling)是指取一小块像素区域的像素最大值,作用是可减少数据量,控制过拟合。
全连接层的权重采用反向传播算法(back propagation)训练,参数寻优采用随机梯度下降方法。动态学习率设定方法采用了 Adam方法,可根据损失函数在迭代训练中产生的信息自动调整学习率。
激活层函数采用RELU方法,公式为。最后一层预测鱼类分类的激活曾需要把对应于各个分类的分数值转换成总和为1的对应于各个分类的概率值,所以激活函数采用Softmax方法,公式如下
由于卷积神经网络网络强大的表示能力,为了降低模型的过拟合以及加快模型的训练速度,本次工作在激活曾后面再依次加入一层dropout层和batch normalization层。dropout层是指随机的舍弃一部分激活曾神经元的值,并将其置为0[4]。batch normalization层是指规范化每层激活层的输出,并加入4个规范化参数来抑制模型训练过程中的反规范化现象[5]。
2 程序实现
具体的软件实现采用python编程语言和keras框架平台。keras底层采用轻量易用的theano框架,并依赖计算机的显卡来进行更快速的训练工作。整个图像分类的软件框架主要由4部分组成,分别是输入图像数据处理、模型各个网络层的实现及拼接、模型编译、模型训练及预测。下面按数据在模型中流动的顺序具体的阐述各个部分的程序实现。
2.1 输入图像数据处理
关键词:Deep Learning;多隐含层感知;DropConnect;算法
中图分类号:TP181
Deep Learning是机器学习研究的新领域,它掀起了机器学习领域的第二次浪潮,并受到学术界到工业界高度重视。Deep Learning概念根源于人工神经网络[3],它由Geoffrey Hinton等在Science上提出。它致力于建立模拟人脑分析学习机制的多层次神经网络,并通过这种网络分析解释数据,如视频、文本和声音等。Deep Learning的多隐含层使得它具有优异的特征学习能力,而且学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类。它的“逐层初始化”(layer-wise pre-training[4])可以有效克服深度神经网络在训练上的难度。本文在对Deep Learning算法分析的基础上,着重阐述了对Regularization of Neural Networks using DropConnect模型的改进。
1 Deep Learning算法分析
1.1 Deep Learning多隐含层感知架构
Deep Learning算法最优秀特征是多隐含层感知器架构,这种架构通过组合低层特征来形成更加抽象的高层属性类别或特征,并实现对数据分布式表示。Deep Learning的多隐含层结构是由输入层、隐层(多层)、输出层组成的多层网络(如图1所示),只有相邻层神经元之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个浅层机器学习模型(如logistic regression,Support Vector Machines)。
图1 含多个隐含层的Deep Learning模型
Deep Learning的多隐含层感知结构模拟的是人脑的大脑皮层工作。人大脑皮层计算也是分多层进行[5],例如图像在人脑中是分多个阶段处理,首先是进入大脑皮层V1区提取边缘特征,然后进入大脑皮层V2区抽象成图像的形状或者部分,再到更高层,以此类推。高层的特征是由底层组合而成。使用含多隐含层感知器架构网络主要优势在于它能以更简洁的方式表达比浅层网络大得多的函数关系(如图2)。通过这种深层非线性网络结构,Deep Learning可以实现复杂函数的逼近,表征输入数据的分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。
图2 多层次实现复杂函数图
1.2 Deep Learning训练过程
(1)首先逐层构建单层神经元,使得每次都是训练一个单层网络。
(2)当所有层训练完后,使用Wake-Sleep算法[6]进行调优。
将除最顶层的其它层间的权重是双向的。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让“认知”和“生成”达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的结点。
1.3 Deep Learning数据处理一般过程
Deep Learning算法通过传感器等方式获得数据之后,首先对数据进行预处理。在数据预处理中,标准的第一步是数据归一化处理,第二步是数据白化处理(如PCA白化和ZCA白化)。其次特征提取和特征选择。然后将输出作为下层的输入,不断进行特征提取和特征选择,直到学习到合符要求的最佳特征。在特征提取和特征选择过程中,常用自动编码、稀疏编码、聚类算法、限制波尔兹曼机、卷积神经网络等算法进行特征提取和特征选择。然后用反向传播算法、随机梯度下降算法、批量梯度下降算法等进行调优处理,再用池化等算法避免特征过度拟合,从而得到最终提取特征。最后将学习到的最终提取特征输入到分类器(如softmax分类器,logistic回归分类器)进行识别、推理或预测。
2 基于Regularization of Neural Networks using DropConnect模型改进
2.1 Regularization of Neural Networks using DropConnect模型[2]
该模型的四个基本组成成分是:
(1)特征提取:v=g(x;Wg)。x是输入层的输入数据,Wg是特征提取函数的参数,v是输出的提取特征,特征提取函数g()。其中g()为多层卷积神经网络算法函数,而Wg卷积神经网络的偏值。
(2)DropConnect层:r=a(u)=a((M*W)v)如图3。v是输出的提取特征,W是完全连接的权重矩阵,M是二进制掩码矩阵,该矩阵的每个元素随机的以1-p概率设置为0或以p概率设置为1,a()是一个非线性激活函数,r是输出向量。M*W是矩阵对应元素相乘。
(3)Softmax分类器层:o=s(r;Ws)。将r映射到一个k维的输出矩阵(k是类的个数),Ws是softmax分类函数的参数。
(4)交叉熵损失:A(y,o)=-∑yi(oi),i∈1,2,3…k。y是标签,o是概率。
图3 DropConnect示意图
2.2 模型改进描述和分析
对DropConnect模型的改进主要集中在上面它的四个基本组成成分中的DropConnect层。由于该层以随机方式让掩码矩阵M的每个元素Mij按1-p的概率设置为0,然后让掩码矩阵与层间的权重矩阵对应相乘即M*W。相对DropOut模型r=a((M*(Wv))得到的特征,r=a((M*W)v)得到的特征是比较好的特征r,同时也提高算法的泛化性。因为Dropconnect模型在权重W和v运算之前,将权重以一定的概率稀疏了,从运行结果看整体算法的错误率降低了。但是,由于是随机的让Mij按1-p的概率为0,并且这种随机是不可以预测的,故可能会导致某些重要特征对应的权重被屏蔽掉,最终造成输出ri的准确性降低。故就此提出了新的设计思想。
改进思想是用单层稀疏编码层代替DropConnect层,通过稀疏编码训练出一组最佳稀疏的特征。具体描述:让经过多层卷积神经网络提取到的特征v作为稀疏编码的输入,经过稀疏编码重复训练迭代,最终得到最佳的稀疏的特征r。因为稀疏编码算法是一种无监督学习方法,用它可以寻找出一组“超完备”基向量来更高效地表示输入数据。
总之任何对Deep Learning算法的改进,都是为了提取出最佳特征,并使用优秀的分类算法来分类、预测或推理,最终降低算法的错误率。而对于怎样改进算法,以何种方式降低错误率,则没有具体的限制。并且各种提取特征和特征选择的算法之间并不是互斥的,它们之间可以有各种形式的嵌套,最终的目标都是提高算法的正确率和效率。
3 结束语
Deep Learning使得语音、图像和文本等的智能识别和理解取得惊人进展,如Google Brain项目和微软推同声传译系统。它极大地推动了人工智能和人机交互快速发展。随着从学术界到工业界的广泛重视,Deep Learning算法的改进依然在继续,Deep Learning算法的正确率和效率仍在不断提高。Deep Learning的发展将加快“大数据+深度模型”时代来临。
参考文献:
[1]Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006(5786):504-507
[2]汤姆・米切尔.机器学习[M].北京:机械工业出版社,2003:1-280.
[3]吴昌友.神经网络的研究及应用[D].哈尔滨:东北农业大学,2007.
[4]HINTON G,OSINDERO S,TEH Y. A fast learning algorithm for deep belief nets[J].Neural Computation,2006(07):1527-1554.
[5]Hubel D H, Wiesel T N. Receptive fields,binocular interaction and functional architecture in the cat's visual cortex[J].The Journal of physiology,1962(01):106.
[6]Chuang Gao,Bin Chen,Wei Wei.Dynamic detection of wake-sleep transition with reaction time-magnitude[J].Neural Regenerattion Research,2009(07):552-560.
当今的社会是信息的社会。要使信息得到及时利用,为国民经济和科学技术以及国防工业的发展服务,必须对信息数据的采集、加工处理、传输、存储、决策和执行等进行全面的技术革新,以适应社会发展形式的需求。因此,信息科学技术有着极其广泛的重要应用领域,如通信、雷达、声纳、电子测量仪器、生物医学工程、振动工程、地震勘探、图像处理、计算机科学等。各领域的电子信息系统往往具有不同的性能和特征,但是电子信息系统设备的设计都涉及到信息表征和信息处理技术,如果这种信息科技能获得新的突破,电子信息系统产品将走上新的台阶。
当前信息系统智能化和具有高的鲁棒性及容错性是值得研究的重大问题,虽然人工智能和专家系统已取得好的成绩,但还不适应信息社会发展的需求,需寻求新的发展途径。21世纪被称为“智能化世纪和人工神经网络世纪”,信息科学与脑科学、认知科学、神经生物学、计算机科学、非线性科学、数学、物理学诸学科相结合所产生的神经计算科学,为实现新的信息表征和信息处理提供了新的手段,将使信息技术和信息系统智能化得到飞跃的发展。
21世纪是信息社会的智能化时代,信息高速公路的发展加速了通信技术和多媒体通信系统进入网络化、智能化进程;开拓国际互联网,使千家万户能在因特网和大型计算机网络上搜索和浏览各种信息,这都涉及到通信系统和信息处理系统的高度智能化问题。
现代信息处理要解决的问题往往是很复杂的,它要完成由输入空间到输出空间的映射,这个映射可以是线性的,也可以是非线性的,所以信息处理系统是有序结构的物理系统中的映射,恰好是与神经网络信息处理同构。
2 人工神经网络信息处理
一般来说,智能信息处理可以划分为两大类,一类为基于传统计算机的智能信息处理,另一类为基于神经计算的智能信息处理。前者信息系统包括智能仪器、自动跟踪监测仪器系统、自动控制制导系统、自动故障诊断和报警系统等。在人工智能系统中,它们具有模仿或代替与人的思维有关的功能,通过逻辑符号处理系统的推理规则来实现自动诊断、问题求解以及专家系统的智能。这种智能实际上体现了人类的逻辑思维方式,主要应用串行工作程序按照一些推理规则一步一步进行计算和操作,应用领域很广。后者是用人工神经网络来模仿延伸人脑认知功能的新型智能信息处理系统,即仿造人脑的思维、联想记忆、推理及意识等高级精神活动的智能,这类神经智能系统可以解决传统方法所不能或难以解决的问题。例如美国研制出的一种电子“侦探”(苏联《科学与生活》,1990年),就是用神经网络做的能辨识人面孔的智能系统,只要让它看一下某人或他的照片就能记住描述此人面貌的256个数字参数,同时能记住达500人,思考辨认时间总共为1s。人工神经网络系统具有很高的容错性和鲁棒性及自组织性,即使连接线被破坏了50%,它仍能处在优化工作状态,这在军事系统电子设备中有着特别重要的意义,故美国无人侦察飞机已用上这种神经信息系统。美国许多公司生产的神经网络芯片及神经智能系统已商品化。今年最新报导:美Attrasoft公司做出世界上最大的百万个神经元的神经网络(软件)。
3 盲信号处理技术
盲信号处理包括多个信源混合的盲源分离、多通道传输信道的参数估计和系统辨识、盲解卷积和盲均衡技术、盲阵列信号处理和盲波束形成技术等,在通信、雷达、声纳、控制工程、地震勘探、生物医学工程等领域有着极其重要的应用价值,是国际上非常重视的热门研究课题。从数学上讲,盲信号处理问题可以用X(t)=AS(t)来描述,这里X(t)是已知观测数据矢量,而信号矢量S(t)和系统参数矩阵A都是未知的,如何只由观测矢量X(t)来推求S(t)或A,其解将存在不定因素,可能有许多不同的两个量相乘而得到同一个观测数据X(t)。求解这类问题是一个国际性的盲处理难题,但该问题有很高的实用价值。图像、语声、中文诗词及英文文字等多媒体信息混合后的盲分离问题,最高信号干扰之比高于70dB。
关键词:图像采集和处理;图像检测;Gabor纹理滤波;神经网络
DoI:10.15938/j.jhust.2016.06.009
中图分类号:TPl83;TP391.4
文献标志码:A
文章编号:1007-2683(2016)06-0044-06
0.引言
钢铁企业为了提高竞争力,对带钢的生产提出了新的要求,也对带钢表面检测系统提出了更高的要求,既要有更高的检测速度还要有更加准确的检测精度,而与此同时,跟随机器视觉技术的发展,带钢表面检测系统也得到了广泛的研究与应用,主要研究包括:①光源技术,由于带钢检测对光源要求频度高、体积小,这限制了传统光源在其应用,激光具有方向性好、亮度高、体积小等优点,被广泛应用于带钢检测应用中,国内的徐科等提出热轧钢检测中用绿光作为激光光源,但激光照明需解决均匀性问题.②扫描技术,由于电荷耦合元件(charge-coupled device,CCD)能够实现实时检测,成为目前研究和应用的主流技术,但是,CCD电荷耦合器需在同步时钟的控制下,以行为单位一位一位地输出信息,速度较慢,而互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)光电传感器采集光信号的同时就可以取出电信号,还能同时处理各单元的图像信息,速度比CCD电荷耦合器快很多,③图像处理算法,受限于带钢加工过程的特性,带钢表面呈现出随机纹理的特点,对于随机纹理图像的处理分析,目前常用的方法有共生矩阵法、频域滤波法、分形法等,作为频域滤波法的代表,二维Gabor滤波器有着与生物视觉系统相近的特点,广泛应用于纹理图像的处理分析,但是,CPU很难满足现在的带钢检测的实时要求,④分类算法,特征选择的主流算法是主成分分析和信息增益,主成分分析存在特征向量方向不一致的问题,而且如何确定主成分存在主观性,信息增益可以衡量特征的劣,利用它可对特征进行排序,方便后面的特征选择,但信息增益适用于离散特征,信息增益率既适用于离散特征也适用于连续特征,被广泛应用于特征选择的过程中,图像分类算法主流算法包括支持向量机和BP神经网络,支持向量机不适用于大样本的分类问题,BP神经网络方法具有能够解决非线性分类问题,对噪声不敏感等优点,被广泛应用于带钢检测中,如王成明等提出的基于BP神经网络的带钢表面质量检测方法等,但是BP神经网络的超参的设定往往具有随机性,这严重影响了分类效果。
本文首先介绍了带钢表面缺陷高速高分辨率成像系统的设计,针对光源的不均匀性、图像处理速度慢等问题,提出改进方法,然后介绍了分类器的构建,针对样本划分的随机性、特征选择的随机性以及BP神经网络超参设定的随机性问题,做出改进,最后介绍试验结果。
1.带钢表面缺陷高速高分辨率的成像系统的设计
1)大功率半导体均匀发光激光器技术,激光能够保证带钢表面缺陷的检出率,本系统选用808mm半导体激光器作为照明源,出光功率可达30w,亮度可达1500流明,激光照明需解决均匀性的问题,本文采用了基于鲍威尔棱镜的激光线发生办法,解决了激光照明的均匀性问题,其光路如图1所示。
该方法首先在激光聚焦位置放置圆形球面透镜,负责将发散的激光束汇聚成准平行光,同时控制光柱的粗细,然后,利用鲍威尔棱镜的扩散效果对圆柱的一个方向进行扩束,最终形成激光线,为保证亮度及宽度的适应性,激光器出光口距离圆透镜、鲍威尔棱镜的距离可以精密调整,为了降低反射亮度损失,在透镜表面镀上808±5nm的T≥99%的增透膜。
GPU的算法分为两个流程:训练过程主要针对无缺陷图像进行,通过训练完成纹理图像的背景建模,一方面消除背景变化带来的干扰,另一方面形成有效的Gabor卷积参数,以便在检测过程中得到最优的检出效果.检测过程对实际拍摄的缺陷图像进行分析,首先按照GPU的核心数和缓存大小对图像进行分解,本文所有GPU的核心数为1024,显存2G,因此将原始图像分解为1000块,分别加载到1000个核心中,同时并发运行卷积运算.最后将各个窗口的卷积结果合并到一起,得到完成的滤波结果,最后借助于背景模式,将背景的干扰消除,得到干净的缺陷区域。
3)成像系统,根据缺陷检测的精度要求(1800m/min的检测速度,0.25mm的精度),带钢的规格要求(1900 mm规格),对带钢进行成像系统设计,基于互补金属氧化物半导体(CMOS)的成像芯片具有速度快,用电低等优势,选用两个4K线扫描CMOS相机作为成像核心器件,选用Camera Link Full接口作为数据输出,两个4K扫描中间重叠100mm作为图像拼接区,两组线激光光源与线扫描组成系统的主要成像模块,成像系统结构如图3所示。
2.构建分类器
检测缺陷类别及其特征描述如表1所示:
1)训练集和样本集划分.主要缺陷类别有5个,每个类别收集样本7000,共计35000个样本,为了避免训练集和样本集划分的盲目性,采用10一折交叉验证的方式划分训练集和测试集,即将样本集分成10份,从中选1份为测试集,剩下的为训练集,如图4所示,究竟选择哪一份作为测试集,需在后面的嵌套循环中实现。
2)特征选择,缺陷区域的长度、宽度、面积、区域对比度等共计138个特征形成初始特征集合,利用信息增益率来对各个特征排序。
上述各循环组合在一起就是一个嵌套循环,其N-S盒图如图5所示,最外层是测试集和训练集的10折交叉验证,第1层是确定最优的特征数,第3层是确定最优的隐含层节点数,第4、5层是确定最优的输入层和隐含层、隐含层和输出层的初始权值。
经以上循环,确定D3作为测试集,最优特征数为23个,最优的隐含层节点数是46个,同时也确定了最优的初始权值,对应的3层BP神经网络的网络模型如图6所示。
3.实验结果
1)鲍威尔棱镜与柱透镜进行对比在实际工作距离1.5m处,采用0.1m为间隔使用光功率计测试光源功率,如图7所示,横轴为测试点,纵轴为测试点的光功率。实验表明,鲍威尔棱镜均匀性优于柱透镜。
2)Gabor滤波方法与其他方法比较将动态阈值法+Blob分析法(方法A)和灰度共生矩阵纹理背景消除法(方法B)两种方法与Gabor滤波方法进行比较,如图8所示.由于缺陷与背景灰度相近(图(a)),致使方法A缺陷丢失(图(b)),由于缺陷与背景纹理相近(图(d)),致使方法B产生噪声(图(e)),Gabor方法取得了不错的效果(图(e)、(图(f)))。
3)GPU与CPU比较以4096×4096的图像为例,选10幅有代表性图像,利用CPU(最新的inteli7-2600处理器,4核8线程,2.6GHz,内存8G)和GPU(nVidiaGTX970,4G存显卡)进行Ga-bor运算,计算时间如表2所示,GPU计算效率明显优于CPU,其中CPU的平均耗时为290.4ms,而GPU的平均耗时为31.7ms。
4)检测效果在产线速度为1775m/min,最小检测缺陷的尺寸为0.25mm的检测系统中,对带钢的主要4种类型缺陷进行检测统计,检测结果如表3所示。
可计算出整体检出率99.9%,检测准确率99.4%。
关键词:智能科学与技术;兴趣导向;逆向教学
0引言
智能科学与技术是信息科学与技术的核心、前沿与制高点,也是整个现代科学技术体系的头脑中枢,是现代科学技术创新的引领和示范,是现代社会(包括经济、社会、文化、民生、国防等)走向智能化的主导技术支柱。在越来越激烈尖锐的国际竞争环境中,智能科学与技术水平已经成为一个国家综合国力与科技实力的标志。智能科学与技术的发展和智能科学与技术学科的人才培养,不仅仅是智能科学与技术研究与教育本身的事情,更是关系到整个社会智能化发展优劣的大事情,也是关系到整个国家强弱兴衰的大事情。
科技发展,关键在于人才。在新的发展机遇下,国家对智能科学与技术专门人才的需求更加旺盛。因此,如何促进智能科学与技术教学方式的改革是培养厚基础、高层次的智能科学与技术人才的基本途径。智能科学与技术教学方式的改革,不仅发展智能科学与技术本身,而且对受教育者创新能力的提高也至关重要。
目前,网络的普及与全社会信息化程度的提高,对我国人才培养提出了更高的要求,特别是高校在课堂教学方面,部分原有教材及培养模式亟待调整。以智能科学与技术为代表的前沿新兴学科,在学科发展途径、应用技术转化及从业人员年龄、成长环境等方面,均与很多传统学科存在较大的差异,而使用传统教学方式进行人才培养,也出现了一些水土不服的现象。
1教学理念的改变
相对于传统学科,智能科学与技术从业人员平均年龄显现出年轻化的特点,且由于从业人员及学生普遍年龄较轻,在他们的成长过程中,外在环境相对宽松,自由、平等的理念在他们的成长过程中不断被提及和强化。传统“教师讲、学生听”的演讲式讲授方式虽然能够在一定时间内让学生了解大量信息,但学生接收到的大部分信息只停留在记忆层面,很难上升到理解层面,导致学生只是被动的“填鸭式”接受。
在科技发达、网络互联的今天,人们不是自投罗网就是被网罗其中,知识获取的渠道不再局限于纸质媒介和言传身教,更多来自于电子资源及网络媒介,教师和学生获取知识的途径及资源差异越来越小,在知识量、阅历等方面缩小了师生间的差距,师生之间传统的信息不对称差距逐步缩小,导致教师在知识积淀上没有了绝对优势。
与此同时,逐步深入青年学生内心的自由、平等观念对中国传统的尊师重道思想带来了不小的冲击。在当今开放的网络环境下,针对新兴时代的学生,传统习俗中的师长观念由于知识获取渠道的平等化而缺乏强有力的现实支撑,教师的身份权威性和知识权威性都受到了不同程度的质疑,继续使用“填鸭式”“训导式”教学方式,将会事倍功半。
因此,针对新兴学科,一线教师需要进行教学理念上的修正,特别是教师应顺应培养对象的整体特点,基于自由和平等的观念进行自我定位,以交流讨论式代替居高临下布施式的教学观念,充分与学生打成一片,以便更好地调动学生的思维,引导学生进行主动思考和主动学习。
2教学素材的改进与提高
当今时代是知识爆炸的时代,科学技术日新月异,新知识、新成果层出不穷,特别是智能科学与技术这一前沿学科,正在向理论创新和大规模实际应用发展,新理论、新方法不断被提出并验证,新模型、新实例、新应用不断产出。
“教学素材对教育理念的渗透发挥着重要作用,它已经成为促进或阻碍教学模式转变的活跃而关键的要素。随着新时代知识的快速更新换代和知识面的不断拓宽,教学素材是否优秀的标准不仅仅是包含多少知识,更重要的是包含多少最新的知识;不仅仅是传递解决问题的方法,更重要的是传递超前、新颖的解决问题的方法。
当今学生知识涉猎面广,现有的网络环境也为他们提供了很好的平台,如果他们已经获取的知识及应用的先进程度远远超过课本素材罗列的知识,将会极大地削弱他们对本学科的兴趣,进而影响课堂教学效果。
此外,作为智能科学与技术这一前沿学科的教学素材,必须体现出时代性、开放性、多元性与全面性。因此,教学过程中所采用素材的改进和提高,应该向着不断更新、与时俱进的方向靠拢,教师应该不断将最新理论、最新方法、最新应用融合于一线基础教学过程中,使学生在学习过程中始终紧跟前沿技术的发展,在未来工作中能更快、更好地融入行业中。
3教学方式的转变
目前,学生群体主要为90后,高校即将迎来00后,他们成长过程中的家庭环境和社会环境与早期学生相比更为平等和宽松,他们的学习需求也由目标导向型逐步演化为兴趣导向型。因此,如何激发学生的兴趣,进而以兴趣为基础激发学生自主学习的动力,将是教学效果事半功倍的途径。
青年学生正处于思维高度活跃的阶段,他们往往对新兴成果和前沿热点有着超过常人的关注,如何巧妙而有效地将这种关注转化为针对本学科的兴趣,进而反向推导出基础理论并让学生消化、吸收,就成为一线教师面临的重要问题。
从1997年国际象棋大师卡斯帕罗夫和电脑“深蓝”第一次人机大战开始,智能科学与技术迅速跻身科技前沿热点,且经久不衰。2016年3月,Alpha Go再次燃起人工智能之火,经过媒体的推波助澜,成为社会关注的焦点,大大增强了智能科学与技术的关注度。而青年学生作为最容易追赶潮流的群体,自然对此类热点趋之若鹜。
作为智能科学与技术学科的一线教师,应把握和利用社会舆论的潮流以及学生心理的律动,及时以此热点为突破口,吸引学生的兴趣,引起共鸣,进而进行反向推导相关基础理论并加以详解。
例如,教师以Alpha Go为课堂开篇讨论,引导学生思考,并说明Alpha Go的核心原理是深度学习。在这个实例中,Alpha Go模拟人类下棋的推理与思考过程,其中推理过程通过搜索树来搜索可能的棋局,思考过程通过两个深度神经网络确定可能的搜索方向和评估棋局,这两个神经网络包括:
(1)落子选择器(policy network),这是一种深度卷积神经网络,主要通过当前棋盘布局预测下一步走棋位置的概率。
(2)棋局评估器(value network),与落子选择器具有相似的结构,主要在给定棋子位置的情况下,输出双方棋手获胜的可能性,从而对棋局进行评估。
如此,教师可以带领学生了解搜索树及搜索算法,也可以从深度卷积神经网络到普通神经网络,讲解神经网络的基础知识,分析神经网络到深度学习的发展过程。这样就可以将学生对Alpha Go本身的兴趣,巧妙地引导到对神经网络等基础概念和原理方面,以此强化学生对基础知识的掌握。
同时,开放式的考核方式也是促进学生创新、使教学方法适应新时代的一种有效途径。对于本学科感兴趣的话题,教师应鼓励学生多谈自己的思路和想法;对于开放式课题,应给学生提供展示的舞台,鼓励学生分享自己在查找资料、解决难点、编程过程中的心得体会,充分调动学生的积极性和主动性;将这些考核成绩按比例计入学生课业总成绩中,充分肯定学生的创新能力。
4结语
教学成效是设计和构建教学方式的基本出发点,教师应该结合学生需求从学习成效、教学技巧、教学内容上总体把握教学方式阁,采用不同于传统讲授方式的逆向教学(如图1所示),使其满足和顺应新一代青年学生的心理认同需求和学习需求,将新理论、新应用不断融入基础教学中,达到更好的教学效果。
关键词:蛋白质二级结构预测;基团编码;正交编码;SVM
0引言
氨基酸序列的研究是生物信息学中对生物序列展开探讨设计的主要工作,氨基酸序列决定了蛋白质的空间结构,而蛋白质的空间结构决定了蛋白质生理功能的多样性。在利用x射线结晶学及核磁共振等技术对蛋白质结构进行探测时发现,蛋白质结构有4个层次,蛋白质的二级结构是认识了解蛋白质的折叠模式和三级结构的基础,进一步为研究蛋白质的功能以及彼此之间的相互作用模式提供结构基础,同时还可以为新药研发提供帮助。故研究蛋白质的二级结构具有重要的意义。