一种基于大规模高性能集群的卷积神经网络并行处理方法

文档序号:6635316阅读:262来源:国知局
一种基于大规模高性能集群的卷积神经网络并行处理方法
【专利摘要】本发明公开了一种基于大规模高性能集群的卷积神经网络并行处理方法,其步骤为:(1)将要训练的网络模型构建出多个副本,每个副本的模型参数均相同,副本的个数与高性能集群的节点数相同,每个节点上分布一个模型副本;选定一个节点作为主节点,负责模型参数的广播与收集;(2)将训练集分为若干子集,每次将训练子集分发给除主节点之外的其余子节点,共同进行参数梯度的计算,并将梯度值累计,累计值用来更新主节点模型参数,将更新后的模型参数广播给各个子节点,直到模型训练终止。本发明具有能够实现并行化、提高模型训练的效率、减少训练时间等优点。
【专利说明】一种基于大规模高性能集群的卷积神经网络并行处理方法

【技术领域】
[0001] 本发明主要涉及到高性能计算集群的设计领域,特指一种基于大规模高性能集群 的卷积神经网络并行处理方法。

【背景技术】
[0002] 高性能计算机是一个计算机集群系统,它通过高速互联技术将多个计算机系统连 接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为 "高性能计算集群"或"高性能集群"。高性能集群主要用于处理复杂的计算问题,应用在需 要大规模科学计算的环境中,如天气预报、石油勘探与油藏模拟、分子模拟、基因测序等。高 性能集群上运行的应用程序一般使用并行算法,把一个大的普通问题根据一定的规则分为 许多小的子问题,在集群内的不同节点上进行计算,而这些小问题的处理结果,经过处理可 合并为原问题的最终结果。由于这些小问题的计算一般是可以并行完成的,从而可以缩短 问题的处理时间。
[0003] 高性能集群在计算过程中,各节点是协同工作的,它们分别处理大问题的一部分, 并在处理中根据需要进行数据交换,各节点的处理结果都是最终结果的一部分。高性能集 群的处理能力与集群的规模成正比,是集群内各节点处理能力之和。随着大量的应用程序 开发和移植,集群架构以更低的成本获得更出色的性能,从而成为了高性能计算的主流,顺 应了平民化的发展趋势,促进集群架构在高性能计算机系统得到了广泛的应用。在CPU和 GTO计算能力的不断提升的过程中,如何整合两者的计算资源势必成为一个研究热点。
[0004] 卷积神经网络是一种特殊的深层神经网络模型。卷积网络最初受视觉神经机制 的启发而设计,是为识别二维形状而设计的一个多层感知器,这种网络结构对平移、比例缩 放、倾斜或者共他形式的变形具有高度不变性。1962年Hubel和Wiesel通过对猫视觉皮层 细胞的研究,提出了感受野(receptive field)的概念。1984年日本学者Fukushima基于感 受野概念提出了神经认知机(neocognitron)模型,它可以看作是卷积神经网络的第一个 实现,也是感受野概念在人工神经网络领域的首次应用。
[0005] -般地,卷积神经网络的基本结构包括两层,其一为特征提取层,每个神经元的输 入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其 它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征 映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用 sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映 射面上的神经元共享权值,减少了网络自由参数的个数。卷积神经网络中的每一个卷积层 都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了 特征分辨率。
[0006] 卷积神经网络主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于 卷积神经网络的特征检测层通过训练数据进行学习,所以在使用卷积神经网络时,避免了 显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元 权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优 势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优 越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输 入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂 度。
[0007] 卷积神经网络已成为当前语音分析和图像识别领域的研究热点,但是由于网络层 数多,权值参数数量巨大,因此网络模型的训练时间常常在数十天甚至几个月,训练时间较 长也使卷积神经网络的推广比较受限。但是由于其权值共享的独特优越性,卷积神经网络 并行学习为解决上述问题提供了思路,尤其是在GPU计算能力不断攀升的当今时代,如何 整合并行计算资源对卷积神经网络的训练进行加速也成为了研究的热点。
[0008] 而目前国际前沿对神经网络的加速研究主要集中于两个方向:第一,基于单个服 务器上多块GPU进行并行加速,单个服务器不涉及多个节点之间的数据传输,并行加速容 易实现,但是网络模型的规模受限于单个服务器的配置;第二,使用大规模集群对神经网路 的训练进行加速,提出了 DistBelief模型,但是并没有应用在卷积神经网络中,在受限玻 尔兹曼机和深信度网络中应用较为广泛。因此结合大规模高性能集群的计算优势,实现卷 积神经网络的并行学习,提高训练模型的效率,是本领域的一个技术难题,也是降低卷积神 经网络学习门槛,拓宽其应用的一个重要方面。


