BP(Back Propagation)算法,即误差反传训练算法,具有良好的非线形逼近能力,是人工神经网络应用最广泛的训练算法。但是BP算法存在训练速度慢、易陷入局部极小值等缺陷。以弹性BP算法为代表的BP改进算法虽然在一定程度上加快了神经网络的训练,但是对于训练规模巨大的神经网络,这些改进算法仍然不能满足实际应用的要求。考虑到神经网络本身所具有的并行处理能力,可以利用并行计算来解决大规模神经网络训练问题。BP网络并行化有结构并行和数据并行两种方法。在基于数据并行的BP算法中,训练样本被划分给不同的处理机,各处理机对同样的神经网络进行训练,然后统计所有的训练结果更新神经网络。这种方法的优点是处理机之间的通信量少、并行粒度大。在基于MPI(消息传递接口)的并行环境下,通过局域网内互联的PC机,组建了一个机群训练平台。采用主/从结构的并行模型,将训练样本数据平均分配到各从节点,由主节点收集并统计训练结果,实现了BP神经网络训练的并行化。同时根据神经网络初始权值随机性的特点,在并行BP算法的基础上作出了改进。在训练初期,各个节点分别对各自的神经网络进行随机初始化,然后同时对其进行训练,在一定的迭代次数之后筛选出误差最小的神经网络,最后利用筛选出的神经网络进行并行训练。采用华中科技大学同济医学院提供的高血压调查数据作为训练样本,分别使用串行BP算法、并行BP算法和改进的并行BP算法,建立神经网络并对其进行训练。实验结果显示,并行算法相对于串行算法极大地加快了训练速度。同时改进的并行算法也有效地提高了并行训练的加速比和并行效率。
本文来源: https://www.lw50.cn/article/dcd62074826eaeebc8e311d8.html