黄刘

摘要:针对传统BP算法训练深度学习模型易受模型初始参数影响,训练效率较低的问题,基于遗传算法进行优化,提出了遗传优化分布式BP算法。首先,分析了BP算法和遗传算法的基本原理。然后,结合分布式训练的特点,提出了遗传优化分布式BP算法,确定了训练策略。最后,对遗传优化分布式BP算法和传统BP算法的训练效率进行了对比实验分析。结果表明,遗传优化分布式BP算法不受模型初始参数的影响,相对传统BP算法实现了较高的训练效率。

关键词: BP算法;遗传算法; 深度学习; Docker;分布式训练

中图分类号:TP391      文献标识码:A

文章编号:1009-3044(2021)23-0097-03

Abstract:In this paper, an optimized distributed training algorithm based on genetic algorithm is proposed, which used to solve the problem of easy affected by the initial parameters and low training efficiency of Traditional BP algorithm. Firstly, the basic principles of BP algorithm and genetic algorithm are analyzed. Then, considered with the characteristics of distributed training, the genetic optimization distributed BP algorithm is proposed, and the training strategy is determined. Finally, the training efficiency of genetic optimization distributed BP algorithm is compared with that of traditional BP algorithm. The results show that genetic optimization distributed BP algorithm is not affected by the initial parameters of the model, and achieves higher training efficiency than the traditional BP algorithm.

Keywords:back propagation algorithm; genetic algorithm; deep learning; Docker; distributed training

1  引 言

人工智能领域突破性的研究成果极大地激发了人们对深度学习的兴趣,如计算机视觉、语音识别、自然语言处理等[1-4]。依托GPU(Graphics Processing Unit)强大的并行计算能力训练深度神经网络解决复杂任务,是近年来深度学习取得成功的主要原因 [5]。在硬件计算能力提高与大数据爆发式增长的双重作用下,产生了许多复杂的深度学习模型,如GPT-3自回归语言模型。GPT-3包括1750亿参数,训练数据集高达45TB。巨大的参数规模和海量的训练数据,导致在可接受的时间范围内,利用单台计算机、单颗GPU已不可能完成模型训练。必须利用多台计算机、多个GPU进行分布式训练。目前训练深度神经网络主要采用反向传播(BP,Back Propagation)算法。BP算法沿着损失函数的负梯度方向搜索最小值,虽然搜索速度快,但训练过程受模型初始参数的影响较大,易陷入局部最优。按照训练时模型与数据集的拆分方式不同,分布式训练可分为数据并行、模型并行和混合并行。按照模型参数的更新方式不同,又可分为同步更新和异步更新。但无论采用哪种方式,传统分布式训练方法本质上只同时训练一个模型,仍然不能避免由BP算法带来的易陷入局部最优的问题。

针对上述问题,本文基于遗传算法对分布式条件下BP算法的训练过程进行优化,提出了遗传优化分布式BP算法。通过在训练过程中加入选择、交叉和变异三种遗传操作,避免了算法陷入局部最优,提高了训练效率。

2  相关知识

2.1 BP算法

BP算法是目前主要采用的深度学习模型训练算法,其基本思想是,学习过程由输入数据的正向传播和输出误差的反向传播两个阶段组成[6-8]。在正向传播阶段,输入数据从模型的输入层传入,经各隐层逐层传递,最终到达输出层,得到模型的实际输出。若模型的实际输出与期望输出不符,则转入误差反向传播阶段。在误差反向传播阶段,模型的实际输出与期望输出的偏差逐层反向传播,并分摊到各层模型参数上。最后基于梯度下降法(GD,Gradient Descent)调整模型参数,使模型的实际输出逐渐逼近期望输出。

设目标函数为[y=f(p,x)],其最小值为[y],求使目标函数取得最小值时对应的自变量[x]的取值,采用梯度下降法,损失函数可表示为:

参数更新可表示为:

梯度下降法沿着损失函数的负梯度方向搜索最小值,使BP算法具有较强的局部搜索能力,搜索速度快,但易受初始搜索位置的影响,易陷入局部最优。

2.2遗传算法

遗传算法(Genetic Algorithm)是通过模拟生物种群自然进化规律,提出的一种优化算法。遗传算法将问题的求解转换成生物进化过程中染色体交叉和基因变异过程,通过选择、交叉、变异三种遗传操作,不断提高种群中优势基因所占比例,筛选出全局最优基因[9-10]。