首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于并行计算的BP神经网络算法的提速方法和系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:融鼎岳(北京)科技有限公司

摘要:一种基于并行计算的BP神经网络算法的提速方法和系统,应用于分布式图形处理器的数据处理,提速方法包括:数据转换单元将训练数据集进行转换得到样本数据;数据分配单元将样本数据进行分组,得到分组样本数据;数据分配单元将分组样本数据平均分配至并行的图形处理器,每个图形处理器对当前图形处理器的分组样本数据进行计算,得到各自的计算值;每个图形处理器对各自的计算值进行排序后,分别按第一指定规则返回K个值;数据分析单元将所有图形处理器返回的K个值按照第二指定规则进行B树排序,取排序中最佳的K个值为最终计算结果。本发明适用于多种数据计算的提速,充分利用图形处理器多核心的计算能力,提高了神经网络算法的实时计算能力。

主权项:1.一种基于并行计算的BP神经网络算法的提速方法,应用于分布式图形处理器的数据处理,其特征在于,包括如下步骤,步骤一,数据转换单元将训练数据集进行预处理后,将训练数据集进行转换得到样本数据;所述样本数据使用内存态表示,数据结构为链表结构;样本数据根据训练数据集的增加而动态增加,随着使用时间增长而增长,同时定期持久化,写入到内存,并存储在数据存储单元;数据转换单元将训练数据集进行预处理包括清理数据、处理缺失值、转换数据类型、编码分类变量、标准化数值变量,数据转换单元在处理文本数据时,使用词袋模型或TF-IDF方法将每个文本转换成一个向量,数据转换单元在处理图像数据时,使用特征提取的方法将像素值进行标准化;步骤二,数据分配单元根据分组数量、样本的随机性、数据均衡、数据连续性,以及计算的资源限制将样本数据进行分组,得到分组样本数据;分组样本数据的数量为2N,N为神经网络的隐藏层层数和或图形处理器的数量;所述N为神经网络的隐藏层层数还是图形处理器的数量,根据问题的具体需求和可用的计算资源来分别选择神经网络的隐藏层层数和或图形处理器的数量;当N为神经网络的隐藏层层数时,每一组数据将被分配给一个图形处理器进行处理,一个隐藏层的神经元将会处理两个分组样本数据;当分组样本数据被分配给图形处理器进行并行处理时,N为图形处理器的数量,此时,每个图形处理器将会处理两组样本数据;所述分组样本数据包括数据标志,所述数据标志用于对所述分组样本数据进行标记,保证样本数据在分组或分配时,对原始顺序进行标记;所述数据标志包括标识符、索引;所述数据标志在数据分组或分配之前进行;步骤三,数据分配单元将分组样本数据平均分配至并行的图形处理器,每个图形处理器对当前图形处理器的分组样本数据进行计算,得到各自的计算值;步骤四,每个图形处理器对各自的计算值进行排序后,分别按照第一指定规则返回K个值;每个图形处理器在返回数据时,将数据与其原始的数据标志一起返回;当图形处理器完成计算并返回结果时,数据分配单元收集每个图形处理器返回的结果:按照第一指定规则返回K个值;图形处理器返回的结果包括图形处理器计算的值以及对应的数据标志;当数据标志为索引时,图形处理器返回计算结果将每个结果与其对应的索引一起返回;步骤五,数据分析单元将所有图形处理器返回的K个值按照第二指定规则进行B树排序,取排序中最佳的K个值为最终计算结果;所述步骤三中,数据分配单元将分组样本数据平均分配至并行的图形处理器具体包括,所述数据分配单元将分组样本数据按顺序进行分组标号,得到标记组样本数据group1、group2、group3……groupM,M为样本数据的分组数量,为正整数;所述图形处理器的数量为N个,N为正整数,所述数据分配单元将每个图形处理器按照排列顺序依次进行标号processcor1、processcor2……processcorN;所述数据分配单元将标记组样本数据根据图形处理器数量N分配至对应的图形处理器:每个图形处理器processcorZ对应的标记组样本数据为group(Z+0*N)、group(Z+1*N)、group(Z+2*N)……group(Z+n*N);n为正整数,指当前标记组样本数据所对应图形处理器的分组序号,即为当前标记组样本数据所对应图形处理器的第几个分组;N+n*N为小于等于M的正整数;Z为大于等于1小于等于N的正整数,表示当前图形处理器的标号;每个图形处理器将分配的标记组样本数据进行计算,分别得到图形处理器对应的计算值;所述步骤三中,每个图形处理器对当前图形处理器的分组样本数据进行计算具体为,每个图形处理器随机分配线程将分配的标记组样本数据采用神经网络的方式进行计算;每个图形处理器计算过程包括执行神经网络的前向传播和反向传播、计算梯度、以及更新权重;前向传播:每个图形处理器将使用当前神经网络的权重和偏置,对其分配的样本数据进行预测;反向传播:每个图形处理器计算预测结果和真实标签之间的差异,即损失函数,并根据这个差异计算模型参数的梯度;通常计算模型参数的梯度应用链式法则进行微分,并存储前向传播过程中的中间结果;梯度计算和权重更新:每个图形处理器使用计算出的梯度更新模型参数;更新模型参数采用优化算法,包括随机梯度下降(SGD)或其变体;每个图形处理器将更新后的模型参数以及计算的结果,返回给主程序,主程序收集所有图形处理器的结果,进行后续处理,并用这些结果来更新全局的模型参数;这个过程在每个训练周期或一定数量的训练步骤后进行;更新后的模型参数以及计算的结果包括损失函数的值,后续处理包括取平均;步骤四中,当所述第一指定规则为取最小的K个值时,排序使用一个最大堆来实现,当所述第一指定规则为取最大的K个值时,排序使用一个最小堆来实现;所述第一指定规则和第二指定规则为设置规则,预设在存储单元的规则中,或通过输入单元重新输入;所述第一指定规则和第二指定规则是根据对样本数据计算所需要获得的结果确定的;K是一个预定义的参数,代表每个图形处理器需要从其计算结果中返回的元素数量,其通过输入单元进行设置修改;所述第一指定规则为满足某种特定条件的K个值,为最大的K个值、最小的K个值,或其它特定条件的K个值;当所述第一指定规则为取最小的K个值时,排序可以使用一个最大堆来实现,每次从图形处理器的计算结果中取出一个值,如果堆未满,直接插入;如果堆已满且当前值小于堆顶值,那么替换堆顶值,并调整堆;最后,堆中的K个值就是最小的K个值;当所述第一指定规则为取最大的K个值时,排序可以使用一个最小堆来实现,每次从图形处理器的计算结果中取出一个值,如果堆未满,直接插入;如果堆已满且当前值大于堆顶值,那么替换堆顶值,并调整堆;最后,堆中的K个值就是最大的K个值;在这两种情况下,通过维护一个大小为K的堆来保证能够有效地找出最小或最大的K个值;当新的值来时,会与堆顶的值进行比较,并根据需要更新堆;所述步骤五中,所述数据分析单元采用B树进行自动排序:在每个处理返回数据以后,所述数据分析单元利用B树对返回的K个数据进行排序,当所有图形处理器都返回结果后,所述数据分析单元从B树中选取排序中最佳的K个值作为最终的结果返回;数据分析单元将所有图形处理器返回的K个值根据对应的数据标志进行排序,以恢复结果的原始顺序;当数据标志为索引时,在收集到所有图形处理器返回的K个值后,数据分析单元根据返回的索引对所有图形处理器返回的K个值进行排序,以恢复数据的原始顺序;然后,数据分析单元按照第二指定规则,使用B树对排序后的所有图形处理器返回的K个值进行进一步排序和截取,以得到最终的K个最优结果;取排序中最佳的K个值,其具体的第二指定规则取决于使用的具体目的和计算方法,当最佳的K个值指的是最高评分的K个结果、最接近某个目标值的K个结果、或者满足某些其他条件的K个结果时,第二指定规则是根据提速系统在计算过程中的具体需求来设定的:如果正在进行一种搜索任务,包括查找最近邻,那么提速系统在计算过程中需要查找距离较小的结果,此时第二指定规则为按照由小到大的顺序进行排序,排序中最佳的K个值即为结果最小的K个值,较小的值为最近邻;如果正在优化一个损失函数,此时第二指定规则为将损失函数的值由小到大进行排序,排序中最佳的K个值即为结果最小的K个值,损失函数的值最小,其对应的模型表现最好;如果正在处理一种排名任务,分数代表相关性或优先级,此时第二指定规则为按照由大到小的顺序进行排序,排序中最佳的K个值即为结果最大的K个值,较大的值就会更优;所述步骤五中B树为自平衡树,其被用来存储和排序图形处理器返回的K个值,具体包括以下步骤:插入数据:每当一组数据从图形处理器返回时,数据就被插入到B树中,B树的插入操作会保证树的平衡性,即所有叶子节点的深度都相同;提取数据:当所有数据都插入完毕后,根据第二指定规则从B树中取出最优的K个值;如果规则是取最小的K个值,那么可以进行中序遍历,依次取出最小的K个值;如果规则是取最大的K个值,那么可以进行反向的中序遍历,依次取出最大的K个值。

全文数据:

权利要求:

百度查询: 融鼎岳(北京)科技有限公司 一种基于并行计算的BP神经网络算法的提速方法和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。