[发明专利]一种面向多核计算环境的BP神经网络并行化方法在审
| 申请号: | 201710073067.1 | 申请日: | 2017-02-10 |
| 公开(公告)号: | CN106909971A | 公开(公告)日: | 2017-06-30 |
| 发明(设计)人: | 汤德佑;梁珩琳;曾庆淼;张亚卓;汤达祺;邹春刚 | 申请(专利权)人: | 华南理工大学;广州讯鸿网络技术有限公司 |
| 主分类号: | G06N3/08 | 分类号: | G06N3/08;G06F9/50;G06F12/0893;G06F12/0897 |
| 代理公司: | 广州市华学知识产权代理有限公司44245 | 代理人: | 李斌 |
| 地址: | 广东省广州*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 多核 计算 环境 bp 神经网络 并行 方法 | ||
技术领域
本发明涉及BP神经网络和高性能计算领域,特别涉及一种面向多核计算环境的BP神经网络并行化方法。
背景技术
人工神经网络(Artificial Neural Network,即ANN)由人脑神经元网络抽象而来,通过对自然神经网络的特性进行抽象和模拟完成信息分析和处理。BP神经网络算法是目前应用最广泛的神经网络模型之一,被成功应用于信息、生物和医学等领域的研究中。神经网络算法在面对庞大数据集或复杂网络结构时,网络训练时间长、训练速度慢,导致网络计算的整体效率下降,阻碍了BP神经网络的应用与发展。
在硬件进入多核时代后,串行计算方式已经无法充分利用多核硬件资源,只有并行化BP神经网络才能体现神经网络的价值。并行神经网络通常采用数据并行或结构并行方式。数据并行将训练样本集平均划分给不同的节点,每一个计算单元保存网络的完整结构和参数,多个计算单元对不同样本同时进行学习,在所有样本学习结束后,基于样本总误差对神经元权值进行调整。数据并行适合神经网络的训练阶段,但在输入变量数较大情况下仍然无法充分利用计算资源。在预测或分类阶段,数据并行也不能有效利用计算资源。
结构并行根据网络本身的结构特点,将网络中的神经元进行划分,交由不同的计算单元进行处理,计算单元之间需交换数据,实现网络训练的并行化。结构并行可最大限度利用计算资源,常采用按层或横向结构划分。按层划分将不同层级的计算任务分配给不同的计算单元,必要时可用结合流水技术,但这种方法需精心设计,否则易出现负载不均衡,影响效率提升。横向结构划分将整个网络横向划分,将各层的神经元分配给不同的计算单元,每个计算单元都包含输入层、隐藏层和输出层的一部分神经元。横向结构划分容易平衡负载,但同步过多,因此效率提升有限。
在高性能计算技术发展迅速情况下,如何提高BP神经网络的扩展性,使之能在训练和分类阶段均可充分利用硬件资源,能适用不同输入规模,缩短从输入到产生有效输出的时间,并行化方法尤为重要。
发明内容
为克服现有技术存在的缺点和不足,本发明针对多核计算环境的特点,提供了一种面向多核计算环境的BP神经网络并行化方法。
为了达到上述目的,本发明采用以下技术方案:
一种面向多核计算环境的BP神经网络并行化方法,包括下述步骤:
S1、并行计算任务划分及映射方法;
并行计算任务划分为:对含P个计算单元的硬件平台,将BP神经网络划分为P个初始任务和P个训练任务,每个训练任务贯穿输入层、各隐藏层和输出层,贯穿于正向计算和反向调整阶段;
所述的任务映射方法为:将一个计算任务映射到一个计算单元,设置最后一个计算单元为主计算单元;
S2、存储各层中间计算结果的缓存设置方法,使一趟训练过程中,同一变量被上一个子任务访问后可用于下一个子任务,不会产生二级缓存缺失;
S3、BP神经网络的并行训练方法,训练方法如下:
将训练过程分为M趟,每一趟训练中的样本分K批输入BP神经网络,一批样本完成正向计算后再执行反向调整,依次计算输出层校正误差、连接权值调整量部分和、阈值调整量部分和,计算各隐藏层校正误差、连接权值调整量部分和、阈值调整量部分和,K批样本完成训练后再根据输出层总体校正误差,利用连接权值调整量和阈值调整量反向实施各层的连接权值和阈值调整。
作为优选的技术方案,所述初始化任务包括:
BP神经网络初始化子任务,生成BP神经网络实例;
样本初始化处理子任务,将样本编码为BP神经网络的输入向量。
作为优选的技术方案,所述训练任务包括:
H个第i隐藏层正向计算子任务,其中H为整数,H表示为隐藏层数,1≤i≤H,计算第i隐藏层各神经元的输出;
输出层正向计算子任务,计算输出层各神经元输出和校正误差;
输出层反向计算子任务,计算输出层各神经元的连接权值调整量和阈值调整量;
H个第i隐藏层反向计算子任务,计算第i隐藏层各神经元的校正误差、连接权值调整量和阈值调整量。
作为优选的技术方案,步骤S2中
所述缓存设置方法具体包括下述步骤:
S21、共享的输入缓存1个,用于暂存在当前神经网络中训练的输入向量;
S22、输出缓存H+P个,用于暂存每批样本对神经元产生的计算输出,包括H个隐藏层共享输出缓存和P个输出层私有输出缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学;广州讯鸿网络技术有限公司,未经华南理工大学;广州讯鸿网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710073067.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种烟草制品溶出液中的烟碱检测装置
- 下一篇:一种多功能红外光谱仪用样品支架





