论文部分内容阅读
神经网络特别是深度学习的训练非常耗时,并且需要大量的训练数据,这使得其适合于云计算平台。云计算平台可以分布式存储训练数据,并能使用多个主机对神经网络进行并行计算从而提高训练速度。然而,当前神经网络并行训练的加速比不够高,和线性加速比存在较大差距。为了提高基于云计算平台的神经网络训练速度,本文提出了神经网络并行的加速方法,并将该方法应用到语音关键词识别和声纹验证中。本文使用Hadoop和Spark搭建云计算平台,并基于Tensorflow On Spark框架实现神经网络分布式并行训练。本文的基于云计算平台的神经网络并行计算方法主要包含两方面内容:一是在每个云节点上启动多个工作者,这可以提高云平台GPU等资源的利用率;二是基于Downpour SGD来改进异步数据并行。异步数据并行是基于云计算平台的神经网络并行训练的常用方法,然而计算节点与参数服务器之间协同参数时的通信开销严重影响了异步数据并行的加速效果,Downpour SGD可以减少计算节点与参数服务器之间的通信次数从而降低通信开销,提高并行训练速度。在语音关键词识别方面,本文提出了结合Dense Net和Bi LSTM的神经网络模型Dense Net-Bi LSTM,该模型分别利用Dense Net和Bi LSTM提取语音的局部特征和时间上下文信息。将Dense Net-Bi LSTM在Google Speech Commands数据集上的准确率与相关论文的结果进行对比,发现Dense Net-Bi LSTM取得了较好的效果。将Dense NetBi LSTM在云计算平台下训练,本文提出的并行计算方法比直接使用异步数据并行提高了65%的训练速度,而且模型准确率为96.7%。在声纹验证方面,本文设计了参数量相似但计算开销差异较大的两种神经网络模型,并提出了通过迁移学习和得分融合来提高声纹验证的准确性,实验表明这两种方法能起到良好的效果。将这两种神经网络模型部署在云计算平台后,实验发现本文的并行计算方法能提高超过100%的训练速度。实验还验证了Downpour SGD对通信开销占比高的神经网络加速效果更好。本文提出的基于云计算平台的神经网络并行计算方法在语音关键词识别和声纹验证中均取得了良好的训练加速比,同时神经网络模型的准确性没有受到明显影响,这验证了本文方法的有效性。