前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的卷积神经网络的优势主题范文,仅供参考,欢迎阅读并收藏。
【关键词】深度神经网络 序列到序列网络 卷积网络 对抗式生成网路
1 深度神经网络起源
人工神经网络(ArtificialNeuralNetworks,ANN)研究是人工智能领域的一个重要分支,在对生物神经网络结构及其机制研究的基础上,构建类似的人工神经网络,使得机器能直接从大量训练数据中学习规律。其研究最早可以追溯到1957年Frank Rosenblatt提出的感知机模型,他在《The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain》建立了第一个人工神经网络数学模型,19世纪80年代末期反向传播(Back Propagation)算法的发明更是带来了ANN的学习热潮,但由于理论分析难度较大,训练方法及技巧尚不成熟,计算机运算能力还不够强大,这个时期ANN结构较为简单,大部分都可等价为单隐层神经网络,主要是进行浅层学习(Shallow Learning)研究。
2006年Geoffrey Hinton在《A Fast Learning Algorithm for Deep Belief Nets》中提出了逐层贪婪预训练(layerwise greedy pretraining),显著提高了MNIST手写数字识别的准确率,开创了深度学习的新方向;随后又在《Reducing the Dimensionality of Data with Neural Networks》中提出了deep autoencoder结构,在图像和文本降维实验上明显优于传统算法,证明了深度学习的正确性。以这两篇论文为开端,整个学术界掀起了对深度学习的研究热潮,由于更多的网络层数和参数个数,能够提取更多的数据特征,获取更好的学习效果,ANN模型的层数和规模相比之前都有了很大的提升,被称之为深度神经网络(Deep Neural Networks,DNN)。
2 深度神经网络的现代应用
2010年以来,随着理论不断创新和运算能力的增长,DNN被应用到许多领域并取得了巨大的成功。2011年微软和谷歌的研究员利用DNN将语音识别的错误率降低了20%~30%;2012年在ImageNet图像识别挑战赛(ILSVRC2012)中DNN更是将识别错误率从26%降到了15%;2016年3月DeepMind团队研发的围棋软件AlphaGO以4:1的巨大优势战胜了世界围棋冠军李世石,2017年1月初AlphaGO的升级版Master以60:0的战绩击败了数十位中日韩围棋高手。当前对DNN的研究主要集中在以下领域:
2.1 语音识别领域
微软研究院语音识别专家邓立和俞栋从2009年开始和深度学习专家Geoffery Hinton合作,并于2011年宣布推出基于DNN的识别系统,彻底改变了语音识别的原有技术框架;2012年11月,百度上线了第一款基于DNN的语音搜索系统,成为最早采用DNN技术进行商业语音服务的公司之一;2016年微软使用循环神经网络语言模型(Recurrent Neural Network based Language Modeling,RNN-LM)将switchboard的词识别错误率降低到了6.3%。
2.2 图像识别领域
早在1989年,YannLeCun和他的同事们就提出了卷积神经网络(Convolution Neural Networks,CNN)结构。在之后的很长一段时间里,CNN虽然在诸如手写数字问题上取得过世界最好的成功率,但一直没有被广泛应用。直到2012年10月,Geoffrey Hinton在ILSVRC2012中使用更深的CNN将错误率从26%降到15%,业界才重新认识到CNN在图像识别领域上的巨大潜力;2012年谷歌宣布基于CNN使得电脑直接从一千万张图片中自发学会猫脸识别;2013年DNN被成功应用于一般图片的识别和理解;2016年DeepMind团队基于CNN研发了围棋AI,并取得了巨大成功。
2.3 自然语言处理领域
2003年YoshuaBengio等人提出单词嵌入(word embedding)方法将单词映射到一个矢量空间,然后用ANN来表示N-Gram模型;2014年10月NEC美国研究院将DNN用于自然语言处理(Natural language processing,NLP)的研究工作,其研究员Ronan Collobert和Jason Weston从2008年开始采用单词嵌入技术和多层一维卷积的结构,用于POS Tagging、Chunking、Named Entity Recognition、Semantic Role Labeling等四典型NLP问题;2014年IlyaSutskever提出了基于LSTM的序列到序列(sequence to sequence,seq2seq)网络模型,突破了传统网络的定长输入向量问题,开创了语言翻译领域的新方向;2016年谷歌宣布推出基于DNN的翻译系统GNMT(Google Neural Machine Translation),大幅提高了翻译的精确度与流畅度。
3 深度神经网络常见结构
DNN能够在各领域取得巨大成功,与其模型结构是密不可分的,现代DNN大都可归纳为三种基本结构:序列到序列网络、卷积网络、对抗式生成网络,或由这三种基本网络结构相互组合而成。
3.1 序列到序列网络
序列到序列网络的最显著特征在于,它的输入张量和输出张量长度都是动态的,可视为一串不定长序列,相比传统结构极大地扩展了模型的适应范围,能够对序列转换问题直接建模,并以端到端的方式训练模型。典型应用领域有:自动翻译机(将一种语言的单词序列转换为另一种语言的单词序列),语音识别(将声波采样序列转换为文本单词序列),自动编程机研究(将自然语言序列转换为语法树结构),此类问题的特点在于:
(1)输入和输出数据都是序列(如连续值语音信号/特征、离散值的字符);
(2)输入和输出序列长度都不固定;
(3)输入输出序列长度没有对应关系。
其典型如图1所示。
网络由编码器(encoder)网络和解码器网络(decoder)两部分连接构成:
3.1.1 编码器网络
编码器网络通常是一个递归神经网络(Recurrent Neural Networks,RNN),网络节点一般使用长短期记忆模型(Long Short Term Memory,LSTM)实现,序列中里第t个张量xt的输出yt依赖于之前的输出序列(y0、y1…yt-1),输入序列(x0、x1、x2…)那爸梁笠来问淙胪络,整个序列处理完后得到最终的输出Y以及各层的隐藏状态H。
3.1.2 解码器网络
解码器网络是一个与编码器网络结构相同的RNN网络,以解码器的最终输出(Y,H)为初始输入,使用固定的开始标记S及目标序列G当作输入数据进行学习,目标是使得在X输入下Y和G尽量接近,即损失度函数f(X)取得最小值。
解码器网络属于典型的监督学习结构,可以用BP算法进行训练,而编码器网络的输出传递给了解码器网络,因此也能同时进行训练。网络模型学习完毕后,将序列X输入编码器,并将起始标记S输入解码器,网络就会给出正确的对应序列。
3.2 卷积神经网络
卷积神经网络将传统图像处理的卷积运算和DNN相结合,属于前馈神经网络,是在生物视觉皮层的研究基础上发展而来的,在大型图像处理上有出色表现。CNN一般由多个结构相似的单元组成,每个单元包含卷积层(convolution layer)和池化层(poolinglayer),通常网络末端还连接全联通层(fully-connected layer,FC)及Softmax分类器。这种结构使得CNN非常适合处理二维结构数据,相比其它DNN在图像处理领域上具有天然优势,CNN的另一优势还在于,由于卷积层共享参数的特点,使得它所需的参数数量大为减少,提高了训练速度。其典型结构如图2所示:
3.2.1 卷积层(Convolutional layer)
卷积层由若干卷积核构成,每个卷积核在整个图像的所有通道上同时做卷积运算,卷积核的参数通过BP算法从训练数据中自动获取。卷积核是对生物视觉神经元的建模,在图像局部区域进行的卷积运算实质上是提取了输入数据的特征,越深层的卷积层所能提取到的特征也越复杂。例如前几个卷积层可能提取到一些边缘、梯度、线条、角度等低级特征,后续的卷积层则能认识圆、三角形、长方形等稍微复杂的几何概念,末尾的卷积层则能识别到轮子、旗帜、足球等现实物体。
3.2.2 池化层(Poolinglayer)
池化层是卷积网络的另一重要部分,用于缩减卷积层提取的特征图的尺寸,它实质上是某种形式的下采样:将图像划分为若干矩形区块,在每个区块上运算池化函数得到输出。有许多不同形式的池化函数,常用的有“最大池化”(maxpooling,取区块中数据的最大值)和“平均池化”(averagepooling,取区块中数据的平均值)。池化层带来的好处在于:
(1)减小了数据尺寸,降低参数的数量和计算量;
(2)模糊了各“像素”相对位置关系,泛化了网络识别模式。
但由于池化层过快减少了数据的大小,导致,目前文献中的趋势是在池化运算时使用较小的区块,甚至不再使用池化层。
3.3 生成式对抗网络(Generative Adversarial Network,GAN)
生成式对抗网络最初由Goodfellow等人在NIPS2014年提出,是当前深度学习研究的重要课题之一。它的目的是收集大量真实世界中的数据(例如图像、声音、文本等),从中学习数据的分布模式,然后产生尽可能逼真的内容。GAN在图像去噪,修复,超分辨率,结构化预测,强化学习中等任务中非常有效;另一重要应用则是能够在训练集数据过少的情况下,生成模拟数据来协助神经网络完成训练。
3.3.1 模型结构
GAN网络典型结构如图3所示,一般由两部分组成,即生成器网络(Generator)和识别器网络(Discriminator):
(1)生成器网络的目标是模拟真实数据的分布模式,使用随机噪声生成尽量逼真的数据。
(2)识别器的目标是学习真实数据的有效特征,从而判别生成数据和真实数据的差异度。
3.3.2 训练方法
GAN采用无监督学习进行训练,输入向量z一般由先验概率概率pz(z)生成,通过生成器网络产生数据G(z)。来自训练集的真实数据的分布为pdata (x),GAN网络的实质是学习该特征分布,因此生成的数据G(z)必然也存在对应的分布pg (z),而识别器网络则给出数据来自于真实数据的概率D(x)以及D(G(z) )。整个训练过程的实质就是生成器网络和识别器网络的博弈过程,即找到
4 深度神经网络研究展望
DNN虽然在各大领域都取得了重大的成功,甚至宣告了“智能时代”的来临,但是与人类大脑相比,DNN在许多方面仍有显著差距:
4.1 识别对抗样本的挑战
对抗样本是指在数据集中添加微小的扰动所形成的数据,这些数据能使网络以极高的置信度做出错误的判别。在网络实际使用过程中会带来非常大的问题,比如病毒制造者可能刻意构造样本来绕过基于DNN的安全检查网络。部分研究指出问题的根因可能在于DNN本身的高度非线性,微小的扰动可能在输出时产生巨大的差异。
4.2 构造统一模型的挑战
DNN虽然在很多领域都取得了巨大的成功,但无论是序列到序列网络、卷积网络、还是对抗式生成网络都只适应于特定领域,与此相对的则是,人类只用一个大脑就能完成语音、文本、图像等各类任务,如何构建类似的统一模型,对整个领域都是极大的挑战。
4.3 提高训练效率的挑战
DNN的成功依赖于大量训练数据,据统计要使得网络学会某一特征,平均需要50000例以上的样本,相比而言人类只需要少量的指导即可学会复杂问题,这说明我们的模型和训练方法都还有极大的提高空间。
参考文献
[1]ROSENBLATT F.The perceptron:a probabilistic model for information storage and organization in the brain [M].MIT Press,1988.
[2]HINTON G E,OSINDERO S,TEH Y W.A fast learning algorithm for deep belief nets [J].Neural Computation,1989, 18(07):1527-54.
[3]HINTON G E,SALAKHUTDINOV R R. Reducing the Dimensionality of Data with Neural Networks[J].Science, 2006,313(5786):504.
[4]SEIDE F,LI G,YU D.Conversational Speech Transcription Using Context-Dependent Deep Neural Networks; proceedings of the INTERSPEECH 2011, Conference of the International Speech Communication Association, Florence,Italy,August,F,2011 [C].
[5]OQUAB M,BOTTOU L,LAPTEV I,et al. Learning and Transferring Mid-level Image Representations Using Convolutional Neural Networks; proceedings of the Computer Vision and Pattern Recognition,F,2014 [C].
[6]SILVER D,HUANG A,MADDISON C J,et al.Mastering the game of Go with deep neural networks and tree search [J].Nature,2016,529(7587):484.
[7]XIONG W,DROPPO J,HUANG X,et al.The Microsoft 2016 Conversational Speech Recognition System[J].2016.
[8]LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition [J].Proceedings of the IEEE,1998,86(11):2278-324.
[9]BENGIO Y,DELALLEAU O, LE R N,et al.Learning eigenfunctions links spectral embedding and kernel PCA [J].Neural Computation,2004,16(10):2197-219.
[10]LEGRAND J,COLLOBERT R.Recurrent Greedy Parsing with Neural Networks [J].Lecture Notes in Computer Science,2014,8725(130-44.
[11]SUTSKEVER I,VINYALS O,LE Q V. Sequence to Sequence Learning with Neural Networks [J].Advances in Neural Information Processing Systems,2014,4(3104-12.
[12]WU Y,SCHUSTER M,CHEN Z,et al. Google's Neural Machine Translation System:Bridging the Gap between Human and Machine Translation [J]. 2016.
[13]GOODFELLOW I J,POUGETABADIE J,MIRZA M,et al.Generative Adversarial Networks [J].Advances in Neural Information Processing Systems,2014,3(2672-80.
作者挝
关键词:人脸识别技术;病毒管控;人工智能;神经网络
互联网在今天的社会中发挥着举足轻重的作用。如今社会,随着许多人工智能技术、网络技术、云计算等互联网技术不断发展,像人脸识别等技术的应用越来越广泛,在控制病毒传播途径等场合发挥了巨大作用,不断地提高着社会的安全性和便利性,不仅提高了防控中病毒检测效率,也为病毒的控制提供了可靠的技术方法,能够及时发现和控制公共场所的安全隐患因素,避免对社会经济、居民生活造成破坏,。但目前的人脸识别等技术还存在许多缺陷,需要完善和革新,充满着巨大的潜力和进步空间。
1人脸识别技术研究意义
人脸识别技术是一种生物特征识别技术,最早产生于上世纪60年代,基于生理学、图像处理、人机交互及认知学等方面的一种识别技术。相比于其他人类特征像指纹识别、声纹识别、虹膜识别等技术,人脸识别虽然存在人脸识别单一性低,且区分度难度高、易受环境影响等不足。但是人脸识别技术拥有速度快、大范围群体识别及非接触、远距离可识别等优势,都是其他生物识别识别技术所不具备的,而在传播性强、感染风险大的病毒传播过程中,这些显然是必须要考虑的重要影响因素。通过将人脸识别等人工智能技术引入信息管理系统,综合集成视频监控、图像处理、深度学习和大数据等技术,结合非接触测温、定位等技术,助力病情防控,在一定程度上推动病毒病情防控信息化、智能化发展进程。可作为加强公共场所的人员的体温实时监测、地址信息定位的监控管理,规范公共场所针对病毒传播的预防行为。
2人脸识别技术
2.1人脸检测技术
人脸检测是自动人脸识别系统中的一个关键环节。早期的人脸识别研究主要针对具有较强约束条件的人脸图象(如无背景的图象),往往假设人脸位置静止或者容易获取。人脸检测分为前深度学习时期,AdaBoost框架时期以及深度学习时期。前深度学习时期,人们将传统的计算机视觉算法运用于人脸检测,使用了模板匹配技术,依赖于人工提取特征,然后用这些人工特征训练一个检测器;后来技术发展,在2001年Viola和Jones设计了一种人脸检测算法,它使用简单的Haar-like特征和级联的AdaBoost分类器构造检测器,检测速度较之前的方法有2个数量级的提高,并且保持了很好的精度,称这种方法为VJ框架。VJ框架是人脸检测历史上第一个最具有里程碑意义的一个成果,奠定了基于AdaBoost目标检测框架的基础,使用级联AdaBoost分类器进行目标检测的思想是:用多个AdaBoost分类器合作实现对候选框的分类,这些分类器组成一个流水线,对滑动窗口中的候选框图像进行判定,确定检测目标是人脸还是非人脸。Adaboost框架技术的精髓在于用简单的强分类器在初期快速排除掉大量的非人脸窗口,同时保证高的召回率,使得最终能通过所有级强分类器的样本数数量较少。在深度学习时期,开始将卷积神经网络应用于人脸检测领域。研究方向有两种:一是将适用于多任务的目标检测网络应用于人脸检测中;另一种是研究特定的的人脸检测网络。人脸检测技术具有特殊唯一性和稳定性,在现今社会对于构建居民身份识别系统,病毒传播防控系统,以及计算机视觉交互模型的构建具有广泛的应用。人脸检测技术不仅作为人脸识别的首要步骤,也在许多其他领域发挥巨大影响,如人脸关键点提取、人脸追踪、基于内容的检索、数字视频处理、视频检测、安防监控、人证比对、社交等领域都有重要的应用价值。数码相机、手机等移动端上的设备已经大量使用人脸检测技术实现成像时对人脸的对焦、图集整理分类等功能,各种虚拟美颜相机也需要人脸检测技术定位人脸。评价一个人脸检测算法好坏的指标是检测率和误报率,我们定义检测率为:算法要求在检测率和误报率之间尽量平衡,理想的情况是达到高检测率,低误报率。
2.2人脸识别技术
目前主要流行的人脸识别技术包括几何特征识别,模型识别,特征脸识别和基于深度学习/神经网络的的人脸识别技术等。人脸特征识别主要通过对人脸面部结构特征如眼睛、鼻子等五官几何特点及其相对位置分布等,生成图像,并计算各个面部特征之间的欧式距离、分布、大小等关系该方法比较简单,反应速度快,并且具有鲁棒性强等优点,但是在实际环境下使用容易受检测的环境的变化、人脸部表情变化等影响,精度通常不高,细节处理上不够完善。模型识别技术主要包括隐马尔可夫模型、主动表象模型、主动形状模型等,识别率较高,并且对表情等变化影响较小。特征脸识别来源于主成分描述人脸照片技术(PCA技术),从数学上来讲,特征脸就是人脸的图像集协方差矩阵的特征向量。该技术能有效的显示人脸信息,效率较高。基于深度学习的人脸识别是获取人脸图像特征,并将包含人脸信息的特征进行线性组合等,提取人脸图像的特征,学习人脸样本数据的内在规律和表示层次。可以采用如三层前馈BP神经网络。BP神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一。BP网络本质上是一种能够学量的输入与输出之间的映射关系的输入到输出的映射,从结构上讲,BP网络具有输入层、隐藏层和输出层;从本质上讲,BP算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。BP神经网路输入层有n个神经元节点,输出层具有m个神经元,隐含层具有k个神经元,采用BP学习算法训练神经网络。BP算法主要包括两个阶段:向前传播阶段和向后传播阶段。在向前传播阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是在网络完成训练后正常运行时执行。将Xp作为输入向量,Yp为期望输出向量则BP神经网络向前传播阶段的运算,得到实际输出表达式为向后传播阶段主要包括两大步骤:①计算实际输出Op与对应理想输出Yp之差;②按极小化误差方法调整带权矩阵。之所以将此阶段称为向后传播阶段,是对应于输入信号的正常传播而言的,因为该阶段都需要收到精度要求进行误差处理,所以也可以称之为误差传播阶段。(1)确定训练集。由训练策略选择样本图像作为训练集。(2)规定各权值Vij,Wjk和阈值Φj,θk参数,并初始化学习率α及精度控制参数ε。(3)从训练集中取输入向量X到神经网络,并确定其目标输出向量D。(4)利用上式计算出一个中间层输出H,再用本式计算出网络的实际输出Y。(5)将输出矢量中yk与目标矢量中dk进行比较,计算输出误差项,对中间层的隐单元计算出L个误差项。(6)最后计算出各权值和阈值的调整量。所以,卷积神经网络算法是通过训练人脸特征库的方式进行学习生成,对不同环境下不同表现情况的人脸图像识别有更高的精确性。
2.3人脸识别软件实现方式
(1)采集人脸数据集,然后对数据集进行标注,对数据进行预处理变成训练格式。(2)部署训练模型,根据训练算法所需依赖部署电脑环境。(3)训练过程,下载预训练模型,将人脸数据集分批次作为输入开始训练,最终输出为训练好的模型。(4)部署训练好的模型,捕获画面即可对画面中的人脸进行实时检测。
3人脸识别在病毒传播防控中的应用
通过人脸识别技术,可以实现无接触、高效率的对流动人员进行信息的收集、身份识别、定位地址信息等操作,大大减少了传染的可能性,切断了病毒传播途径,大大提高了工作效率。通过提前收录人脸信息,采用深度学习对人脸特征模型的训练学习,即可获取人脸识别特征模型,再次验证时即可实现人脸识别和个人信息快速匹配。AI人工智能帮助人们更好的解放双手,为人们的生活和工作提供了重要的帮助。本文还提出了在人脸识别的系统基础上,可以加入定位系统、测温系统等,依托物联网技术和云计算大数据,更加优化管控系统的效率。病毒传播防控中人脸识别系统流程可以概括为图2。
4结语
本文研究了一种人脸识别技术在病毒传播管控系统中的应用,并分析设计了人脸识别实时监测及病毒管控系统的流程,大大提高了信息管理的效率,减弱了传播风险。作为一门新兴技术,目前的人脸识别技术还存在着诸多不足之处,像存在环境光的影响、人脸表情变化、妆容变化、佩戴口罩等都会影响到系统识别精度;另外安全问题也引人深思:现今人脸支付方式迅猛发展,录入的人脸模型信息数据库存在有一定的安全风险,一旦被不法分子盗取信息后果不堪设想,所以模型数据库安全、网络安全,也是系统开发中必须重视的问题。人脸识别为代表的人工智能技术的研究,在病毒传播管控作出重大贡献,依托我国领先的计算机网络技术和5G等技术,加强人工智能技术与5G通信技术的结合,优势互补,以此来加快大数据、人工智能和物联网技术发展进程,对我国社会进步,促进城市建设和管理朝着高效、秩序、和谐稳定的方向不断发展,增强我国的经济实力有着重大价值和研究意义。
参考文献
[1]王彦秋,冯英伟.基于大数据的人脸识别方法[J].现代电子技术,2021,44(7):87-90.
[2]李刚,高政.人脸自动识别方法综述[J].计算机应用研究,2003,20(8):4-9,40.
[3]马玉琨,徐姚文.ReviewofPresentationAttackDetectioninFaceRecognitionSystem[J].计算机科学与探索,2021,7(15):1195-1206.
[4]余璀璨,李慧斌.基于深度学习的人脸识别方法综述[J].工程数学学报,2021,38.
[5]王红星,胡永阳,邓超.基于LBP和ELM的人脸识别算法研究与实现[J].河南理工大学学报(自然科学版),2005.
[6]钟陈,王思翔,王文峰.面向疫情防控的人脸识别系统与标准研究[J].信息技术与标准化,2020,6,11-13,1671-539X.
[6]彭骏,吉纲,张艳红,占涛.精准人脸识别及测温技术在疫情防控中的应用[J].软件导刊,2020,10,1672-7800.
[关键词]主动学习;深度神经网络;反馈;目标识别
中图分类号:TP391.41 文献标识码:A 文章编号:1009-914X(2016)08-0383-01
Object Feedback Recognition System Base on Deep Learning
Hao Liu1,Junyu Dong1,Xin Sun1,Muwei Jian1
[Abstract]This paper proposed a novel deep neural network based object recognition method with a feedback process by using an appropriate active learning method. It selects better non-labeled samples to feedback and retrain the deep neural network model, which makes the accuracy and robustness of the object recognition system improved gradually during use. The experiments show that the proposed method can recognize the target object in a fast way and improve the accuracy of application in the real scene gradually.
[Key words]Active Learning; Deep Neural Network; Feedback; Object Recognition
1.介绍
目标识别一直以来都是机器学习领域研究的前沿问题,近些年来,出现了一些优秀的基于特征的物体识别方法,例如基于梯度信息的SIFT/SURF[1]算法等,但随着数据集样本的增多,逐渐达到了一定的瓶颈。近年来,基于深度学习所提取的抽象特征在物体识别中取得了非常好的表现。2012年Krizhevsky等人通过使用卷积神经网络取得了较高的图像分类准确率。2014年R. Girshick[2]等人所提出的Region Based CNN算法在目标识别领域也取得了较好的结果。虽然这些方法取得了较好的效果,但是日常生活中的场景是多变的,因此需要所得到的模型能够自动学习和适应新的场景和需求,本文将基于RCNN方法提出一种带反馈的自适应学习目标识别算法,它随着反馈的增加,模型越来越完善和智能。
2.相关技术介绍
2.1 RCNN算法
Region Based CNN算法首先使用Selective search算法在图像上产生约2000个候选窗口,进行目标检测。然后使用CNN对每一个候选窗口提取4096维特征来表示每个Proposal,最后用SVM分类器对目标进行分类。
2.2 主动反馈学习
主动学习具有减少冗余和快速收敛的优势。通过一定的主动学习方法选择出一个或一批最有用的样本,并向检查者询问标签,然后利用获得的新知识来训练分类器和进行下一轮查询。本文使用主动学习的思想对反馈识别过程进行控制。
3.基于主动学习的物体反馈识别
目标反馈识别是一个智能化的交互过程,它先使用有限训练数据训练出一个初始分类模型,这个模型对物体进行识别的准确率可能并不高。接下来,我们希望后续的每次识别都能够为模型提供信息,模型依据这些信息重新训练,实现对分类模型的修改与完善。本文基于RCNN算法,首先使用有限标定样本进行训练,利用RCNN 生成一个初始模型。然后每次使用主动学习的方法,从未标记样本集中选择出n0个最有用的、最利于完善分类模型的样本图像;最后利用检查者对样本所做的标记,进一步训练分类器,完善模型,迭代进行,最终实现模型的自动更新达到最优的识别效果。
4.实验
以1.1图的Train图像为例进行识别,图1.2得到识别结果为Bus,识别发生错误,此时使用本文方法进行反馈,系统将结果反馈给分类模型,这样选择出的每张图像都会反馈一个结果来优化模型,迭代进行。如果如图1.3再次对这张图像进行识别,得到识别结果“未检测到Bus”,识别正确,说明反馈过程起到了应有的作用。通过实验可以表明,本文提出的方法会使物体识别变得越来越智能。
5.结论
本文提出的基于深度神经网络的目标反馈识别方法,使用主动学习来对反馈识别过程进行控制,通过对VOC2007数据集中的Train类图像进行识别试验的结果可以看到,本文提出的方法成功提升了目标识别系统的准确度和鲁棒性,逐渐提升了在复杂多样的真实场景下识别目标的准确度,使得系统越来越完善与智能,最终实现了非常好的目标识别效果。
参考文献
20世纪80年代以来,全球范围内移动无线通信得到了前所未有的发展,与第三代移动通信系统(3g)相比,未来移动通信系统的目标是,能在任何时间、任何地点、向任何人提供快速可靠的通信服务。因此,未来无线移动通信系统应具有高的数据传输速度、高的频谱利用率、低功耗、灵活的业务支撑能力等。但无线通信是基于电磁波在自由空间的传播来实现传输的。信号在无线信道中传输时,无线频率资源受限、传输衰减、多径传播引起的频域选择性衰落、多普勒频移引起的时间选择性衰落以及角度扩展引起的空间选择性衰落等都使得无线链路的传输性能差。和有线通信相比,无线通信主要由两个新的问题。一是通信行道经常是随时间变化的,二是多个用户之间常常存在干扰。无线通信技术还需要克服时变性和干扰。由于这个原因,无线通信中的信道建模以及调制编码方式都有所不同。
1.无线数字通信中盲源分离技术分析
盲源分离(bss:blind source separation),是信号处理中一个传统而又极具挑战性的问题,bss指仅从若干观测到的混合信号中恢复出无法直接观测的各个原始信号的过程,这里的“盲”,指源信号不可测,混合系统特性事先未知这两个方面。在研究和工程应用中,很多观测信号都可以看成是多个源信号的混合,所谓“鸡尾酒会”问题就是个典型的例子。其中独立分量分析ica(independent component analysis)是一种盲源信号分离方法,它已成为阵列信号处理和数据分析的有力工具,而bss比ica适用范围更宽。目前国内对盲信号分离问题的研究,在理论和应用方面取得了很大的进步,但是还有很多的问题有待进一步研究和解决。盲源分离是指在信号的理论模型和源信号无法精确获知的情况下,如何从混迭信号(观测信号)中分离出各源信号的过程。盲源分离和盲辨识是盲信号处理的两大类型。盲源分离的目的是求得源信号的最佳估计,盲辨识的目的是求得传输通道混合矩阵。盲源信号分离是一种功能强大的信号处理方法,在医学信号处理,阵列信号处理,语音信号识别,图像处理及移动通信等领域得到了广泛的应用。
根据源信号在传输信道中的混合方式不同,盲源分离算法分为以下三种模型:线性瞬时混合模型、线性卷积混合模型以及非线性混合模型。
1.1 线性瞬时混合盲源分离
线性瞬时混合盲源分离技术是一项产生、研究最早,最为简单,理论较为完善,算法种类多的一种盲源分离技术,该技术的分离效果、分离性能会受到信噪比的影响。盲源分离理论是由鸡尾酒会效应而被人们提出的,鸡尾酒会效应指的是鸡尾酒会上,有声、谈话声、脚步 声、酒杯餐具的碰撞声等,当某人的注意集中于欣赏音乐或别人的谈话,对周围的嘈杂声音充耳不闻时,若在另一处有人提到他的名字,他会立即有所反应,或者朝 说话人望去,或者注意说话人下面说的话等。该效应实际上是听觉系统的一种适应能力。当盲源分离理论提出后很快就形成了线性瞬时混合模型。线性瞬时混合盲源分离技术是对线性无记忆系统的反应,它是将n个源信号在线性瞬时取值混合后,由多个传感器进行接收的分离模型。
20世纪八、九十年代是盲源技术迅猛发展的时期,在1986年由法国和美国学者共同完了将两个相互独立的源信号进行混合后实现盲源分离的工作,这一工作的成功开启了盲源分离技术的发展和完善。在随后的数十年里对盲源技术的研究和创新不断加深,在基础理论的下不断有新的算法被提出和运用,但先前的算法不能够完成对两个以上源信号的分离;之后在1991年,法国学者首次将神经网络技术应用到盲源分离问题当中,为盲源分离提出了一个比较完整的框架。到了1995年在神经网络技术基础上盲源分离技术有了突破性的进展,一种最大化的随机梯度学习算法可以做到同时分辨出10人的语音,大大推动了盲源分离技术的发展进程。
1.2 线性卷积混合盲源分离
相比瞬时混合盲源分离模型来说,卷积混合盲源分离模型更加复杂。在线性瞬时混合盲源分离技术不断发展应用的同时,应用中也有无法准确估计源信号的问题出现。常见的是在通信系统中的问题,通信系统中由于移动客户在使用过程中具有移动性,移动用户周围散射体会发生相对运动,或是交通工具发生的运动都会使得源信号在通信环境中出现时间延迟的现象,同时还造成信号叠加,产生多径传输。正是因为这样问题的出现,使得观测信号成为源信号与系统冲激响应的卷积,所以研究学者将信道环境抽象成为线性卷积混合盲源分离模型。线性卷积混合盲源分离模型按照其信号处理空间域的不同可分为时域、频域和子空间方法。
1.3 非线性混合盲源分离
非线性混合盲源分离技术是盲源分离技术中发展、研究最晚的一项,许多理论和算法都还不算成熟和完善。在卫星移动通信系统中或是麦克风录音时,都会由于乘性噪声、放大器饱和等因素的影响造成非线性失真。为此,就要考虑非线性混合盲源分离模型。非线性混合模型按照混合形式的不同可分为交叉非线性混合、卷积后非线性混合和线性后非线性混合模型三种类型。在最近几年里非线性混合盲源分离技术受到社会各界的广泛关注,特别是后非线性混合模型。目前后非线性混合盲源分离算法中主要有参数化方法、非参数化方法、高斯化方法来抵消和补偿非线性特征。
2.无线通信技术中的盲源分离技术
在无线通信系统中通信信号的信号特性参数复杂多变,实现盲源分离算法主要要依据高阶累积量和峭度两类参数。如图一所示,这是几个常见的通信信号高阶累积量。
在所有的通信系统中,接收设备处总是会出现白色或是有色的高斯噪声,以高阶累积量为准则的盲源分离技术在处理这一问题时稳定性较强,更重要的是对不可忽略的加性高斯白噪声分离算法同时适用。因此,由高阶累积量为准则的盲源分离算法在通信系统中优势明显。
分离的另一个判据就是峭度,它是反映某个信号概率密度函数分布情况与高斯分布的偏离程度的函数。峭度是由信号的高阶累积量定义而来的,是度量信号概率密度分布非高斯性大小的量值。
关键词:机器视觉与应用;创新实践;邮电类高校
国务院印发的《新一代人工智能发展规划》中提出了我国人工智能“三步走”战略目标并深化实施“中国制造2025”,将人工智能上升到国家战略层面。因此,必须加快推进人才培养模式改革,推进科教协同育人,完善高水平科研支撑拔尖创新人才培养机制。新工科背景下的核心课程机器视觉与应用是邮电类本科学生的基础课程,许多高校主要面向自动化、计算机类等工科专业开设,此课程融合了机器学习理论,数字图像处理,智能决策与最优化等技术[1],教学内容涉及机器视觉系统的组成与标定、图像滤波与分割、目标检测与识别、成像原理与多视图几何、三维测量等。各个学校对该课程的教学内容侧重点不同,培养目标也不尽相同,但普遍面临的问题是:强调理论知识点的掌握如定理、证明等,理论教学内容不能与最新技术发展同步,实践教学内容简单、肤浅,不能有效联系实际应用或案例。学生对这门课缺乏兴趣,实验设备老旧、编程语言传统,不符合企业实际需求,影响学生就业与升学的竞争力。因此,为解决上述问题,《机器视觉与应用》这门课程的教学改革势在必行。
一、理论教学课程体系改革的与时俱进
机器视觉在我们生活中的应用不断扩大,如手机上的摄像头系统,微信、支付宝的扫码操作等,因此在《机器视觉与应用》这门课中,在深入讲解经典机器视觉知识的同时,要将当前最新的机器视觉与应用的研究成果与行业前沿知识在课堂上对学生进行介绍,如基于稠密深度、轻量化卷积神经网络的目标检测与识别、图卷积神经网络等,让他们了解最新的知识点与行业应用及当前流行的软件、硬件平台,为他们以后的学科研究与就业奠定良好的基础。因此,对课程的培养目标与课程体系进行了修订。
新版的《机器视觉与应用》课程以Python语言为基础,要求学生掌握机器视觉的概念、原理、图像处理方法及经典视觉成像模型,掌握多视图幾何及三维重建的原理及实现方法,学会搭建基础的轻量化卷积神经网络,为进一步学习人工智能相关专业课以及从事本专业的研究和技术工作打下必要的基础。
同时,要充分考虑企业的需求,以协同育人的视角构建教师和企业导师联合育人团队,因材施教,优势互补。比如,通过理论讲解掌握机器视觉的图像滤波与目标检测,借助于生产线现场缺陷目标检测等工业应用案例掌握理论教学知识,并反馈理论教学中未涉及的实际应用要点,如算法的实时性、检测成功率,影响误检测的因素等。
二、创新实践教学平台
为了紧跟当前机器视觉与应用技术发展的潮流,培养人工智能应用行业所急需的专业人才,在通过课堂将机器视觉与应用专业理论知识传授给学生的同时,还需启发学生将来在机器视觉应用方面有创新性的成果[2]。
我们构建了三种型号的基于机器视觉系统的无人车、无人机等创新实践平台,每一种型号分别采用英伟达Nano和树莓派两种开发板,每种开发板32套,总共192套基于机器视觉系统的无人平台。这些平台不仅更好地服务于机器视觉与应用课程的章节实验及综合性实验,而且还作为实验室的创新平台,为智能车比赛,无人机竞赛,机器人大赛提供强有力的支撑。
三、创新实践教学机器视觉软件的组成
本课程的章节实验及综合性实践提供多种编程语言和工具箱平台,学生可以根据自己的兴趣、爱好及未来的学业、职业规划选择一种或多种编程语言及平台[3]。在Matlab图像处理工具箱与OPENCV工具箱的基础上[4],本课程的实践教学创新性地引入基于Python的机器视觉与应用基础工具箱、进阶版深度学习工具箱,紧跟当前机器视觉与应用课程发展的技术潮流。因为Python是一种面向对象、解释型、动态数据类型的高级程序设计语言。其代码量小,简洁清晰。还具有丰富的机器视觉标准库和扩充库,如Pytesseract、OpenCV等,是当前人工智能行业广泛应用的编程工具。
此外,为进一步支撑机器视觉综合性实验及基于视觉导航的无人车进阶实践项目,建议学生学习ROS开源的元机器人操作系统,包括硬件抽象、底层设备控制、常用函数的实现、进程间消息传递以及包管理。上述的OpenCV,Python等机器视觉工具箱及激光雷达、IMU惯导模块以及相应的多传感器标定、图像处理、目标识别与跟踪、三维重建、SLAM等都可以在此环境下实现。
另外,学生还可以熟悉掌握常用的深度学习框架,如PyTorch、TensorFlow、Keras、MXNet等,为将来的工作和学业深造打下坚实的基础。
四、创新实践教学内容的设计
我结合机器视觉与应用的理论教学内容,并兼顾实验室开放创新项目及竞赛需求,设计了渐进式创新实践教学内容,主要分为三个级别:验证性机器视觉章节实验、综合性视觉及多传感器融合实践项目、创新性实践项目。考虑到学生对知识的掌握程度不同,三个级别的项目由易到难,循序渐进,兼顾学生的兴趣爱好及实际生活中的创意实现。三个级别的实验及实践项目举例如下:
1.验证性实验:摄像头启动及驱动,图像预处理如多彩色空间转化、灰度变化、图像增强、图像滤波、锐化、图像分割与二值化、腐蚀与膨胀、图像特征提取与匹配等。
2.综合性实践:相机标定实验及误差分析,多传感器联合标定(相机、激光雷达、IMU联合标定),图像去雾、去雨、去模糊化等。
3.创新性实践:视觉导航,无人车视觉避障,无人车视觉同时定位与重建,模拟工业机器视觉应用如智能产品缺陷检测、视觉测量,快递包裹视觉实时追踪与定位,人流估计与预测等。
验证性实验是必选的,综合性及创新性实践是以小组完成的,学生可以跟踪兴趣、爱好选择不同的题目,提高主观能动性,并允许学生利用所学知识进行创新创意性扩展。
五、创新实践教学方式改革探索
(一)梳理课程间内容关系,完善相应的平台、硬件、软件及相应的电子资源建设
学生的专业基础不同,所掌握编程知识及实践能力有一定的差异性,教师开课前应摸底学生所学的课程内容,了解学生不同的专业基础,并进行合理的分组、引导,使学生互帮互助;完善实验室的理论教学平台,发展三种类型多套的无人硬件平台,建立相应的课程电子资源网站,包括理论教学内容知识点和实践教学内容及所需的软件、教程、工具包,网站上包含专门的知识内容讨论区,另外还包括国内外《机器视觉与应用》相应的多媒体课件、论文、书籍及经典算法的实现代码,以适应当今人工智能行业内机器视觉知识的内容多、涉及范围广、知识更新快的特点,以便学生下载、查阅。同时,教师要合理利用一些即时通讯平台,如微信群、QQ等工具,及时解答学生的疑问。
(二)优化小班化实验室課堂,注重学生知识的掌握与应用
教师要改变往常以教师讲解为主,学生机械地参与的满堂灌模式,直接在实验室采用小班化教学,一次32人,分为四个小组,每个小组都要完成三个级别的实验,保证每个组员都要参与,都有相应的任务,实验内容尽量避免雷同。每次课2个课时,教师进行0.5课时基础理论知识进行透彻地讲解;拿出1个课时让学生进行验证性实验,对基础知识进行实现、验证,并进行组内讨论;剩下的0.5个课时,学生进行综合性实践或创新型实践的讨论、演示、讲解,任课教师进行点评、讲解、指导。学生人手一台实验设备和电脑(或自带笔记本),实验室设备与学生一一绑定,不随意更换,方便理论知识的掌握、实现以及相应软件环境的安装设置等,并改变以往提交纸质实验报告的考核方式,采用分组答辩的形式,每个人讲解展示自己所负责的工作,相互学习、相互进步。这样可以较好的避免抄袭,避免雷同的实验报告,激发学生学习的积极性和自主性,有利于知识的拓展和创新创意实践。
(三)鼓励学生进行应用性创新实践,并为产学研合作及企业实践提供支持
学生在完成多个实践性项目的同时,后续可能要对系统硬件、算法软件进行不断的完善、优化。为了使更多的实践成果走出实验室,贴合实际生产生活,鼓励学生带成果走出去,教师要主动积极联系有机器视觉应用需求的企事业单位,将创新成果与实际企业需求、工业现场要求进行深入沟通与协作,建立稳定的产学研机制。这种机制可以对校内课程体系进行有效扩充和延伸,并对创新实践教学成果进行反馈,更好地贴近实际生产生活需求,做更接地气的实践教学内容改革探索。同时,教师要鼓励学生进行相应专利的申请和论文的撰写,保护好相应的知识产权。
关键词:辛烷值;快速检测方法;气相色谱法;红外光谱法;拉曼光谱法
中图分类号:TB 文献标识码:A doi:10.19311/ki.1672-3198.2016.07.092
辛烷值是表征车用汽油抗爆性的重要指标,1926年美国科学家埃得将辛烷值引入汽油性能指标。汽油在燃烧过程中,抵抗爆震的能力叫作抗爆性,辛烷值就是表示汽油抗爆性的指标。辛烷值越高,其抗爆性能越好,汽油在汽缸中燃烧越充分,燃烧效率越高,尾气排放中的一氧化碳、碳氢化合物含量越低,对环境的危害相应越小。
马达法辛烷值和研究法辛烷值是汽油的辛烷值的传统测量方法,方法用样品量大,时间长、费用高,不适于生产控制的在线测试。本文对近几年出现的几种辛烷值测量的快速分析方法进行总结和综述,介绍相关方法的应用进展。
1 拉曼光谱法
拉曼分析方法作为一种光谱检测技术,不仅样品预处理简单、分析速度快、效率高、重现性好,另外还具有受水分干扰小、样品无损、可进行微量样品探测、检测频带宽、可快速跟踪反应过程等特点;即便是非极性基团如c=c,c=c等红外吸收较弱的官能团,在拉曼光谱中也可以得到很强的吸收谱带。因此,特别适合用于对含碳、氢基团较高的汽油样品的辛烷值检测。
康健爽等2010年提出了一种使用拉曼分析测定汽油辛烷值的方法,并设计了辛烷值拉曼光谱在线检测系统。这种辛烷值在线监控系统能够实时监控乙醇汽油中的组分变化,并给出对应的拉曼分析曲线;根据光栅型和傅立叶变换型光谱仪各自特点,选用光栅型拉曼光谱仪应用于辛烷值在线检测。以Lambert-Beer定律为基础,采用化学计量学方法,将检测数据和采用标准方法测得的属性数据之间关联,建立分析模型,在具体算法实现过程中,分别采用PCA和PLS两种方法建立关联分析模型,并用于乙醇汽油辛烷值的快速预测,指导实际调和过程。实践证明,相对传统的检测手段,该系统具有测试速度快、分析时间短、检测费用低、经济效益高等特点。
2 气相色谱法
李长秀等2003年建立了一种新方法,该方法将气相色谱结果关联建模用以计算汽油样品的辛烷值。对汽油的组成采用高分辨毛细管柱进行测定,根据汽油单体烃组分的含量和纯组分辛烷值乘积的大小,将单体烃组分分为两组,每一组为一个变量,建立实测辛烷值与两个变量间的回归模型。实际分析时,根据样品的类型带入相应的模型进行关联计算即可得到样品的辛烷值。该方法与采用标准方法测定催化裂化汽油辛烷值的结果相比,测定结果的偏差约0.5个单位。该方法因为操作相对简单,样品量耗费少,且建模过程快速、简便,适于稳定工艺过程中的汽油辛烷值的在线监测。
于爱东等采用毛细管气相色谱法对汽油单体烃类进行分离,用PONA汽油组成软件对汽油单体烃进行定性、定量、Pona组成计算.将汽油单体烃分为37组,建立实测辛烷值与37个变量之间的回归模型,计算汽油辛烷值。该模型计算辛烷值与实测辛烷值的极差为0.26个单位,适用辛烷值在88~92之间的油品。辛烷值的计算公式能够较好地反映汽油单体烃与辛烷值之间的关系。方法操作简单,样品用量少,结果准确,适合于炼厂蒸馏、催化过程中汽油辛烷值的实时监测。
3 近红外光谱法
近红外光谱分析方法是一种间接分析方法,它先利用一组汽油标准样品,在汽油的近红外光谱数据间和汽油辛烷值建立数据关联分析模型,再用该模型预测未知汽油样品的辛烷值。测量精度除受仪器精度影响外,还受所建分析模型精度影响。
韩言正等介绍了一种自主开发研制的汽油辛烷值近红外光谱在线分析仪。该分析仪包括近红外光谱在线测量、光谱预处理和实时建模等部分。对于原始的近红外光谱数据,采用多项式卷积算法进行光谱平滑、基线校正和标准归一化;通过模式分类与偏最小二乘进行实时建模。该分析仪已成功应用于某炼油厂生产过程的辛烷值在线监测。
汽油辛烷值预测体系具有非线性的特点,史月华等据此提出主成分回归残差神经网络校正算法(PCRRANN)用于近红外测定汽油辛烷值的预测模型校正。该方法结合了主成分回归算法(PC),与PLS(PartialLeastSquare),PCR,PLS(NPLS,Non lin-earPLS)等经典校正算法相比,预测能力有明显的提高。
独立分量分析(ICA)是统计信号处理近年来的一项发展。顾名思义,这是一种分解技术,其特点是把信号分解成若干相互独立的成分。主分量分析(PCA)和奇异值分解(SVD)是人们较熟悉的分解信号的线性代数方法,ICA与它们的主要不同之处表现在:
(1)后者只要求分解出来的各分量互相正交(不相关),但并不要求它们互相独立。用统计信号处理的语言来表达,即:后者只考虑二阶统计特性,而前者则要更全面考虑其概率密度函数的统计独立性。
(2)后者按能量大小排序来考虑被分解分量的重要性。这样的分解虽然在数据压缩和去除弱噪声方面有其优点,但分解结果往往缺乏明确的生理意义。前者虽然分解出的分量其能量大小存在不确定性,但当测量值确实是由若干独立信源混合而成时,分解结果往往具有更好的生理解释。由于测得的生理信号往往是若干独立成分的加权迭加(例如,诱发脑电总是被自发脑电所淹没,而且常伴随有心电、眼动、头皮肌电等干扰),此ICA是一项值得注意的分解方法。
此外,神经生理研究认为,人类对认知、感知信息的前期处理有“去冗余”的特点。ICA在这方面也表现出类似特性,因为互相独立的分量之间互信息是最少的。ICA是伴随着盲信号处理,特别是盲信源分离发展起来。其研究热潮方兴未艾,也正在引起生物医学工程界的注意,IEEETransBME正在组织出版以它为重点的专辑。就国际范围看,以下几个研究单位目前工作比较领先:(1)美国加州大学生物系计算神经生物学实验室,(2)日本Riken脑科学研究所脑信息研究室,(3)芬兰赫尔辛基工业大学计算机及信息科学实验室,目前发表有关文献较多的刊物有IEEETrans的SP和NN以及NeuralComputation等。本文目的是对ICA的原理、算法及应用作一简述,以引起国内同行对它的关注。将侧重于概念说明,而不追求数学上的严谨性。
2原理
2.1问题的提法,s-(n)是一组互相独立的信源,A是混合矩阵,x-(n)是观察记录,即x-(n)=As-(n)。问题的任务是:在A阵未知且对s-(n)除独立性外无其它先验知识的情况下,求解混矩阵B,使得处理结果y-(n)=Bx-(n)中各分量尽可能互相独立,且逼近s(n)。容易理解,解答不是唯一的,它至少受以下条件的限制:(1)比例不定性:s-(n)中某一分量大K倍时,只要使相应的A阵系数减小K倍,x-(n)便保持不变。
因此,求解时往往把s-(n)假设成具有单位协方差阵,即s-中各分量均值为零,方差为1,且互相独立。(2)排序不定性:y-与s-中各分量排序可以不同。因为只要对调B阵中任意两行,y-中相应元素的位置也便对调。(3)s-(n)中至多只能有一个高斯型信源:这是因为高斯信源的线性组合仍是高斯型的,因此混合后便无法再区别。(4)信源数目N只能小于或等于观测通道数M。N>M情况目前尚未解决。以下讨论设M=N。因此,y-(n)只是在上述条件下对s-(n)的逼近。换名话说,任务的实质是优化问题,它包括两个主要方面:优化判据(目标函数)和寻优算法。
2.2目标函数
这一领域的研究者已经从不同角度提出了多种判据。其中以互信息极小判据(MinimizationofMutualInformation,简记MMI)和信息或熵极大判据(Informax或MaximizationofEntropy,简记ME)应用最广。由于最基本的独立性判据应由概率密度函数(probabilitydensityfunction,简记pdf)引出,而工作时pdf一般是未知的,估计它又比较困难,因此通常采用一些途径绕过这一困难。
常用的方法有两类:①把pdf作级数展开,从而把对pdf的估计转化为对高阶统计量的估计;②在图1的输出端引入非线性环节来建立优化判据。后一作法实际上隐含地引入了高阶统计量。(1)互信息极小判据:统计独立性的最基本判据如下:令p(y-)是y-的联合概率密度函数,pi(yi)是y-中各分量的边际概率密度函数。当且仅当y-中各分量独立时有:p(y-)=∏Ni=1pi(yi)因此用p(y-)与∏i=1pi(yi)间的Kullback-Leibler散度作为独立程度的定量度量:I(y-)=KL[p(y-),∏Ni=1pi(yi)]=∫p(y-)log[p(y-)∏Ni=1pi(yi)]dy-(1)显然,I(y-)0,当且仅当各分量独立时I(y-)=0。因此,互信息极小判据的直接形式是:在y-=Bx-条(文秘站:)件下寻找B,使(1)式的I(y-)极小为了使判据实际可用,需要把I(y-)中有关的pdf展成级数。
由于在协方差相等的概率分布中高斯分布的熵值最大,因此展开时常用同协方差的高斯分布作为参考标准。例如,采用Gram-Charlier展开时有:P(yi)PG(yi)=1+13!k2yih3(y-i)+14!k4yih4(yi)+…式中PG(yi)是与P(yi)具有同样方差(σ2=1)和均值(μ=0)的高斯分布。k3yi、k4yi是yi的三、四阶累计量(cumulant),hn(yi)是n阶Hermit多项式。此外还有许多其他展开办法,如Edgeworth展开,利用负熵(Negentropy)等。不论采用何种展开方式,经推导后总可把式(1)近似改成k3、k4的函数:I(y)=F(k3y-,k4y-,B)(1)’F(·)的具体形式多种多样,视推导时的假设而异。
这样就得到互信息判据的实用近似形式:在y-=Bx-条件下寻找B,使式(1)的I(y-)极小(2)Infomax判据:这一判据的特点是在输出端逐分量地引入一个合适的非线性环节把yi转成ri(如图2)。可以证明,如果gi(·)取为对应信源的累积分布函数cdf(它也就是概率密度函数的积分),则使r-=(r1…rN)T的熵极大等效于使I(y-)极小,因此也可达使y-中各分量独立的要求。从而得到Infomax判据:在选定适当gi(·)后,寻找B使熵H(r-)极大需要指出的是,虽然理论上gi(·)应取为各信源的cdf,但实践证明此要求并不很严格,有些取值在0~1之间的单调升函数也可以被采用,如sigmoid函数、tanh(·)等。估计H(r-)固然也涉及pdf,但由于其作用已通过gi(·)引入,所以可以不必再作级数展开而直接用自适应选代寻优步骤求解。文献中还提出了一些其他判据,如极大似然、非线性PCA等,但它们本质上都可统一在信息论的框架下,所以不再一一列举[1]。
3处理算法优化算法
可大致分为两类,即批处理与自适应处理。
3.1批处理批处理比较成熟的方法有两类。较早提出的是成对旋转法[2],其特点是把优化过程分解成两步。先把x-(n)经W阵加以“球化”得z-(n),使z-(n)T=IN,即:各分量不相关且方差为1,然后再寻找合适的正交归一阵U达到使y-各分量独立的目的。前一步类似于PCA,后一步则可利用Givens旋转,根据目标函数,将z-中各分量两两成对反复旋转直到收敛。这种方法计算量较大。1999年,Gadoso提出几种方法对它作了进一步改进[3],其中包括:Maxkurt法、JADE法、SHIBBS法等,限于篇幅,本文不再叙述。近年来,提出的另一类方法是所谓“固定点”法(FixedPointMethod)[4,5
],其思路虽来源于自适应处理,但最终算法属于批处理。
简单地说,通过随机梯度法调节B阵来达到优化目标时,有:B(k+1)=B(k)+ΔB(k)ΔB(k)=-μεkB(k)式中k是选代序号,εk是瞬时目标函数。当到达稳态时必有[E是总集均值算子]:E[ΔB(k)]=0(2)如果ΔB(k)与B(k)有关,就可由(2)式解出B的稳态值。不过由于(2)式总是非线性方程,因此求解时仍需要采用数值方法(如牛顿法、共轭梯度法等)迭代求解。实践证明,不论是收敛速度还是计算量,此法均优于前一种方法,而且它还可以根据需要逐次提取最关心的yi,因此是一类值得注意的方法。
3.2结合神经网络的自适应处理结合神经网络的自适应处理算法的框图。1994年Cichocki提出的调节算法是:B(k+1)=B(k)+ΔB(k)ΔB(k)=μk[I-Ψ(y-k)ΦT(y-k)]B(k)式中Ψ、Φ都是N维矢量,其各元素都是单调升的非线性函数:Ψ(yk)=sgnyk·y2k,ΦTy-k=3tanh(10yk)所得结果虽令人鼓舞,但是方法是经验性的。其后学者们从理论上沿着这一方向作了更深入的讨论,并发展出多种算法。概括地说,主要发展有以下几点:
(1)引入自然梯度(或相对梯度)。按照最陡下降的随机梯度法推导出的系数调节公式往往具有如下一般形式:ΔB(k)=μk[B-T(k)-Ψ(y-k)x-Tk]式中的Ψ(y-k)视具体算法而异。Infomax法中Ψ(·)由所选用的g(·)决定;MMI法中则与yk的三、四阶矩有关。B-T(k)是矩阵求逆再转置,它的计算量很大。Amari[7]在1998年提出将最陡下降梯度改为“自然梯度”,两者间关系是:[自然梯度]=[最陡下降梯度]·BT(k)B(k)于是有:ΔB(k)=μk[B-T(k)-Ψ(y-k)x-Tk]BT(k)B(k)=μk[I-Ψ(y-k)y-Tk]B(k)由于此式避免了矩阵求逆,因此计算量明显降低且收敛加快。目前,这一作法已被普遍接受。
(2)引入自然梯度后,采用不同的优化判据得出的调节公式虽各有千秋,但大致都可表示为如下的“串行更新”形式:B(k+1)=B(k)+ΔB(k)=[I+H(y-k)]B(k)只是H(y-k)的具体形式各不相同。串行矩阵更新的算法还具有一些理论上值得注意的性质,如均匀特性(uniformproperty)和等变性(equivariant)等[8,9]。
(3)四阶累计量k4>0的超高斯信号和k4<0的欠高斯信号,其处理过程应当予以区别。采用同一算法效果往往不好。目前的办法多是在调节公式中引入一个开关。根据估计得k4的符号来切换不同算法,如扩展的Infomax法就是一例[10]。此法的系数调节公式是:ΔB(k)=μk[I-Ktanh(y-k)·y-Tk-y-ky-Tk]B(k)其中K是对角阵,其对角元素之值为+1或-1,视该信号分量k4>0或<0而定。为了实时应用,估计K4也可采用递归算法。总之,自适应算法是目前采用较广的方法。
4应用举例
4.1仿真计算为检验经ICA算法分解信源的能力,左图是一组源信号,它们对系统来说是未知的。这一组信号经混合后的观察信号作为(中图所示)ICA算法的输入,分解后的结果如右图所示。可以看到,除了波形的次序、极性和波幅发生变化之外,源信号的波形被很好地分解出来。一般情况下,临床脑电信号中既有超高斯成分(如诱发电位),也有亚高斯成分(如肌电和工频干扰)。为了检验扩展Infomax算法处理这类情况的能力,我们又用此法进行了如图6所示仿真实验。左图第一行是一段自发脑电信号,第二行是仿真的视觉诱发电位,第三行是肌电干扰。混合后的信号(图中第二列所示)经ICA分解得到如右图所示的结果。这一结果表明扩展ICA算法在同时存在超高斯和亚高斯信号的情况下,仍然能够很好地实现盲分解。但应指出:这一仿真结果并不说明通过ICA分解就能直接得到视觉诱发电位,因为还没有涉及头皮上的多导数据。
4.2实验VEP分析(1)多导脑电观察中VEP的增强:需要强调,把多导脑电作ICA分解后直接取出其中与VEP有关的成分,得到的并不是头皮电极处的VEP分量,因为它们只是分解出来的信源,而这些信源的位置并不在头皮上,为了得到电极处测量值中的VEP成分,需按下述步骤处理:用训练得的W阵直接对头皮上取得的多导脑电数据进行ICA分解,得到各独立分量组成的矩耻y=Bx(见图7a);再根据各分量的波形特征及产生时段,选择与VEP有关的一部分分量(例如在前300ms中具有较大幅度的分量),并将其余分量置0,得到新的独立分量矩阵y’;再反变换回头皮各电极处得x’=B-1-y’。这样才能得到去除噪声和干扰后各电极处的VEP。
采用这样的方法可显着地减少提取VEP所需要的累加次数。左图是经3次累加所得VEP,中图是经50次累加所得结果,右图则是用左图经图7中ICA处理后提取的VEP。比较中、右两图,两者波形趋势基本相同,但后者比前者其主要峰、谷显然更清楚,而累加次数由50减到3。(2)ICA分量的空间模式:把某一个ICA分量的瞬时值经B-1逆推回头皮各电极处得x-’后,就可以按断层图的插补方法得到该时该分量在头皮上的空间分布模式。这个空间分布模式也可以用更简单办法得到:只要把逆矩阵B-1中相应于某ICA分量的列中各元素的值赋与头皮各电极处,再作断层图插值,就可以表现该ICA分量在任意时刻的空间分布模式。也就是:x’i(t)=b’ijy’j(t),i=1~N式中b’ij是B-1的第i行第j列元素。
可见ICA分量y’j(t)在头皮各电极处的对应值等于用逆阵B-1第j列各元素来对y’j(t)加权。因此,列矢量b’j=[b’1,…,b’Nj]可以用来统一地表现任意时刻y’j的空间模式。
5总结与展望
本文粗略介绍了ICA的原理、算法和应用,可以看到ICA确是一个值得注意的研究方向,但其理论体系尚未完整,实际采用的处理方法多少还带有经验性。例如为什么对非线性特性gi的要求不甚严格就没有明确解释;又如算法的稳定性、收敛性在实践中是经常遇到的问题。从应用方面看也还有许多待开发的领域,例如如何应用于生理信号的模式识别与系统建模等。从生物医学信号分析的角度看,还有一些亟待深入的问题。例如:
(1)在以上分析中混合阵A被假设为恒定。这对静态的图像分析或固定信源是合理的;但在生理实际中,等效信源一般在空间并不固定,因而混合阵A应视为时变的,而且传导过程中还会引入容积导体的卷积及迟作用。这可能是实际生理信号分解结果不够理想的原因之一。
(2)一般公认,生理信号的非平稳性较强,而以上分析并没有考虑信号的非平稳性。
这种曾经的航拍专业工具正在消除极客产品的烙印,每一家无人机厂商都极力降低使用门槛,为小白级用户增加了自动返航、自动避障等傻瓜式操作功能。在当时,王孟秋思考过一个问题:当无人机生产商大疆科技已经牢牢控制了71%的消费无人机市场份额后,创业公司的机会在哪里?
2014年5月,王孟秋回国创办了零零无限,在此之前,他在斯坦福大学攻读计算机专业的博士。事实上,和父母旅行的经历启发了王孟秋回国开发无人机的想法―他发现家庭合影时要么用自拍杆,要么交给路人拍照,合照的背景或许不同,但人的表情和姿势永远一样。“很多次家庭出游都差不多,拍照体验完全是破碎的。”王孟秋说,“但自拍无人机可以将拍照的意义还原为捕捉生命中的美好瞬间。”
和吸引极客用户的航拍消费无人机相比,王孟秋认为自拍无人机事实上在生活场景中将有更高的使用频率,比如,朋友聚会的后院BBQ,儿子的一场儿童球赛,也可以是周末跟家里宠物在草坪上嬉戏的画面。另一方面,低空近景人物拍摄、使用场景更为生活化的“飞行相机”,也能和大疆系列航拍无人机的产品定位区隔开来。
2016年10月,团队推出了跟拍无人机Hover Camera小黑侠,这是一款能跟拍、提供更多视角和录制运动片段的无人机。2016年,它已获得了总额2500万美元的融资,其中天使轮200万美元和A轮融资2300万美元,投资方包括IDG、金沙江创投、真格基金、ZUIG等。
直观上,Hover Camera像两层扁扁的镂空黑色盒子。这其实是两个折叠的碳纤维保护罩,里面有四翼螺旋桨,飞行时展开,长度不及一部iPhone 7 Plus,重量也才238克。
为了能够让更多小白用户使用,在操作方面,Hover Camera弃用了传统的无人机遥控器,起飞、飞行和降落直接在手机上操控,不过和航拍无人机不同的是,Hover Camera开发了人机交互的“指尖放飞”―托着无人机的指尖上,Hover Camera可以轻盈起飞,即便在狭小的室内,它也能周转或悬停,发出嗡嗡的响声。 >> 和吸引极客用户的航拍消费无人机相比,王孟秋认为自拍无人机事实上在生活场景中将有更高的使用频率。
“航拍无人机是为了拍‘景’,飞高飞远,拍远山,拍大桥,拍沙滩。零零无限推出的Hover Camera是为了拍‘你’。”零零无限产品经理刘力心说。在他看来,这是两种不同的镜头语言―Hover Camera无人机拍摄以人为中心,比如同样是拍摄跳水,航拍无人机的产品拍摄的是宏大的跳水场景,但零零无限想做的是人物跟踪拍 摄。
即便如此小的Hover Camera仍包含300余个元器件,从机械结构设计到电机、旋翼设计,都需要从头开始,况且硬件之外还有嵌入式系统、飞行控制系统、用于跟拍的机器视觉,以及对iOS和安卓等手机系统的适配。“所有的东西都是我们自己做的。”王孟秋说。
对于零零无限来说,创业过程是从不懂到懂的学习过程,早期最大的门槛还是在软件上。“硬件是打磨得出来的,但是软件上需要长时间积累。”在Hover Camera上没有双目摄像头,全靠软件的优化来支持单摄像头与人控制相对距离。
此外,王孟秋一早就确定“安全飞行”是Hover Camera的核心竞争力之一。
在零零无限团队看来,一个旋翼高速旋转的飞行器,无论多小,都会有误伤人的危险。在产品设计中,不同于业内普遍使用避障技术来实现安全保护,Hover Camera的做法是加入带“保护罩”的外壳。在苹果专卖店内,除了Hover Camera,其他无人机都禁止试飞。他们认为有了保护罩的Hover Camera不会伤到人,而其他无人机的避障软件技术不能确保没有故障。
为了方便携带,在原型机的材质选择上,团队考虑过用铝镁合金、塑料或加纤塑料来制作保护罩,但因为容易变形或过软等会造成安全隐患的原因,Hover Camera最终使用了既坚固又轻盈的碳纤维。但随之而来的是成本大幅增加,制成这样的保护罩,需要经过CNC切割、抛光、烤漆等几十道工序,让Hover Camera的销售价格攀升至599美元。
这是一个在安全和成本之间权衡的问题,团队考虑后选择了前者。如果去掉保护罩,Hover Camera以单电池可以飞24分钟,可是以现在的形态只能飞10分钟,一些用户也质疑10分钟的飞行不符合“自拍”这种高重复性的行为。同时,因为保护罩带来的侧向风阻加大,当户外风大的时候,Hover Camera的稳定性很难保证。
但是零零无限仍然坚持做保护罩。“我不想做航拍,我们想做的是私人摄影师,就像家里多了一个人一样。”王孟秋说。依据王孟秋的判断,随着人工智能的发展,人类拍照这件事情很可能被颠覆。“给机器两三年的发展,它会懂得构图、取景、拍照。”
事实上,你可以把Hover Camera看作一个会飞的小机器人,它每秒钟拍摄30帧,每一帧都要确保人物在画面中间位置不变,也就是说它每时每刻都在构图。
跟拍无人机的核心在于自动化捕捉到随时变化的人物动作,比如扣篮的瞬间,这就要求零零无限团队在跟人算法上做出深度优化。团队在一颗高通骁龙801芯片上实现了基于卷积神经网络(CNN)的人脸人形检测算法,在用户选定需要跟随的人形之后,跟随部分采用Hover Camera的跟踪算法。
在Hover Camera上市前,在美国苹果总部,出于受众、用户体验和设计元素的匹配,零零无限与苹果达成了合作。在与苹果生态做了诸多适配和兼容―如影像编辑软件、文件系统―完成了多国的本地化工作后,Hover Camera先是@准进入5个国家和地区的苹果专卖店,随后国家数扩展到30余个。
至今,Hover Camera并未开设自己的线下实体店,只是在苹果店和线上销售。王孟秋不愿透露销量,但也不讳言其在产能上的爬坡,到今年5月才实现产能充足,而线上销售是积累产能比较好的方式。
从2016年10月正式到现在,Hover Camera大的固件升级已经有5次,从UI到交互界面都和最初的版本完全不同了。
第一版的Hover Camera软件界面有点儿像大疆的遥控器操作,但现在则以用户社区为主体;它跟踪人的模式和方式也都与第一版大有区别:第一版,Hover Camera有两种跟踪模式,一种是只跟着面部,另一种则是整个人都需要入镜。当初的两种模式是为了区别近景拍摄和跟拍,但如今通过影像识别的优化,无人机能自动切换,不需要用户自己区分。
关键词:科学计算;大数据处理;超级计算机;模拟仿真;并行计算
1引言
在现代科学研究和工程实践中,通常使用数学方程式来表示某些自然科学规律,产生了众多复杂繁琐的数学计算问题[1]。基于普通计算工具来解决这些问题,将耗费大量人力物力,甚至无法得到准确结果。而科学计算[2],利用计算机仿真、重现、预测或探索自然世界万物运动规律和演变特性的全过程,通过研究合理的计算方法,设计高效的并行算法,研制合适的应用程序,能准确、高效地模拟各领域研究过程,分析计算结果。然而,普通计算机的科学计算能力往往是有限的,现有的计算能力无法高效地解决某些基础学科和工程技术部门的科学计算问题,如长期天气预报、石油勘探、飞机整体气动力等等。
与此同时,地震检测仪、粒子碰撞器、天文望远镜以及高通量分析装置等大型科学仪器的研制和发展[3],产生了大量非结构化或半结构化的数据,使得“大数据”趋势变得越来越突出[4]。如今,许多科学发现和见解由大量数据集驱动,“大数据”被认为是除了实验、理论和计算方法之外的第四种科学范式[5]。数据生成的容量、速度和多样性构成了分析大数据的主要挑战。
为提高科学计算能力,解决大数据问题,高性能计算(HPC)[6]技术迅猛发展。高性能计算机代表用于解决计算密集型科学和工程问题的高端计算基础设施。我国的高性能计算早已突破每秒浮点运算千万亿次的壁垒,并继续解决性能、可扩展性、可编程性、能效和可靠性等问题,探索新的支持技术以达到e级计算能力。
目前,高性能计算机已在多个领域得到了成功的应用[7],但仍存在大量可供多个研究机构使用的空闲节点。本文简介了一些高性能计算机系统及其性能,针对近年来在高性能计算机上的各大领域应用实例进行总结,并对在其他领域的应用做出了展望,以促进更高效、全面地使用高性能计算机。
2高性能计算机系统概述
中国首台千万亿次超级计算机,是“天河一号”。“天河一号”超级计算机使用由中国自行研发的“龙”芯片,其峰值计算速度能够达到1.206TFlop/s,同时Linpack实测性能达到了0.563TFlop/s,该超级计算机位居当时公布的中国超级计算机前100强之首,中国成为了继美国之后世界上第二个能够自主研制千万亿次超级计算机的国家。
天河一号采用6144个英特尔通用多核处理器和5120个AMD图形加速处理器,其内存总容量98TB。至于点对点通信的带宽就达到了40Gbps,而其用于共享的磁盘总容量则达到1PB。该超级计算机系统部署于天津滨海新区的国家超级计算天津中心作为业务主机。
2013年,由国防科学技术大学研制的“天河二号”大型超级计算机以每秒33.86千万亿次的浮点运算速度成为全球最快的超级计算机,位列国际大型超级计算机TOP500榜首。随后,“天河二号”实现了世界最快超算“六连冠”。天河二号采用基于加速器的架构[8]。在可接受的总成本、功率预算、支持可靠性、可用性和可服务性(RAS)的能力、应用开发和移植的复杂性下提供高的计算性能。
天河二号的硬件系统由五个子系统组成,包括计算系统、通信系统、存储系统、监控诊断系统和服务系统。它由16000个节点组成,每个节点有2颗基于IvyBridge-EXeonE52692处理器和3颗XeonPhi,每个节点的内存是64GB。所有的计算节点都通过专有的高速互连系统连接。还提供了一个服务子系统的4096个节点,以加快高吞吐量的计算任务,如大数据处理。存储子系统包括256个I/O节点和64个容量为12.4PB的存储服务器。天河二号文件系统命名为h2fs,采用麒麟操作系统、基于SLURM的全局资源管理。支持大多数现代编程语言,包括C、C++、Java、Python等。采用的是新型异构多态体系结构(Multipurpose-Heterogeneous)[9]。
天河二号的系统配置列于表1中。
“天河二号”集科学计算、大数据分析和云计算于一体,被认为是满足工业和社会需求的战略基础设施。以超级计算机为支撑的高性能计算应用正加速向各个领域渗透。
Table1SystemindicatorsofTianhe-2
表1天河二号系统指标
width=375,height=252,dpi=110
在国内早期的高性能计算机研究中,2004年6月超级计算机曙光4000A研制成功,落户上海超级计算中心,标志着继美国和日本之后,中国是第三个能研制10万亿次高性能计算机的国家。曙光能够每秒运算11万亿次,进入全球超级计算机前十名。经过十多年发展,曙光E级高性能计算机系统项目现在是国家“十三五”期间高性能计算的重点专项,其最显著的特点是突破了制约E级计算发展的各个关键技术,通过这样原型机的研制去验证E级的技术路线,为未来真正实现国产E级系统做技术铺垫。
width=642,height=303,dpi=110
Figure1StructureofSugon’sCPU
图1曙光CPU结构
在2016年法兰克福世界超算大会上,“神威·太湖之光”超级计算机系统成为新的榜首,速度较第二名“天河二号”快出近两倍,效率提高三倍。
神威·太湖之光超级计算机由40个运算机柜和8个网络机柜组成。每个运算机柜包含4块由32块运算插件组成的超节点。每个插件由4个运算节点板组成,一个运算节点板又含2块“申威26010”高性能处理器。一台机柜就有1024块处理器,整台“神威·太湖之光”共有40960块处理器。每个单个处理器有260个核心,主板为双节点设计,每个CPU固化的板载内存为32GBDDR3-2133。
在2018年的法兰克福世界超算大会上,美国能源部橡树岭国家实验室(ORNL)推出的新超级计算机“Summit”以每秒12.23亿亿次的浮点运算速度,接近每秒18.77亿亿次峰值速度夺冠,“神威·太湖之光”屈居第二。
3高性能计算机各大领域应用实例分析
为充分发挥高性能计算机的优势,极大限度地满足客户需求,自超级计算机在中国开始发展以来,相关团队都致力于扩展高性能计算在各个领域的利用,迎合各领域应用的计算要求,协助用户配置应用环境,建立高效模型,设计合理并行算法,以实现各领域的科学计算和大数据处理在高性能计算机上的应用。
3.1生物计算与精准医疗
根据广州国家超级计算中心的内部统计[10],生物医学相关应用现在是超级计算中心的主要客户。生物医学研究主要包括生物大分子的结构模拟与功能建模,药物设计与筛选,蛋白质序列分析,基因序列分析与比对,基因调控网络的分析与建模,医疗卫生的双数据分析及生物医学文献挖掘等。
生物医学数据繁多,且一直呈指数增长。如世界最大的生物数据保存者之一,欧洲生物信息学研究所(EBI),存储超过20PB的数据,并且最近每年的数据量都增加一倍[11]。数据源的异质性,包括基因组学、蛋白质组学、代谢组学、微阵列数据、文献等,使其更加复杂。
针对典型类型的大数据——基因组大数据,在大数据框架(如Hadoop和Spark)的帮助下,云计算已经在大数据处理中发挥着积极作用。现在,HPC在中国的快速发展使得以不同的方式解决基因组大数据挑战成为可能。Yang等人[12]强调了在现代超级计算机上增强大数据支持的必要性,提出只需单个命令或单个shell脚本就能使当前的大数据应用在高性能计算机上运行,并且支持多个用户同时处理多个任务的Orion作为高性能计算机的大数据平台。该平台可以根据大数据处理需求,合理分配所需的资源量,并使用HPC系统软件栈自动建立和配置可回收的Hadoop/Spark集群。以华大基因提供的基因组学大数据作为案例研究,测试基因组分析流水线SOAPGaea的FASTQ过滤、读取对齐、重复删除和质量控制四个过程,证明了Orion平台的高效性。
为更好地了解基因的精细结构、分析基因型与表现型的关系、绘制基因图谱,DNA序列分析成为生物医学中的重要课题[12]。
DNA序列的排序是对DNA序列分析的基础[13]。通常先使用测序仪得到生物体基因组的一些片段,再利用计算机对片段进行denovo拼接,从而得到DNA序列的排列顺序。而随着测序仪的发展,基因组的数据量增大,分析复杂性提高,普通计算工具分析数据会消耗大量时间和空间。张峰等人[14]基于高性能计算机,使用一种新型序列拼接工具SGA(StringGraphAssernbler),对任务之间数据耦合度小的分批构建FM-Index,采用粗粒度的多进程并行;对任务之间数据耦合度较大的FM-Index合并过程,采用多线程的细粒度并行。这种多进程与多线程的混合并行策略,使用并行计算代替通信开销,测试小规模数据时,将索引构建时间的最佳性能提高了3.06倍。叶志强等人[15]在基因组排序时,引入随机listranking算法,基于高性能计算机,使用MPI并行实现Pregel框架的线性化步骤,利用节点之间的通信和计算能力,减少了线性化步骤时间。
SNP(单核苷酸多态性)检测是DNA序列分析的关键步骤[16]。它将对齐的read、参考序列和被编排的数据库(如数据库SNPP)作为输入,通过站点检测对齐的read和引用站点的信息,生成SNP站点的列表。SNP检测工具SoAPSNP可以用一个多星期的时间来分析一个覆盖20倍的人类基因组。崔英博等人[17]通过重新设计SOAPSNP的关键数据结构以降低内存操作的开销,设计CPU与XeonPhi协作的协调并行框架,以获得更高的硬件利用率。并提出了一种基于读取的窗口划分策略(RWD),在多个节点上提高吞吐量和并行规模,开发了SOAPSNP的并行版本MSNP,在没有任何精度损失的情况下,利用高性能计算机的一个节点实现了45倍的加速。
方翔等人[18]利用高性能计算机,构建了由基因组与转录组测序数据分析、蛋白质结构预测和分子动力学模拟三个功能模块组成的生物信息平台分析水产病原,对约氏黄杆菌等多种水生动物病原进行生物信息学分析。
从生物医学文献中提取有价值的信息的一种主流方法是在非结构化文本上应用文本挖掘方法。然而,大量的文献需要分析,这对文本挖掘的处理效率提出了巨大的挑战。彭绍亮等人[19]将针对疾病实体识别的软件DNorm加入可高效识别基因、蛋白质、药物、基因通路等实体关系的文本挖掘工具PWTEES流水线中,扩充了PWTEES的功能。使用LINNAEUS导入MEDLIN数据库提供的摘要,并在个人账户目录下,动态使用计算节点,编译安装配置了非关系型数据库(MySQL),将大量非结构化数据(文献)转为结构化数据。将平时在普通服务器上需100天能完成的文本挖掘过程缩短为1小时,并利用200个进程并行挖掘7万篇头颈癌相关文献中的关键命名实体,得到了80%以上的并行效率。Xing等人[20]开发了一个可运行的框架PARABTM,它能够在超级计算机上实现并行文本挖掘。以GNormPlus、tmVar2.0、Dnorm三种命名实体识别任务为例,对多个数据集上PARABTM的性能进行了评价。结果表明,使用PARABTM并行处理策略中的短板匹配负载平衡算法(Short-Boardloadbalancingalgorithm),最大程度地提高了生物医学命名实体识别的处理速度。
3.2全数字设计与制造
数字设计与制造是一种以计算机系统为中心的集成制造方法。随着制造工厂中计算机系统数量和质量的提高,数字化趋势迅速。越来越多的自动化工具被用于制造工厂,有必要对所有机器、工具和输入材料进行建模、模拟和分析,以优化制造过程。而模拟能够建模和测试一个系统行为特性,让工程师能够用更低耗、更快速同时更安全的方式来分析所做的设计会产生什么样的影响。模拟的应用范围广泛,涵盖了产品设计、过程设计以及企业资源安排[21]。在模拟过程中,利用超级计算机强大的计算能力,使工程师能在几分钟或几小时内仿真和测试数千种设计方案。
利用数字化的方式,可以对产品进行结构力学分析、流体力学分析、电磁设计和多物理场模拟等多种计算仿真。
在计算流体力学CFD(CcomputationalFluidDynamics)领域的一大热点研究问题就是如何在当前主流的众核异构高性能计算机平台上进行超大规模计算。杨梅芳等人[22]在高性能计算机的单个节点上,利用超然冲压发动机燃烧数值模拟软件LESAP模拟一个实际发动机燃烧化学反应和超声速流动的问题,采用OpenMP4.0编程标准,向量化SIMD,优化数据传输过程,均衡基于网格块划分的负载技术,实现了软件面向CPU+MIC异构平台的移植,达到了3.07倍的性能加速比。王勇献等人[23]面向高性能计算机探索了高阶精度CFD流场数值模拟程序的高效并行性。在高性能异构并行计算平台上进行了多个算例的数值模拟的结果显示最大CFD规模达到1228亿个网格点,共使用约59万CPU+MIC处理器核,实现了移植后的性能大幅度提高。通过将算法移植到超级计算机进行大规模并行,能够实现高效的流体力学分析。而文献[24-26]都是针对空气动力学中的具体分类利用高性能计算机进行模拟以验证有效性的研究。利用数字化设计,能够快速低成本地对设计性能进行分析评估。
在图像模拟中,Metropolis光传输算法能够利用双向路径跟踪构建出由眼睛到光源的路径,是MonteCarlo方法的变体。然后,使用Metropolis算法静态计算图像中光线的恰当的散射状态,由一条已发现的光到眼睛的路径,能搜索到邻近路径。简单地说,Metropolis光传输算法能够生成一条路径并存储其上的节点,同时能通过添加额外节点来调整并生成新的路径。随着对照片级真实感图像的要求越来越高,为Metropolis光传输算法开发高效且高度可扩展的光线跟踪器变得越来越重要。主要是渲染图像通常需要花费大量时间,开发高效且高度可扩展的光线跟踪器的困难来自不规则的存储器访问模式、光携带路径的不平衡工作量以及复杂的数学模型和复杂的物理过程。Wu等人[27]提出了一种基于物理的高度可扩展的并行光线追踪器,并在高性能计算机上进行了实现,利用多达26400个CPU内核,证明了其可扩展性,能够从复杂的3D场景生成逼真图像。
模拟高场非局部载流子传输同样需要3DMonteCarlo模拟方法,通过适当的量子校正涵盖散射效应,半经典的MC模拟能够给出准确的结果。但是,MC方法中3D模拟和量子校正都需要巨大的计算资源[28],由效率出发超级计算机的计算能力就至关重要了。文献[29]中,通过在高性能计算机上使用IntelMIC协处理器,进一步提高了之前工作中开发的3D并行的继承MC模拟器的并行效率。
对于高性能计算机在全数字设计和制造领域的集成应用,国家超级计算广州中心推出了天河星光云超算平台,以云服务的方式提供CAE计算和HPC访问,大大降低了数字设计的门槛,支持产品设计的全工作流。目前基于该平台支撑的项目有诸如国产大飞机、高铁等,都是国家工业生产中重要项目[30]。
3.3地球科学与环境工程
基于该应用领域,超级计算机的主要作用在于变革对自然界中诸如地理状况、海洋、大气等种种元素的模拟方式。以超算为平台,不仅能模拟出地球上每个时期的状况,甚至是对宇宙中的种种同样能进行模拟分析,让地球科学和环境工程的研究范围不再限于此时此地,而是更广阔的空间。
在宇宙学的层面,早在2015年就利用高性能计算机模拟出宇宙大爆炸后1600万年之后至今约137亿年的暗物质和中微子的演化过程,并将进一步寻找宇宙边界的报告[31]。中微子虽然是自然界中的基本粒子之一,在宇宙大爆炸约1s后与其他等离子体物质退耦,形成看不见的宇宙背景,通过物理实验和实际的天文观测都无法精确测量中微子的质量。在高性能计算机平台上,利用3万亿粒子来对宇宙中的中微子和暗物质的分布和演化进行模拟,开创了宇宙学中独立测量中微子质量的道路。
在地球外围层面上,大气变化同样是一个关注点。Xue等人[32]提出了一种基于高性能计算机的全球性大气动态模拟的混合算法。通过使用更灵活的域分区方案来支持节点中任意数量的CPU和加速器,算法能够充分利用超算的优良性能。当使用8664个节点,包括了近170万个核心时,可以有效地利用节点内的三个MIC卡,对两个IvyBridgeCPU(24个内核)实现4.35倍的加速。基于成功的计算-通信重叠,算法分别在弱和强缩放测试中实现了93.5%和77%的并行效率。
相较于广袤无边的宇宙,大部分人们对于脚下的土地更加关心。自然灾害如地震、泥石流等,可能会造成巨大的生命财产损失,而地下油气资源又是经济社会发展所必需的,利用超级计算机去探索大地也是发展所需要的。
中石油集团开发的用于石油油气勘探的GeoEast系统已经经过了十几年的发展更新,在数据模型、数据共享、一体化运行模式、三维可视化、交互应用框架、地震地质建模、网络运行环境和并行处理方面取得了多项创新与重大技术突破,是地震数据处理解释一体化系统。目前GeoEastV3.0版本软件总体达到国际同类软件先进水平,为推动中国石油勘探开发领域不断取得新成果发挥了重要作用[33]。但是,这样的一体化系统在使用中势必会产生大量的数据,这就对计算机的性能有了要求。因此,在GeoEast系统闻名世界的过程中,高性能计算机在幕后是功臣之一,保证了系统的顺利运行,助力石油勘探工作[34]。而文献[35]专注于地震模拟,提出了针对英特尔至强处理器的对于软件SeisSol的优化,以适用于高性能计算机的计算环境中,通过全摩擦滑动和地震波的耦合仿真实现了空前复杂的地震模型。移植到高性能计算机的SeisSol提供近乎最佳的弱缩放,在8192个节点上达到8.6DP-PFLOPS,在所利用的整个高性能计算机上能达到18~20DP-PFLOPS,成功模拟了1992年兰德斯地震。
3.4智慧城市云计算
城市发展经过多年的调整,已经在经济上有了相当进展,目前从如何让人们生活更加便捷出发,许多地区开始建设智慧城市。智慧城市(SmartCity)是指利用各种信息技术或创新意念,集成城市的组成系统服务,以提升资源运用的效率,优化城市管理和服务,进而能够提高居民生活质量。智慧城市的发展不仅仅是对生活的改变,还能促进生产方式的转变,解决在城市扩张及经济高速发展中产生的一系列“城市病”问题。智慧城市,代表的是城市的智慧,由智慧,能够衍生出智能中、知识和数字等更广泛的内涵[36]。
迄今为止,广州、北京、上海、宁波、无锡、深圳、武汉、佛山等国内城市已纷纷启动“智慧城市”战略,相关规划、项目和活动渐次推出。高性能计算机云平台应运而生,为智慧城市建立坚实、先进的基石。智慧城市由于其性能需求,对依赖的平台的计算能力的要求会更高,而超算的计算能力就能为智慧城市的建设提供相当助力。在2014年,就有中国首台千万亿次超级计算机“天河一号”在智慧城市中应用的报道,以其在天津滨海区的应用为例,“天河一号”的建筑信息领域的大数据平台通过对建筑信息建模,实现对建筑物从规划、设计、建造到后期物业管理理的全程数字化。此外,城市规划、气象预测、生物医疗、装备制造、汽车碰撞模拟等行业,也能更多地通过“天河一号”,实现大批量数据计算、分析和存储[37]。
而高性能计算机的持续计算速度进一步达到了亿亿次,所能提供的服务质量也更高,麒麟云平台被部署在1920个节点(15个机柜),其中64个节点(两个机框)作为云平台控制节点,其余节点为运行虚拟机的计算节点和分布式存储的存储节点。为方便管理,将计算节点进行分区管理,512个节点(4个机柜)为一区,用于满足生产环境、适配环境、测试环境需要。分布式存储没有分区,所有节点形成一个全局的分布式存储池,但在使用时可按需划分指定容量的区域供不同用途使用[38]。这种云超算服务采用麒麟安全云系统实现虚拟化技术,将虚拟机资源远程推送给用户使用[39]。可通过互联网远程管理虚拟机资源,使高性能计算机云平台资源能够被更多人使用,超算的计算能力能够更好地推动社会各个领域发展。2017年OpenStack的第15个版本中,麒麟云团队在核心功能解决的Bug数,以及Commits的数量均进入全球前20,麒麟云的发展是非常迅速的,与开源社区紧密结合,贡献突出[40]。
3.5材料科学与工程
在材料科学与工程的研究中,量子力学、经典动力学、统计力学是三大基础且主要的研究方向。研究人员致力于材料参数的建模、多尺度平台开发和新材料的设计、开发和优化。
分子动力学模拟在材料科学、生物化学和生物物理学等领域得到了广泛的应用。分子动力学(MD)是研究分子和分子的物理运动的计算机模拟方法,它提供分子尺度上的微观取样。基于能量细化的辅助建模AMBER(AssistedModelBuildingwithEnergyRefinement)[41]是用于MD模拟的使用最广泛的软件包之一。然而,对于具有百万原子级的系统的AMBERMD模拟的速度仍然需要改进。彭绍亮等人[42]在单CPU上的细粒度OpenMP并行、单节点CPU/MIC并行优化和多节点多MIC协作并行加速方面进行了改进。在高性能计算机上实现AMBER的并行加速策略,与原程序相比,实现了25~33倍的最高加速比。同时,对于计算资源的限制,分子动力学软件GROMACS不能大规模地进行满意的操作。Wang等人[43]提出了一种利用卸载模式加速GROMACS的方法。为了提高GROMACS的效率,提出了异步化、数据重组和数组重用等一系列方法。在这种模式下,GROMACS可以与CPU和IntelXeonPHITM多个集成内核(MIC)协处理器同时有效地配置,充分利用高性能计算机资源。
材料辐照效应(Materialirradiationeffect)是使用核能的重要关键之一。然而,由于高通量辐照设施和进化过程知识的缺乏,此效应的利用并不好。在高性能计算的帮助下,Hu等人[44]提出了一种新的数据结构,用于大规模并行模拟金属材料在辐照环境下的演化。基于所提出的数据结构,开发了一种新的分子动力学软件——CrystalMD,并在高性能计算机上进行了二兆个原子模拟,对MD辐射效应研究的模拟规模进行了扩展。
3.6其他领域
近年来,随高性能计算的推广,政府部门对超级计算机的重视,旧产业转向新产业的变化及大量有高性能计算需求的企业对超级计算机的需求增大,超算人才培养初见成效[45]。在应用软件开发等推动下,高性能计算机的适用范围逐渐向更多领域渗透。
源于人工神经网络的研究深度学习作为人工智能的一个新研究领域,在模仿人脑的机制来解释如图像、声音和文本数据上有了很大进展。例如,卷积神经网络(CNN)能准确地对大型图像进行识别处理,然而CNN的训练密集程度很高,特别是对于大型具挑战性的任务,卷积层的参数数据量庞大。而高性能计算机的易访问、高峰值等性能使学术界和工业界都可以轻松访问相关平台,并可以在合理的时间内训练中等和较大规模的CNN。使用基于输入展开以将其投影为矩阵乘法(Unfold+Parallel-GEMM)的算法的CAFFE、Theano、Torch7、Chainer、CNTK和TensorFlow等最先进的CNN基础设施已可以在高性能计算机上进行部署和应用。
增强现实技术AR(AugmentedReality),将真实世界信息模拟至虚拟世界,让人随时产生真实感受。通过高性能计算机高效地实现算法,可以数字虚拟孕育“互联网+”新业态,开发虚拟试衣、模拟试驾等应用项目。