基于Deep Learning多隐含层感知架构的超级计算机

时间:2022-04-20 03:32:01

基于Deep Learning多隐含层感知架构的超级计算机

摘 要:在大数据高效处理和学习方面,超级计算机和Deep Learning[1](深度学习)已经成为了引人注目的话题。结合Deep learning和超级计算机基础知识,提出了基于Deep Learning多隐含层感知架构的超级计算机新模型,并针对该架构超级计算机的计算速率和容错性能两方面,分析了该架构超级计算机的高性能性。

关键词:大数据;超级计算机;深度学习;多隐含层感知;高性能

中图分类号:TP393.0

超级计算机是计算机系统中计算能力最强的一种,也是推动计算科学进步的中坚力量,高性能是超级计算机的重要指标。超级计算机在需要密集计算、海量数据处理、工程模拟等领域发挥着举足轻重的作用,它已经成为国力的一种象征。深度学习是机器学习[2]研究的新领域,源于人工神经网络[3]研究。

1 Deep Learning(深度学习)

1.1 Deep Learning多隐含层感知架构

Deep Learning结构最优秀的特征是多隐含层的多层感知器[4]架构。该架构使得它具有优异的特征学习能力。并且它的“逐层初始化”(layer-wise pre-training)有效地克服了深度神经网络在训练上的难度。Deep Learning的多隐含层结构由包括输入层、隐层(多层)、输出层组成的多层网络。它的每一层可以认为是一个浅度学习模型(如Support Vector Machines);这种分层结构比较接近人类大脑的结构。

人大脑皮层计算也是分多层进行,例如人的视觉系统,对图像数据的处理是从V1区传到V2区然后依次在各个区进行处理。使用含多隐含层感知器架构网络主要优势在于能以简洁的方式来表达比浅层网络大得多的函数集合。通过这种深层非线性网络结构,Deep Learning可以实现复杂函数的逼近,并表现出极强的从少量数据学习本质特征的能力。

1.2 Deep Learning训练过程

(1)首先逐层构建单层神经元,使得每次都是训练一个单层网络。

(2)当所有层训练完后,使用wake-sleep算法[5]进行调优。

将除最顶层的其它层间的权重变为双向的。其中向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让“认知”和“生成”达成一致。Wake-Sleep算法分为醒(Wake)和睡(Sleep)两个部分。

Wake阶段:“认知”过程,通过外界输入物体的特征和向上的权重(认知权重)产生每一层的抽象表示(结点状态),并用梯度下降修算法调整层间的向下的权重(生成权重)。

Sleep阶段:“生成”过程,通过顶层表示(醒时学得的状态)和向下权重(生成权重),生成底层的状态,如果没有复原底层状态,则调整层间向上的权重(认知权重),再重新使用Wake-Sleep算法调优,直到顶层表示能够复原底层状态。

2 基于Deep Learning多隐含层感知架构超级计算机

2.1 超级计算机系统四层应用视图

按照面向应用的层次化可用性建模[6]方法,可以描述一般超级计算机系统的四层应用视图。

节点层:该层的基本单元是个体计算节点,而个体计算节点是系统向用户提供的基本计算资源。

系统层:该层是为了帮助系统管理人员从整机角度观察系统的强度可用性水平,以便于调整节点调度、作业调度、失效处理等重要决策。

作业分区层:该层由一个个作业区组成。每个作业分区对应一个作业队列,其上可有若干用户作业并行执行。系统的所有节点资源是按照分区规则进行调度使用的。

作业层:该层是作业用户从单个作业的角度所见的强度可用性层次。

2.2 基于Deep Learning多隐含层的超级计算机计算节点模型

超级计算机系统能提供多大的计算能力,对系统的高性能优势的发挥有着直接影响。计算节点是系统提供的基本计算资源。从而提高每个计算节点的计算性能对系统的高性能优势的发挥有很大的影响。故提出基于Deep Learning 多隐含层感知架构的超级计算机计算节点模型。

基于Deep Learning多隐含层感知架构的计算节点具有多层,每层由多个子计算节点组成,层间子计算节点通过计算网络传递数据。每个子计算节点是一个独立的计算单元,它主要由计算部件、互连部件和存储部件组成。

工作原理:当作业从系统层调度到计算节点后,计算节点的多个层依次对输入数据处理。每层的子计算节点利用处理函数(处理向量),对输入数据进行简单操作生成处理结果和处理函数(处理向量)对应的反函数(反向处理向量),然后反函数(反向处理向量)和处理结果通过运算生成反向处理结果,再让反向处理结果与输入数据比较:如果反向处理结果与输入数据不相同,则认为该子计算节点计算操作错误,将错误信息报告到系统,再由系统调用其他计算节点对该输入数据重新处理;如果反向处理结果与输入数据相同则认为处理操作正确,则将正确处理结果作为下层子计算节点的输入数据,依次迭代操作,直到最终正确处理结果输入到该计算节点的输出接口,最后正确处理结果被传递到高速计算网络。如果作业需要计算节点间协同处理才能完成整个处理操作,则将这个计算节点的正确处理结果通过高速计算网络传递到另外一个计算节点进行同样过程的操作,依次迭代,直到完成对该作业的所有操作,系统输出最终正确处理结果;如果作业只需要一个计算节点的处理就能够完成对作业的所有操作,就将这个计算节点的正确处理结果作为系统对作业的最终处理结果,输出系统。

计算节点采用多层次能够减轻每层子计算节点的负担,提高每层子计算节点处理速度,进而提高了整个计算节点的处理速度。而且计算节点采用多层能够避免过多的中间数据占用高速计算网络,从而提高了计算节点间数据传递的速度。计算节点多层次间采用反向回馈机制,能够有效的避免计算错误或降低计算错误率,从而增强系统的容错性能。计算速度的提高和容错性能的增强最终能够使超级计算机的总体性能提高。

3 结束语

本文主要提出对超级计算机的底层计算节点利用基于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]Chuang Gao,Bin Chen,Wei Wei.Dynamic detection of wake sleep transition with reaction time-magnitude[J].Neural Regenerattion Research,2009(07):552-560.

[6]郑霄.超级计算机系统的可用性评估研究[D].郑州:信息工程大学,2009.

作者简介:鲁向拥(1992-),男,河南开封人,在校本科生,研究方向:计算机科学与技术;刘正发(1990-),男,山西运城人,在校本科生,研究方向:自动化;李明明(1992-),男,河南济源人,在校本科生,研究方向:网络工程。

作者单位:河南大学 计算机与信息工程学院,河南开封 475000

上一篇:湖北省气象干旱发生规律及其指标适用性研究 下一篇:江汉平原主推小麦品种抗渍能力研究