【发明内容】

[0009] 本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一 种能够实现并行化、提1?!?型训练的效率、减少训练时间的基于大规1?!?性能集群的卷积 神经网络并行处理方法。
[0010] 为解决上述技术问题,本发明采用以下技术方案:
[0011] 一种基于大规模高性能集群的卷积神经网络并行处理方法,其步骤为:
[0012] (1)将要训练的网络模型构建出多个副本,每个副本的模型参数均相同,副本的个 数与高性能集群的节点数相同,每个节点上分布一个模型副本;选定一个节点作为主节点, 负责模型参数的广播与收集;
[0013] (2)将训练集分为若干子集,每次将训练子集分发给除主节点之外的其余子节点, 共同进行参数梯度的计算,并将梯度值累计,累计值用来更新主节点模型参数,将更新后的 模型参数广播给各个子节点,直到模型训练终止。
[0014] 作为本发明的进一步改进:在所述步骤(1)中,每次迭代前先将网络模型的参数 进行随机初始化,初始化的模型参数包括权值参数W、偏置单元b ;先根据输入的网络参数 进行初始化,再逐层初始化网络权值参数和偏置单元。
[0015] 作为本发明的进一步改进:所述初始化的方式采用rands随机方式,使参数从-1 到1中随机取值。
[0016] 作为本发明的进一步改进:还包括步骤(3)模型参数的更新流程,S卩:在经过迭代 一定的步数后,各子节点将累积的参数梯度传回主节点,并统一进行规约操作和模型参数 的更新;然后,再将更新后的模型参数分发给各个子节点,各子节点再进行梯度的计算,直 到模型训练终止。
[0017] 作为本发明的进一步改进:在步骤(2)中,令主进程单独开一个线程预取训练集, 采用单进程进行数据读取并将数据集分发给其他节点;即,将〇号进程设置为主进程,负责 数据的读取以及发送,其余计算进程负责接收数据,发送和接收采用MPI_Send和MPI_Recv 来实现。
[0018] 作为本发明的进一步改进:在步骤(2)中,各节点是采用并行训练的方式进行模 型参数的训练;即:各个计算节点针对分配到该节点的训练数据集进行网络模型参数的训 练。
[0019] 作为本发明的进一步改进:所述模型训练的基本层次结构包括卷积层,下采样层 以及全连接层,每个层次包括前向传播和后向反馈两类计算;所述卷积层为特征提取层,每 个神经元的输入与前一层的局部感受野相连,并提取该局部特征;所述下采样层是特征映 射层,每个特征映射为一个平面,平面上所有神经元的权值相等;所述全连接层将提取的特 征整合为一个一维向量,最后连接到分类器上,完成整个网络的分类功能;所述前向传播 的计算,是将计算的结果与训练标签相对比,其误差进行反向传播,根据随机梯度下降算法 SGD计算偏导求出每个层次中每个模型参数的梯度Aw大小,并将Aw累计;重复上述前向 后向的过程,不断累加模型参数梯度△?,当每个计算节点上迭代计算次数累计到一定的阈 值时,进行同步通信,完成模型参数的更新。
[0020] 作为本发明的进一步改进:所述步骤(3)中,当整个迭代计算到一定次数,所有计 算节点将累计的参数梯度传回主进程,主进程对各个进程传回的进行规约操作,并 对模型参数w进行更新:

