[发明专利]一种基于spark的遗传算法优化的BP神经网络并行化方法有效
申请号: | 201510330035.6 | 申请日: | 2015-06-16 |
公开(公告)号: | CN104866904B | 公开(公告)日: | 2019-01-01 |
发明(设计)人: | 童晓渝;赵华;叶定松;罗光春;田玲;刘贵松 | 申请(专利权)人: | 中电科软件信息服务有限公司;电子科技大学 |
主分类号: | G06N3/12 | 分类号: | G06N3/12 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张颖玲 |
地址: | 200000 上海市嘉定区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 遗传 算法 优化 bp 神经网络 并行 方法 | ||
1.一种BP神经网络并行化方法,其特征主要包括:
步骤1:数据预处理,将全局训练集切分成多个子集和,并且存储到分布式文件系统中;
步骤2:采用遗传算法对BP神经网络的权值进行全局进化寻优,得到优化的网络初始权值;
其中所述步骤2进一步包括以下步骤2.1到步骤2.6:
步骤2.1:在spark集群中启动实现map接口的作业,各个节点将部分训练数据作为RDD输入,将每个个体编码成染色体,生成新的种群RDD数据集;
步骤2.2:将新生成的种群RDD作map转换处理,根据适应度函数计算每个个体的适应度值;
步骤2.3:由个体适应度值所决定的规则,选择将进入下一代的个体,生成优胜劣汰后的种群RDD;
步骤2.4:将步骤2.3中生成的种群RDD作交叉操作;
步骤2.5:将步骤2.4中生成新的种群RDD作变异操作;
步骤2.6:若迭代次数满足条件或结果达到收敛条件,得到初始网络权值,结束;若未达到收敛条件,进入步骤2.2进行下一轮的迭代;
步骤3:在各计算节点上均采用优化后的网络初始权值建立自身的神经网络结构;
步骤4:采用BP神经网络算法,对原始训练数据集进行迭代训练;
其中所述步骤4进一步包括以下步骤4.1到步骤4.4:
步骤4.1:在Driver进程中读取网络初始权值,并广播到每个计算节点;
步骤4.2:在每个计算节点上用初始权值实例化一个网络结构;
步骤4.3:在每个计算节点上,使用批量训练的模式将部分样本作用于网络上,进行预定次数的迭代后输出网络权值;
步骤4.4:综合各个节点的输出获得新的网络权值,并根据网络权值的调整量决定是否进行再次迭代;
步骤5:输出训练后的神经网络结构。
2.根据权利要求1所述的方法,其特征在于,所述步骤2.4进一步包括:
按照交叉操作的概率Pc选出种群中需要进行交叉操作的染色体,随机作两两配对处理,每两个染色体中的部分基因进行交换,将选择操作后的种群RDD作flatMap转换处理,每次读取一个个体,按照概率Pc决定是否输出该个体,然后将筛选后的所有个体作map转换处理,每次读取两个染色体对象,根据基因交换规则,将两个染色体的部分基因进行交换,并输出这两个新的染色体对象,生成交叉操作后的种群RDD。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤2.5进一步包括:
按照变异操作的概率Pm选择出需要进行变异操作的个体,然后对这些个体上的某位基因进行突变,将交叉操作的种群RDD作map转换处理,每次处理一个染色体对象,根据变异操作的概率Pm决定该染色体是否需要进行基因突变,若需要进行突变,按照相应的基因突变规则将该染色体上的某位基因进行变异,然后输出变异后的染色体对象;否则直接输出该染色体对象,最后生成变异操作后的种群RDD。
4.根据权利要求1所述的方法,其特征在于,所述步骤4.4进一步包括:
综合各个节点的输出,得到的网络权值向量数据集RDD,并将该RDD作reduce动作处理,通过归并处理,每次将每两个网络权值向量作累加计算,并且对向量的个数进行计数,归并结束后,最终得到总的网络权值向量和,以及向量个数总和,最后在Driver中将网络权值向量和作算术平均计算,获得均值网络权值向量,将均值网络权值向量中的各个分量作为新的网络权值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科软件信息服务有限公司;电子科技大学,未经中电科软件信息服务有限公司;电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510330035.6/1.html,转载请声明来源钻瓜专利网。