论文部分内容阅读
近年来,深度学习技术被成功应用于语音识别、手写识别、计算机视觉、自然语言处理等领域,取得了显著成果。随着深度学习模型结构日趋复杂,训练数据不断增加,如何实现模型的高效训练,成为亟待解决的问题,当下计算技术,特别是高性能计算(HPC)和图形处理单元(GPU)技术的发展使得我们可以利用的计算资源越来越多,这为该问题的解决提供了良好的契机。本文围绕整流线性单元(ReLU)深度神经网络(DNN)的新训练准则,深度双向长短时记忆元(DBLSTM)递归神经网络(RNN)的快速训练以及深度学习模型的可扩展训练等三个方面对该问题进行了研究,并有所创新。首先,针对用于分类问题的ReLU-DNN,本文提出用基于样本分离边距(SSM)的最小分类误差(MCE)准则替代传统的交叉熵(CE)准则对模型进行训练。对于给定的训练样本,如果忽略ReLU-DNN中输出为0的隐层节点,该网络可被视作线性分类器,SSM-MCE作为适用于线性分类器的训练准则,其损失函数直接与分类错误率相关,在最小化损失函数的同时,可以增大SSM,改善模型在测试集上的泛化能力。实验结果表明,SSM-MCE在中小规模的网络上可以取得优于CE的结果。其次,本文针对DBLSTM训练缓慢,解码延迟高的问题,提出了基于上下文敏感区块(CSC)的时域后传(BPTT)训练算法及其相应的解码算法。该算法将长序列的DBLSTM建模的问题转化成短CSC的建模,提高了模型训练的并行度,加快了训练速度,降低了解码延迟,为DBLSTM的实时应用奠定了基础。实验结果表明,在大词汇量连续语音识别(LVCSR)任务上,该方法取得了与传统方法相同的识别效果,而训练速度加快了3.4倍,解码延迟大大降低。再次,为了利用大规模数据对深度学习模型进行并行训练,我们提出了增量块训练(IBT)框架下的变方向乘子(ADMM)算法。作为一种数据并行算法,基于ADMM的IBT算法将无约束的深度学习模型训练问题转化成全局一致约束下的优化问题进行求解。我们在HPC集群上对其进行了实现,实验结果表明,在1,860小时的LVCSR的DNN训练任务上,该算法取得了与模型平均(MA)算法大致相同的结果,且实现了训练的线性加速。最后,针对MA并行训练算法随并行机器增多,模型性能显著下降的问题,本文将全局模型的更新看作随机优化过程,提出了逐块模型更新滤波(BMUF)算法。该算法使用块冲量(BM)技术,补偿了MA算法中取平均操作带来的负面作用。在1,860小时LVCSR的神经网络训练任务上,本算法在多达64块卡的DNN CE训练和32块卡的带投影层DBLSTM (DBLSTMP) CE训练上均实现了近乎线性加速,在一百万行手写识别的DBLSTM训练任务上,使用32块卡实现了DBLSTM连接时序分类(CTC)训练的28倍加速,这些并行训练得到的模型与单机训练得到的相比,性能基本没有下降,有些情况下甚至更好。