论文部分内容阅读
循环神经网络(Recurrent Neural Networks,RNNs)通过隐藏层神经元间的反馈连接使得网络具有记忆数据历史信息的能力,适合于序列数据的分析与建模,已经成为自然语言处理、语音识别、机器翻译、视频分析等领域研究的热点。视频作为一种特殊序列数据,可以使用RNN学习、挖掘视频内容间复杂的关联关系,进行视频语义信息的分析和理解。但现有的RNN对视频序列建模时,忽略了视频段动作语义的时间属性,导致在各时间步神经元均需进行大量复杂、耗时的矩阵计算。此外,随着模型规模和深度的扩大,以及视频数据量的指数级增加,训练时间开销急剧增长。RNN的训练涉及大量矩阵计算,具有复杂度高、时间开销大、对硬件要求高等特点,现有神经网络加速方法难以有效提高RNN的训练效率。本文在一种特殊的RNN模型—长短时记忆网络(Long Short-term Memory,LSTM)的基础上,针对应用到视频语义分析时存在的问题,研究了支持视频语义分析的异构分布式LSTM。本文主要研究内容如下:(1)首先分析用于视频语义分析RNN/LSTM的相关研究,针对目前RNN/LSTM模型无法有效利用视频序列自身特点及模型训练效率低、时间开销大等问题,提出异构分布式LSTM系统的结构,为高效训练支持视频语义分析的LSTM提供支撑。(2)针对现有LSTM对视频序列数据建模时存在的局限性,提出支持视频语义分析的分布式LSTM模型。首先改进现有的LSTM单元结构,设计时长敏感LSTM(Duration-aware LSTM,D-LSTM),使LSTM单元能够感知并记忆视频段动作语义的持续时间,自适应地更新神经元记忆信息,避免神经元状态更新时的冗余计算。在此基础上,提出了基于分布式神经元的D-LSTM模型,模拟生物神经系统中神经元并行运作机理,以D-LSTM单元为核心,将训练中复杂的矩阵运算分解到多个分布式神经元节点,利用其并行计算能力提高D-LSTM模型的训练效率。在Spark集群上实现了原型系统,使用Charades与COIN两个数据集进行了测试与分析,相比于分布式LSTM模型,分布式D-LSTM模型训练效率最高提升了22.7%、收敛速度最高提升了8.7%,相比GPU加速方式,训练效率最高提升了79.3%,而准确率仅与传统的LSTM模型相差1%左右。(3)在分布式D-LSTM的基础上,提出基于异构C/S的分布式训练方法。在分析神经元交互节点与分布式神经元节点中各计算任务特点的基础上,首先设计基于C/S的GPU与CPU协作策略,合理分解和分配计算任务,将分布计算通信代价大的复杂矩阵运算集中起来由GPU服务器集中完成,其他的计算任务由CPU集群完成,发挥CPU与GPU各自的计算优势。在此基础上给提出基于GPU/CPU的异构分布式D-LSTM训练方法,在神经元交互节点中增加GPU完成复杂的矩阵运算,复杂度较低的神经元交互节点中其他计算任务和分布式神经元节点中计算任务仍然使用CPU完成。实现了原型系统,使用Charades数据集与COIN数据集进行了测试与分析,实验结果表明相比分布式D-LSTM,在准确率不变的情况下,训练速度最高可以提升17.6%,收敛速度最高可以提升13%。