System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及对分布式图形处理器的数据处理的,更具体的说,特别涉及一种基于并行计算的bp神经网络算法的提速方法和系统。
技术介绍
1、人工神经网络(artificial neural networks, ann)是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信息存储、良好的自组织自学习能力等特变。bp(back propagation)算法又称为误差反向传播算法,是人工神经网络中的一种监督式的学习算法。bp 神经网络算法在理论上可以逼近任意函数,基本的结构由非线性变化单元组成,具有很强的非线性映射能力。而且网络的中间层数、各层的处理单元数及网络的学习系数等参数可根据具体情况设定,灵活性很大,在优化、信号处理与模式识别、智能控制、故障诊断等许多领域都有着广泛的应用前景。
2、但是bp神经网络算法有个问题就是计算量比较大,尤其是随着数据量的增加,计算量成几何倍数增加,样本数量达到百万级以上时,往往需要较长的处理时间,即使有分布式计算框架,但是无法实时处理。
3、因此,现有技术存在的问题,有待于进一步改进和发展。
技术实现思路
1、(一)专利技术目的:为解决上述现有技术中存在的问题,本专利技术的目的是提供一种可以充分利用图形处理器多核心计算能力的基于并行计算的bp神经网络算法的提速系统和方法。
2、(二)技术方案:为了解决上述技术问题,本技术方案提供一种基于并行计算的bp神经网络算法的提速方法,应用于分布式图形处理器的数据处理,包括
3、步骤一,数据转换单元将训练数据集进行转换得到样本数据;
4、步骤二,数据分配单元将样本数据进行分组,得到分组样本数据;
5、步骤三,数据分配单元将分组样本数据平均分配至并行的图形处理器,每个图形处理器对当前图形处理器的分组样本数据进行计算,得到各自的计算值;
6、步骤四,每个图形处理器对各自的计算值进行排序后,分别按照第一指定规则返回k个值;
7、步骤五,数据分析单元将所有图形处理器返回的k个值按照第二指定规则进行b树排序,取排序中最佳的k个值为最终计算结果。
8、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述样本数据使用内存态表示,数据结构为链表结构。
9、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述步骤一中包括所述数据转换单元将训练数据集进行预处理。
10、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述步骤二中,分组样本数据的数量为2n,n为神经网络的隐藏层层数和/或图形处理器的数量。
11、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述分组样本数据包括数据标志,所述数据标志用于对所述分组样本数据进行标记;所述数据标志包括标识符、索引。
12、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述步骤三中具体包括如下步骤,
13、步骤31,所述数据分配单元将分组样本数据按顺序进行分组标号,得到标记组样本数据;所述数据分配单元将每个图形处理器按照排列顺序依次进行标号;
14、步骤32,所述数据分配单元将标记组样本数据根据图形处理器数量n分配至对应的图形处理器;
15、步骤33,每个图形处理器将分配的标记组样本数据进行计算,分别得到图形处理器对应的计算值。
16、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述步骤32中,每个图形处理器processcorz对应的标记组样本数据为group(z+0*n)、group(z+1*n)、group(z+2*n)……group(z+n*n);
17、n为正整数,指当前标记组样本数据所对应图形处理器的分组序号,即为当前标记组样本数据所对应图形处理器的第几个分组;n+n*n为小于等于m的正整数;z为大于等于1小于等于n的正整数,表示当前图形处理器的标号;
18、所述步骤33中,每个图形处理器随机分配线程将分配的标记组样本数据采用神经网络的方式进行计算。
19、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述第一指定规则和第二指定规则为设置规则,预设在存储单元的规则中,或通过输入单元重新输入;
20、k是一个预定义的参数,代表每个图形处理器需要从其计算结果中返回的元素数量,其通过输入单元进行设置/修改。
21、所述一种基于并行计算的bp神经网络算法的提速方法,其中,所述步骤五中,所述数据分析单元采用b树进行自动排序:在每个处理返回数据以后,所述数据分析单元利用b树对返回的k个数据进行排序,当所有图形处理器都返回结果后,所述数据分析单元从b树中选取排序中最佳的k个值作为最终的结果返回。
22、一种基于并行计算的bp神经网络算法的提速系统,用于分布式图形处理器的数据处理,包括数据转换单元、数据分配单元、数据分析单元和数据存储单元,
23、所述数据转换单元将训练数据集进行转换得到样本数据;所述数据分配单元将样本数据进行分组,得到分组样本数据后,将分组样本数据均分至并行的图形处理器,每个图形处理器对当前图形处理器的分组样本数据进行计算,得到各自的计算值后排序返回k个值;所述数据分析单元将所有图形处理器返回的k个值按照第二指定规则进行排序,取排序中最佳的k个值得到最终计算结果;所述数据存储单元用于存储初始训练数据集以及数据转换单元、数据分配单元和数据分析单元产生的数据。
24、(三)有益效果:本专利技术提供一种基于并行计算的bp神经网络算法的提速方法和系统适用于多种数据计算的提速,并且充分利用图形处理器多核心的计算能力,大大提高了神经网络算法的实时计算能力。
本文档来自技高网...【技术保护点】
1.一种基于并行计算的BP神经网络算法的提速方法,应用于分布式图形处理器的数据处理,其特征在于,包括如下步骤,
2.根据权利要求1所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述样本数据使用内存态表示,数据结构为链表结构。
3.根据权利要求2所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述步骤一中包括所述数据转换单元将训练数据集进行预处理。
4.根据权利要求2所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述步骤二中,分组样本数据的数量为2N,N为神经网络的隐藏层层数和/或图形处理器的数量。
5.根据权利要求4所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述分组样本数据包括数据标志,所述数据标志用于对所述分组样本数据进行标记,保证样本数据在分组或分配时,对原始顺序进行标记;所述步骤四中每个图形处理器在返回数据时,将数据与其原始的数据标志一起返回;所述数据标志包括标识符、索引。
6.根据权利要求1所述一种基于并行计算的BP神经网络算法的提速方法,其特征在
7.根据权利要求6所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述步骤32中,每个图形处理器processcorZ对应的标记组样本数据为group(Z+0*N)、group(Z+1*N)、group(Z+2*N)……group(Z+n*N);
8.根据权利要求1所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述第一指定规则和第二指定规则为设置规则,预设在存储单元的规则中,或通过输入单元重新输入;
9.根据权利要求1所述一种基于并行计算的BP神经网络算法的提速方法,其特征在于,所述步骤五中,所述数据分析单元采用B树进行自动排序:在每个处理返回数据以后,所述数据分析单元利用B树对返回的K个数据进行排序,当所有图形处理器都返回结果后,所述数据分析单元从B树中选取排序中最佳的K个值作为最终的结果返回。
10.一种基于并行计算的BP神经网络算法的提速系统,用于分布式图形处理器的数据处理,其特征在于,包括数据转换单元、数据分配单元、数据分析单元和数据存储单元,
...【技术特征摘要】
1.一种基于并行计算的bp神经网络算法的提速方法,应用于分布式图形处理器的数据处理,其特征在于,包括如下步骤,
2.根据权利要求1所述一种基于并行计算的bp神经网络算法的提速方法,其特征在于,所述样本数据使用内存态表示,数据结构为链表结构。
3.根据权利要求2所述一种基于并行计算的bp神经网络算法的提速方法,其特征在于,所述步骤一中包括所述数据转换单元将训练数据集进行预处理。
4.根据权利要求2所述一种基于并行计算的bp神经网络算法的提速方法,其特征在于,所述步骤二中,分组样本数据的数量为2n,n为神经网络的隐藏层层数和/或图形处理器的数量。
5.根据权利要求4所述一种基于并行计算的bp神经网络算法的提速方法,其特征在于,所述分组样本数据包括数据标志,所述数据标志用于对所述分组样本数据进行标记,保证样本数据在分组或分配时,对原始顺序进行标记;所述步骤四中每个图形处理器在返回数据时,将数据与其原始的数据标志一起返回;所述数据标志包括标识符、索引。
6.根据权利要求1所述一种基于并行计算的bp神经网络算法的提速方法,...
【专利技术属性】
技术研发人员:赵敏,邱志坚,段玉龙,杨硕,
申请(专利权)人:融鼎岳北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。