【权利要求】
1. 一种基于大规模高性能集群的卷积神经网络并行处理方法,其特征在于,步骤为: (1) 将要训练的网络模型构建出多个副本,每个副本的模型参数均相同,副本的个数与 高性能集群的节点数相同,每个节点上分布一个模型副本;选定一个节点作为主节点,负责 模型参数的广播与收集; (2) 将训练集分为若干子集,每次将训练子集分发给除主节点之外的其余子节点,共同 进行参数梯度的计算,并将梯度值累计,累计值用来更新主节点模型参数,将更新后的模型 参数广播给各个子节点,直到模型训练终止。
2. 根据权利要求1所述的基于大规模高性能集群的卷积神经网络并行处理方法,其特 征在于,在所述步骤(1)中,每次迭代前先将网络模型的参数进行随机初始化,初始化的模 型参数包括权值参数W、偏置单元b;先根据输入的网络参数进行初始化,再逐层初始化网 络权值参数和偏置单元。
3. 根据权利要求2所述的基于大规模高性能集群的卷积神经网络并行处理方法,其特 征在于,所述初始化的方式采用rands随机方式,使参数从-1到1中随机取值。
4. 根据权利要求1或2或3所述的基于大规模高性能集群的卷积神经网络并行处理方 法,其特征在于,还包括步骤(3)模型参数的更新流程,S卩:在经过迭代一定的步数后,各子 节点将累积的参数梯度传回主节点,并统一进行规约操作和模型参数的更新;然后,再将更 新后的模型参数分发给各个子节点,各子节点再进行梯度的计算,直到模型训练终止。
5. 根据权利要求1或2或3所述的基于大规模高性能集群的卷积神经网络并行处理方 法,其特征在于,在步骤(2)中,令主进程单独开一个线程预取训练集,采用单进程进行数 据读取并将数据集分发给其他节点;即,将〇号进程设置为主进程,负责数据的读取以及发 送,其余计算进程负责接收数据,发送和接收采用MPI_Send和MPI_Recv来实现。
6. 根据权利要求1或2或3所述的基于大规模高性能集群的卷积神经网络并行处理方 法,其特征在于,在步骤(2)中,各节点是采用并行训练的方式进行模型参数的训练;S卩:各 个计算节点针对分配到该节点的训练数据集进行网络模型参数的训练。
7. 根据权利要求4所述的基于大规模高性能集群的卷积神经网络并行处理方法,其特 征在于,所述模型训练的基本层次结构包括卷积层,下采样层以及全连接层,每个层次包括 前向传播和后向反馈两类计算;所述卷积层为特征提取层,每个神经元的输入与前一层的 局部感受野相连,并提取该局部特征;所述下采样层是特征映射层,每个特征映射为一个平 面,平面上所有神经元的权值相等;所述全连接层将提取的特征整合为一个一维向量,最后 连接到分类器上,完成整个网络的分类功能;所述前向传播的计算,是将计算的结果与训练 标签相对比,其误差进行反向传播,根据随机梯度下降算法SGD计算偏导求出每个层次中 每个模型参数的梯度大小,并将累计;重复上述前向后向的过程,不断累加模型参 数梯度Aw,当每个计算节点上迭代计算次数累计到一定的阈值时,进行同步通信,完成模 型参数的更新。
8. 根据权利要求7所述的基于大规模高性能集群的卷积神经网络并行处理方法,其 特征在于,所述步骤(3)中,当整个迭代计算到一定次数,所有计算节点将累计的参数梯度 Λw传回主进程,主进程对各个进程传回的△w进行规约操作,并对模型参数w进行更新:
【文档编号】G06N3/02GK104463324SQ201410674860
【公开日】2015年3月25日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】王馨 申请人:长沙马沙电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1