论文部分内容阅读
序列数据是大数据中快速增长的一类数据形式。不同于一般数据,序列数据中存在依赖关系,发现并挖掘其中的潜在依赖是分析序列数据的关键。当前,序列数据分析已被广泛应用于语言、音视频、金融、医学、生物、物联网、交通等多个领域,成为大数据智能研究的一个热点。除了序列数据蕴含的依赖关系具有跨度大、隐蔽深等特点外,序列数据量的爆炸式增长也使得传统的序列数据分析方法难以有效适应。以循环神经网络(Recurrent Neural Network,RNN)和长短时记忆网络(Long Short Term Memory,LSTM)为代表的循环神经网络理论上可学习任意长度序列数据中的依赖关系,是当前分析序列数据的重要方法。但在训练用于分析序列数据的循环神经网络时,涉及大量参数,还需要使用海量训练集通过大量迭代计算不断更新参数,这使得训练循环神经网络同时具有了大数据处理与高性能计算两方面的特性。因此如何针对用于分析序列数据的循环神经网络的特性,研究新型的分布式存储与计算系统,是提高循环神经网络训练效率与分析序列数据准确性的重要问题。本文首先分析了序列数据分析相关技术与研究现状,给出了当前影响序列数据分析模型训练效率和准确性的主要挑战。在此基础上研究和设计了面向序列数据分析分布式存储与计算系统的结构,为了提高序列数据分析模型的训练效率和准确性,从节点存储方法、分布式数据与元数据管理方法、以及基于分布式存储与计算的序列数据分析模型训练方法这三个方面展开研究。1)提出了基于非易失存储器(Non-volatile Memory,NVM)的节点存储方法,包括基于NVM的快速文件系统和NVM非对称访问算法。实现了原型系统,使用通用测试工具进行了测试与分析,验证了基于NVM节点存储方法能大幅提高访问数据的I/O性能、缩短访问响应时间,从而支撑序列数据分析模型参数与训练集的快速访问。2)提出了面向序列数据分析的分布存储方法,在使用分布式存储系统中元数据和数据分别存储、管理序列数据分析模型中参数与训练集的基础上,提出了元数据分级管理算法和基于NVM的数据分布管理算法。实现了原型系统,使用通用测试工具进行了测试与分析,验证了元数据分级管理算法能减少查找元数据所需的时间与空间开销、并具有很强的适应能力;基于NVM数据分布管理算法能提高读写速度和IOPS的值,为提高训练序列数据分析模型的并行分布处理效率提供了支撑。3)提出了用于分析序列数据的循环神经网络分布式训练方法,针对分析序列数据的循环神经网络训练效率问题,通过合理分布模型参数、训练集及其训练计算任务,将分布式系统中节点的计算和存储相结合,结合序列数据自身特性,分别提出了基于分布式存储与计算的自主循环神经网络、基于神经元动态激活的快速训练算法和融合时长的自适应LSTM。实现了原型系统,进行了测试与分析,验证了所提出的方法能提高用于分析序列数据的循环神经网络训练效率、分析序列数据的准确性,并增强模型可扩展性。