一种海量交通数据知识挖掘与并行处理方法与流程

专利2022-05-09  45


1.本发明涉及交通大数据技术领域,尤其涉及一种海量交通数据知识挖掘与并行处理方法。


背景技术:

2.在我国交通系统信息化水平不断提高的背景下,海量交通大数据也随之不断产生,这些交通大数据具有多源异构、知识密度较低等特点。如何分析利用这些交通大数据、对交通大数据进行知识挖掘,从而对交通业务产生指导作用,是亟需解决的难题。
3.以我国民航业为例,随着我国民航业的迅猛发展,机场客运量逐年增加,根据我国民航局数据统计,2019年全国客运航空公司共执行航班461.11万班次,其中正常航班376.52万班次,平均航班正常率为81.65%。2019年主要航空公司共执行航班330.47万班次,其中正常航班269.11万班次,平均航班正常率为81.43%。日益增长的航班数量导致我国空域发生航班拥堵、碰撞的可能性不断上升,如果开发出可以准确、快速预测航班在未来一段时间内的航行轨迹的算法,就可以在航班发生拥堵、碰撞之前让管制员或飞行员提前预知危险的存在,从而可以及时进行规避,极大地避免危险的发生,进而可以保证航班飞行安全、保护乘客的生命财产安全。
4.虽然目前国内外的学者在对航空大数据做知识挖掘进行航班航迹预测技术领域取得了长足的发展,但是模型训练所需要的时间过长,还是不能达到快速的标准,并且,缓慢的训练过程导致无法利用航班飞行大数据来构建准确、高效的航班航迹在线增量预测模型,这意味着预测模型可用性低。因此,为了充分利用从航班飞行大数据中挖掘得到的知识、实现航班航迹的准确、在线增量预测,亟需大幅度降低预测模型的训练时间,为提升航班航迹预测模型的实用性提供关键支撑。


技术实现要素:

5.有鉴于此,本发明提供了一种海量交通数据知识挖掘与并行处理方法,用以弥补现有预测航班航迹点的大型神经网络在训练过程中耗时过长、不能有效进行在线增量预测的不足。
6.本发明提供的一种海量交通数据知识挖掘与并行处理方法,包括如下步骤:s1:实时获取待测航班的ads

b数据,从所述ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,删除其余字段;s2:从提取的数据中选取六个连续时间片的航行数据,输入预先训练好的航班航迹预测模型的输入层,经过前向传播,输出待测航班的航行数据的预测结果;其中,所述航班航迹预测模型的训练过程,包括如下步骤:s11:设计航班航迹预测模型,模型参数设计如下:输入层节点数设置为6,输出层节点数设置为1,预测时间步长设置为6,隐藏层层数设置为1,隐藏层节点数设置为60,训练
轮次设置为50,激活函数使用relu,损失函数使用交叉熵函数,损失函数的优化方法使用随机梯度下降方法;s12:设定任意一台服务器作为参数服务器,其余n台服务器作为n个计算服务器,将所有服务器放在局域网中,保证各个服务器之间通信畅通,将所有服务器设置为分布式训练集群,将设计好的航班航迹预测模型复制n个副本分别部署到n个计算服务器中,一个航班航迹预测模型对应一个计算服务器;其中,n为正整数;s13:获取多个航班的历史ads

b数据,从所述历史ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,作为训练数据;s14:将所述训练数据平均分成n个集合,作为n个计算服务器的训练数据集,一个集合对应一个计算服务器,在每个集合中将属于同一个航班的数据分到同一个子集合;对属于同一个子集合的航迹点数据更新时间字段进行排序,将属于同一个航班的所有航迹点中时间间隔大于时间阈值的两个航迹点视为两条航迹序列的终止点和起始点,将属于同一个航班的所有航迹点分为若干条不同的航迹序列,将每条航迹序列中的航迹点构造成输入向量,其中,callsign代表航班号,longitude代表位置经度,latitude代表位置纬度,height代表飞行高度,angle代表航向角,time代表航迹点数据更新时间;s15:在n个计算服务器中同时开始数据输入,将每个集合的每个子集合中属于同一条航迹序列的六个连续时间片的输入向量输入到对应计算服务器的输入层的六个节点中进行前向传播,一个时间片的输入向量对应一个节点,输出对第七个时间片的航行数据的预测结果,计算输出的预测结果与实际航行数据的误差,将误差反向传播,得到n个计算服务器经一次前向传播和一次反向传播后的参数矩阵,其中下标t表示参数矩阵是第t次迭代训练得到的;s16:假设参数矩阵是一个的矩阵,采用矩阵分解方法将参数矩阵分解为三个矩阵、和,其中,矩阵是一个的矩阵,矩阵是一个的矩阵,矩阵是一个的对角矩阵,矩阵拥有降序排列的非负实奇异值,r代表参数矩阵的秩;令,,,矩阵是一个的矩阵,矩阵一个的矩阵;s17:确定每次迭代训练对矩阵和的压缩率,根据压缩率自适应地确定每次迭代训练对矩阵和的压缩阈值,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,得到第一压缩矩阵和第二压缩矩阵,将第一压缩矩阵与矩阵的对应参数做减法,得到第一误差矩阵,将第二压缩矩阵与矩阵的对应参数做减法,得到第二误差矩阵,将第一压缩矩阵、第二压缩矩阵、第一误差矩阵和第二误差矩阵输入到参数服务器;s18:对n个计算服务器的第一压缩矩阵求平均得到第一平均压缩矩阵,对n个计算服务器的第二压缩矩阵求平均得到第二平均压缩矩阵,对n个计算服务器的第一误差矩阵求平均得到第一平均误差矩阵,对n个计算服务器的第二误差矩阵求平均得到第二平均误
差矩阵,将第一平均压缩矩阵、第二平均压缩矩阵、第一平均误差矩阵和第二平均误差矩阵传输回n个计算服务器中;s19:在n个计算服务器中,利用第一平均压缩矩阵和第一平均误差矩阵弥补第一压缩矩阵产生的误差得到第一补偿矩阵,利用第二平均压缩矩阵和第二平均误差矩阵弥补第二压缩矩阵产生的误差得到第二补偿矩阵,将第一补偿矩阵和第二补偿矩阵相乘得到优化后的参数矩阵,作为下一次迭代训练的新的参数矩阵,返回步骤s15,利用新的参数矩阵重新进行前向传播,输出新的预测结果,计算新的预测结果与实际航行数据的误差,利用损失函数评价新的预测结果与实际航行数据的误差,当损失函数达到最小值或者训练过程出现过拟合现象时停止训练。
7.在一种可能的实现方式中,在本发明提供的上述海量交通数据知识挖掘与并行处理方法中,步骤s17中,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,得到第一压缩矩阵和第二压缩矩阵,具体包括:将矩阵中各行向量中数值小于该行对应压缩阈值的元素置为0,其他元素保持不变,得到的矩阵为过滤算子mask矩阵,按照如下公式计算第一压缩矩阵和第二压缩矩阵:其中,表示压缩矩阵,p=1、2,表示将两个同型矩阵的对应元素相乘。
8.在一种可能的实现方式中,在本发明提供的上述海量交通数据知识挖掘与并行处理方法中,步骤s17中,每l次迭代训练后更新压缩阈值,l取值范围为1000~1500。
9.本发明提供的上述海量交通数据知识挖掘与并行处理方法,在分布式集群的各个计算服务器中存储设计好的lstm模型,在训练过程开始时将海量的训练数据集划分成和计算服务器同样数量的集合,不同的集合输入到不同的计算服务器中,各个计算服务器同时进行训练,这样可以大幅度降低lstm模型的整体训练时间。在计算服务器结束一次前向传播和反向传播后会向参数服务器传输得到的参数矩阵,采用矩阵分解方法将参数矩阵分解为两个矩阵相乘的形式,两个矩阵的参数总量远少于比参数矩阵的参数数量,这样各个计算服务器需要传输的参数数量会极大地降低,通信耗费的时间也相应下降。在分解得到的两个矩阵基础上,设定矩阵压缩率,使用自适应阈值过滤的方法在矩阵的每个行向量中确定过滤阈值,得到对应的过滤算子mask矩阵,将过滤算子mask矩阵和分解得到的矩阵相乘,可以得到压缩矩阵,相较之前整体参数数量再次大量减少,通信耗时再次大幅度下降。在进行参数矩阵的压缩后,不可避免的引入了一些计算误差,如果不加消除,在进行多轮训练后,这部分误差会不断累积影响最终的模型精度。本发明计算矩阵中各个行向量压缩前后的误差向量,并将其组成误差矩阵传递到各个计算服务器的下一轮训练中,在下一轮训练开始时首先利用从参数服务器得到的参数矩阵和误差矩阵计算得到消除误差后的参数矩阵,再进行后续的训练工作,这样可以很好地弥补矩阵压缩带来的误差,使最终得到的模型精度基本保持不变。
附图说明
10.图1为本发明提供的一种海量交通数据知识挖掘与并行处理方法的流程图。
具体实施方式
11.下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整的描述,显然,所描述的实施方式仅仅是作为例示,并非用于限制本发明。
12.本发明提供的一种海量交通数据知识挖掘与并行处理方法,包括如下步骤:s1:实时获取待测航班的ads

b数据,从ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,删除其余字段;s2:从提取的数据中选取六个连续时间片的航行数据,输入预先训练好的航班航迹预测模型的输入层,经过前向传播,输出待测航班的航行数据的预测结果;其中,航班航迹预测模型的训练过程,包括如下步骤:s11:设计航班航迹预测模型,模型参数设计如下:输入层节点数设置为6,输出层节点数设置为1,预测时间步长设置为6,隐藏层层数设置为1,隐藏层节点数设置为60,训练轮次设置为50,激活函数使用relu,损失函数使用交叉熵函数,损失函数的优化方法使用随机梯度下降方法;s12:设定任意一台服务器作为参数服务器,其余n台服务器作为n个计算服务器,将所有服务器放在局域网中,保证各个服务器之间通信畅通,将所有服务器设置为分布式训练集群,将设计好的航班航迹预测模型复制n个副本分别部署到n个计算服务器中,一个航班航迹预测模型对应一个计算服务器;其中,n为正整数;s13:获取多个航班的历史ads

b数据,从历史ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,作为训练数据;s14:将训练数据平均分成n个集合,作为n个计算服务器的训练数据集,一个集合对应一个计算服务器,在每个集合中将属于同一个航班的数据分到同一个子集合;对属于同一个子集合的航迹点数据更新时间字段进行排序,将属于同一个航班的所有航迹点中时间间隔大于时间阈值的两个航迹点视为两条航迹序列的终止点和起始点,将属于同一个航班的所有航迹点分为若干条不同的航迹序列,将每条航迹序列中的航迹点构造成输入向量,其中,callsign代表航班号,longitude代表位置经度,latitude代表位置纬度,height代表飞行高度,angle代表航向角,time代表航迹点数据更新时间;s15:在n个计算服务器中同时开始数据输入,将每个集合的每个子集合中属于同一条航迹序列的六个连续时间片的输入向量输入到对应计算服务器的输入层的六个节点中进行前向传播,一个时间片的输入向量对应一个节点,输出对第七个时间片的航行数据的预测结果,计算输出的预测结果与实际航行数据的误差,将误差反向传播,得到n个计算服务器经一次前向传播和一次反向传播后的参数矩阵,其中下标t表示参数矩阵是第t次迭代训练得到的;s16:假设参数矩阵是一个的矩阵,采用矩阵分解方法将参数矩阵分解为三个矩阵、和,其中,矩阵是一个的矩阵,矩阵是一个的矩阵,矩阵是一个的对角矩阵,矩阵拥有降序排列的非负实奇异值,r代表参数矩阵的秩;令,,,矩阵是一个的矩阵,矩阵一
个的矩阵;s17:确定每次迭代训练对矩阵和的压缩率,根据压缩率自适应地确定每次迭代训练对矩阵和的压缩阈值,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,得到第一压缩矩阵和第二压缩矩阵,将第一压缩矩阵与矩阵的对应参数做减法,得到第一误差矩阵,将第二压缩矩阵与矩阵的对应参数做减法,得到第二误差矩阵,将第一压缩矩阵、第二压缩矩阵、第一误差矩阵和第二误差矩阵输入到参数服务器;s18:对n个计算服务器的第一压缩矩阵求平均得到第一平均压缩矩阵,对n个计算服务器的第二压缩矩阵求平均得到第二平均压缩矩阵,对n个计算服务器的第一误差矩阵求平均得到第一平均误差矩阵,对n个计算服务器的第二误差矩阵求平均得到第二平均误差矩阵,将第一平均压缩矩阵、第二平均压缩矩阵、第一平均误差矩阵和第二平均误差矩阵传输回n个计算服务器中;s19:在n个计算服务器中,利用第一平均压缩矩阵和第一平均误差矩阵弥补第一压缩矩阵产生的误差得到第一补偿矩阵,利用第二平均压缩矩阵和第二平均误差矩阵弥补第二压缩矩阵产生的误差得到第二补偿矩阵,将第一补偿矩阵和第二补偿矩阵相乘得到优化后的参数矩阵,作为下一次迭代训练的新的参数矩阵,返回步骤s15,利用新的参数矩阵重新进行前向传播,输出新的预测结果,计算新的预测结果与实际航行数据的误差,利用损失函数评价新的预测结果与实际航行数据的误差,当损失函数达到最小值或者训练过程出现过拟合现象时停止训练。
13.在具体实施时,在执行本发明提供的上述海量交通数据知识挖掘与并行处理方法中的步骤s17时,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,得到第一压缩矩阵和第二压缩矩阵,具体可以通过以下方式来实现:将矩阵中各行向量中数值小于该行对应压缩阈值的元素置为0,其他元素保持不变,得到的矩阵为过滤算子mask矩阵,按照如下公式计算第一压缩矩阵和第二压缩矩阵:其中,表示压缩矩阵,p=1、2,表示将两个同型矩阵的对应元素相乘。
14.在具体实施时,在执行本发明提供的上述海量交通数据知识挖掘与并行处理方法中的步骤s17时,每l次迭代训练后更新压缩阈值,优选地,l的取值范围可以为1000~1500。
15.下面通过一个具体的实施例对本发明提供的上述海量交通数据知识挖掘与并行处理方法的具体实施进行详细说明。
16.实施例1:分为模型训练过程和实际预测过程。
17.(一)模型训练过程第一步:航班航迹预测模型的构建航班航迹预测模型选用lstm进行设计,模型具体参数设计如下:输入层节点数设置为6,输出层节点数设置为1,预测时间步长设计为6,隐藏层层数设置为1,隐藏层节点数设置为60,训练轮次设置为50,激活函数使用relu,损失函数使用交叉熵函数,损失函数的优化方法使用随机梯度下降方法。
18.第二步:构建输入数据获取多个航班的历史ads

b数据,从历史ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,作为训练数据。将全部训练数据平均分成n(n为正整数)个集合,作为n个计算服务器的训练数据集,一个集合对应一个计算服务器,在每个集合中将属于同一个航班的数据再分到同一个子集合中,记为。然后对属于同一个子集合中的航迹点数据更新时间字段进行排序,将属于同一个航班的所有航迹点中时间间隔大于时间阈值的两个航迹点视为两条航迹序列的终止点和起始点,这样可以将属于同一架航班的所有航迹点分为若干条不同的航迹序列,记为。将每条航迹序列中的航迹点构造成输入向量,其中,callsign代表航班号、longitude代表位置经度、latitude代表位置纬度、height代表飞行高度、angle代表航向角、time代表数据更新时间。
19.将训练数据集划分成和计算服务器相同数量的集合,不同的集合输入到不同的计算服务器中,各个服务器同时进行训练,这样可以大幅度降低lstm模型的整体训练时间。
20.第三步:将训练数据输入航班航迹预测模型设定任意一台服务器作为参数服务器,其余n台服务器作为n个计算服务器,将所有服务器放在局域网中,保证各个服务器之间通信畅通。将所有服务器设置为分布式训练集群,将设计好的航班航迹预测模型(lstm)复制n个副本分别部署到n个计算服务器中,一个航班航迹预测模型对应一个计算服务器。
21.在n个计算服务器中同时开始数据输入,将每个集合的每个子集合中属于同一条航迹序列的六个连续时间片的输入向量输入到对应计算服务器的输入层的六个节点中进行前向传播,一个时间片的输入向量对应一个节点,输出对第七个时间片的航行数据的预测结果,计算输出的预测结果与实际航行数据的误差,将误差反向传播,得到n个计算服务器经一次前向传播和一次反向传播后的参数矩阵,其中下标t表示参数矩阵是第t次迭代训练得到的。
22.第四步:将参数矩阵分解为两个较小的矩阵和假设参数矩阵的是一个的矩阵,采用矩阵分解方法将参数数量较多的参数矩阵分解为三个矩阵、和,其中,矩阵的是一个的矩阵,矩阵是一个的矩阵,矩阵的是一个的对角矩阵,矩阵拥有降序排列的非负实奇异值,r代表参数矩阵的秩。整个参数矩阵分解的公式可以写成:(1)公式(1)表示,参数矩阵可以写成两个较小矩阵和相乘的形式,即,其中,等于,等于。原始参数矩阵中的参数数量是个,而分解后两个矩阵和的参数数量则要减少很多,矩阵中的参数数量是个,矩阵中的参数数量是个,则两个矩阵中参数数量之和是个。如果r远小于m和n中的最小值,那么可以肯定分解后的两个矩阵的参数数量之和远小于
原始参数矩阵中的参数数量,即,这样各个计算服务器需要传输的参数数量会极大地降低,通信耗费的时间也相应下降。在实际训练过程中,通过测试发现原始参数矩阵中,,,如果当前的秩是64,即,这种矩阵分解方法可以把原始参数矩阵的5000000个参数降低到300000个,极大地降低了需要传输的参数数量。
23.第五步:将分解后的矩阵和进一步压缩在将分解后的矩阵和传输到由计算服务器和参数服务器构建的网络之前压缩参数数量,首先确定每次迭代训练对矩阵和的压缩率,根据压缩率自适应地确定每次迭代训练对矩阵和的压缩阈值,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,可以得到第一压缩矩阵和第二压缩矩阵,相较压缩之前整体参数数量再次大量减少,通信耗时再次大幅度下降。通过减少由计算服务器和参数服务器构建的网络中通信的参数总数,尽可能降低训练过程中不同服务器间的通信开销,以此降低总体训练时间。
24.由于对于第四步中分解得到的两个矩阵和来说,压缩的处理方法是一样的,因此,这里以对矩阵进行压缩为例进行说明,对矩阵的压缩过程与之类似,在此不做赘述。
25.首先确定压缩率,由于压缩率确定之后,每次迭代训练时矩阵各行向量的第k个值都不会产生太大的变化,其中,因此,每次迭代训练都更新压缩阈值的做法是不太合理的。在压缩矩阵时会在每l次迭代训练后更新压缩阈值,通常来说l可以取值1000次。当第一次迭代训练时,需要计算压缩阈值threshold,将矩阵的各行看作m个r维向量,对各个向量内的值做降序排列,公式表示为:(2)其中,表示降序排列后矩阵中第1个行向量,表示降序排列后矩阵中第2个行向量,表示降序排列后矩阵中第m个行向量,表示对矩阵各行向量内的元素做降序排列,等式左侧向量内各元素是之后操作的主体目标,各元素均为r维向量。保留各向量内前个元素,可以确定保留的元素中最小的那个为此向量的压缩阈值,由此可以得到整个矩阵的压缩阈值向量如下:(3)其中,表示矩阵中第1个行向量的压缩阈值,表示矩阵中第2个行向量的压缩阈值,表示矩阵中第m个行向量的压缩阈值;此后的迭代训练过程中,如果迭代次数不是l的整数倍时,可以沿用上一个迭代训练时所用的压缩阈值向量;如果迭代次数是l的整数倍时,则需要对压缩阈值向量进行更新,计算方法与第一次计算压缩阈值向量是一致的。计算一个过滤算子mask矩阵,将矩阵中各行向量内数值小于该行对应压缩阈值的元素置为0,其他元素保持不变,得到的矩阵即为过滤算子mask矩阵。将矩阵和过滤算子mask矩阵对应元素一一相乘即可得到压缩后的矩阵,即第
一压缩矩阵,计算公式可写为:(4)其中,表示将两个同型矩阵的对应元素相乘。
26.第六步:弥补压缩误差,进行服务器间通信在进行参数矩阵的压缩后,不可避免的引入了一些计算误差,如果不加消除,在进行多轮训练后,这部分误差会不断累积影响最终的模型精度。
27.将第五步中得到的第一压缩矩阵和矩阵做减法,可以得到压缩后和压缩前的量化误差,即与矩阵和第一压缩矩阵同型的第一误差矩阵,这里的减法指两个矩阵间对应元素做减法。此时得到的两个参与通信的矩阵和,矩阵和的参数数量总和相比起矩阵来说已经极大地减少了参数数量,可以大幅度降低通信时间。所有的计算服务器在得到各自的第一压缩矩阵和第一误差矩阵后,传输给参数服务器中,如果某些计算服务器传输后其他计算服务器还未完成计算,则同步等待,当参数服务器接收到全部n个计算服务器的第一压缩矩阵和第一误差矩阵后,将n个计算服务器的第一压缩矩阵和第一误差矩阵分别计算均值,得到第一平均误差矩阵和第一平均压缩矩阵,计算公式为:(5)(6)上面两式中,矩阵间的计算均为同型矩阵对应元素间的运算。得到第一平均压缩矩阵和第一平均误差矩阵后,将第一平均压缩矩阵和第一平均误差矩阵同时传输回n个计算服务器中。在n个计算服务器中,利用第一平均压缩矩阵和第一平均误差矩阵弥补第一压缩矩阵产生的误差得到第一补偿矩阵,将第一补偿矩阵和第二补偿矩阵相乘得到优化后的(即消除误差后的)参数矩阵,作为下一次迭代训练的新的参数矩阵,这样可以可以很好地弥补矩阵压缩带来的误差,使最终得到的模型精度基本保持不变。
28.第七步:训练结束返回第三步,利用新的参数矩阵重新进行前向传播,输出新的预测结果,计算新的预测结果与实际航行数据的误差,利用损失函数评价新的预测结果与实际航行数据的误差,当损失函数达到最小值或者训练过程出现过拟合现象时停止训练。训练好的航班航迹预测模型(lstm),可以用来实际预测航班航迹点位置。航班航迹预测模型训练好后,(二)实际预测过程第一步:航班大数据预处理获取国内航班的飞行ads

b数据,数据中包括航班号、起飞机场、起飞机场经纬度、降落机场、降落机场经纬度、计划起飞时间、计划到达时间、计划航路,位置经纬度、飞行高度,航向角,数据更新时间。对航班时刻表数据进行数据清洗,提取原始数据表中的航班号、位置经度、位置纬度、飞行高度,航向角,数据更新时间这六个字段,删除其余字段。
29.第二步:实际预测从提取的数据中选取六个连续时间片的航行数据,输入预先训练好的航班航迹预测模型的输入层,经过前向传播,输出待测航班的航行数据的预测结果。
30.本发明提供的上述海量交通数据知识挖掘与并行处理方法,在分布式集群的各个计算服务器中存储设计好的lstm模型,在训练过程开始时将海量的训练数据集划分成和计算服务器同样数量的集合,不同的集合输入到不同的计算服务器中,各个计算服务器同时进行训练,这样可以大幅度降低lstm模型的整体训练时间。在计算服务器结束一次前向传播和反向传播后会向参数服务器传输得到的参数矩阵,采用矩阵分解的方法将参数矩阵分解为两个矩阵相乘的形式,两个矩阵的参数总量远少于比参数矩阵的参数数量,这样各个计算服务器需要传输的参数数量会极大地降低,通信耗费的时间也相应下降。在分解得到的两个矩阵基础上,设定矩阵压缩率,使用自适应阈值过滤的方法在矩阵的每个行向量中确定过滤阈值,得到对应的过滤算子mask矩阵,将过滤算子mask矩阵和分解得到的矩阵相乘,可以得到压缩矩阵,相较之前整体参数数量又一次大量减少,通信耗时再次大幅度下降。在进行参数矩阵的压缩后,不可避免的引入了一些计算误差,如果不加消除,在进行多轮训练后,这部分误差会不断累积影响最终的模型精度。本发明计算矩阵中各个行向量压缩前后的误差向量,并将其组成误差矩阵传递到各个计算服务器的下一轮训练中,在下一轮训练开始时首先利用从参数服务器得到的参数矩阵和误差矩阵计算得到消除误差后的参数矩阵,再进行后续的训练工作,这样可以很好地弥补矩阵压缩带来的误差,使最终得到的模型精度基本保持不变。
31.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种海量交通数据知识挖掘与并行处理方法,其特征在于,包括如下步骤:s1:实时获取待测航班的ads

b数据,从所述ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,删除其余字段;s2:从提取的数据中选取六个连续时间片的航行数据,输入预先训练好的航班航迹预测模型的输入层,经过前向传播,输出待测航班的航行数据的预测结果;其中,所述航班航迹预测模型的训练过程,包括如下步骤:s11:设计航班航迹预测模型,模型参数设计如下:输入层节点数设置为6,输出层节点数设置为1,预测时间步长设置为6,隐藏层层数设置为1,隐藏层节点数设置为60,训练轮次设置为50,激活函数使用relu,损失函数使用交叉熵函数,损失函数的优化方法使用随机梯度下降方法;s12:设定任意一台服务器作为参数服务器,其余n台服务器作为n个计算服务器,将所有服务器放在局域网中,保证各个服务器之间通信畅通,将所有服务器设置为分布式训练集群,将设计好的航班航迹预测模型复制n个副本分别部署到n个计算服务器中,一个航班航迹预测模型对应一个计算服务器;其中,n为正整数;s13:获取多个航班的历史ads

b数据,从所述历史ads

b数据中提取航班号、位置经度、位置纬度、飞行高度、航向角及航迹点数据更新时间总共六个字段的航行数据,作为训练数据;s14:将所述训练数据平均分成n个集合,作为n个计算服务器的训练数据集,一个集合对应一个计算服务器,在每个集合中将属于同一个航班的数据分到同一个子集合;对属于同一个子集合的航迹点数据更新时间字段进行排序,将属于同一个航班的所有航迹点中时间间隔大于时间阈值的两个航迹点视为两条航迹序列的终止点和起始点,将属于同一个航班的所有航迹点分为若干条不同的航迹序列,将每条航迹序列中的航迹点构造成输入向量,其中,callsign代表航班号,longitude代表位置经度,latitude代表位置纬度,height代表飞行高度,angle代表航向角,time代表航迹点数据更新时间;s15:在n个计算服务器中同时开始数据输入,将每个集合的每个子集合中属于同一条航迹序列的六个连续时间片的输入向量输入到对应计算服务器的输入层的六个节点中进行前向传播,一个时间片的输入向量对应一个节点,输出对第七个时间片的航行数据的预测结果,计算输出的预测结果与实际航行数据的误差,将误差反向传播,得到n个计算服务器经一次前向传播和一次反向传播后的参数矩阵,其中下标t表示参数矩阵是第t次迭代训练得到的;s16:假设参数矩阵是一个的矩阵,采用矩阵分解方法将参数矩阵分解为三个矩阵、和,其中,矩阵是一个的矩阵,矩阵是一个的矩阵,矩阵是一个的对角矩阵,矩阵拥有降序排列的非负实奇异值,r代表参数矩阵的秩;令,,,矩阵是一个的矩阵,矩阵一个的矩阵;s17:确定每次迭代训练对矩阵和的压缩率,根据压缩率自适应地确定每次迭代
训练对矩阵和的压缩阈值,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,得到第一压缩矩阵和第二压缩矩阵,将第一压缩矩阵与矩阵的对应参数做减法,得到第一误差矩阵,将第二压缩矩阵与矩阵的对应参数做减法,得到第二误差矩阵,将第一压缩矩阵、第二压缩矩阵、第一误差矩阵和第二误差矩阵输入到参数服务器;s18:对n个计算服务器的第一压缩矩阵求平均得到第一平均压缩矩阵,对n个计算服务器的第二压缩矩阵求平均得到第二平均压缩矩阵,对n个计算服务器的第一误差矩阵求平均得到第一平均误差矩阵,对n个计算服务器的第二误差矩阵求平均得到第二平均误差矩阵,将第一平均压缩矩阵、第二平均压缩矩阵、第一平均误差矩阵和第二平均误差矩阵传输回n个计算服务器中;s19:在n个计算服务器中,利用第一平均压缩矩阵和第一平均误差矩阵弥补第一压缩矩阵产生的误差得到第一补偿矩阵,利用第二平均压缩矩阵和第二平均误差矩阵弥补第二压缩矩阵产生的误差得到第二补偿矩阵,将第一补偿矩阵和第二补偿矩阵相乘得到优化后的参数矩阵,作为下一次迭代训练的新的参数矩阵,返回步骤s15,利用新的参数矩阵重新进行前向传播,输出新的预测结果,计算新的预测结果与实际航行数据的误差,利用损失函数评价新的预测结果与实际航行数据的误差,当损失函数达到最小值或者训练过程出现过拟合现象时停止训练。2.如权利要求1所述的海量交通数据知识挖掘与并行处理方法,其特征在于,步骤s17中,根据压缩率和压缩阈值,分别对矩阵和的参数数量进行压缩,得到第一压缩矩阵和第二压缩矩阵,具体包括:将矩阵中各行向量中数值小于该行对应压缩阈值的元素置为0,其他元素保持不变,得到的矩阵为过滤算子mask矩阵,按照如下公式计算第一压缩矩阵和第二压缩矩阵:其中,表示压缩矩阵,p=1、2,表示将两个同型矩阵的对应元素相乘。3.如权利要求1或2所述的海量交通数据知识挖掘与并行处理方法,其特征在于,步骤s17中,每l次迭代训练后更新压缩阈值,l取值范围为1000~1500。
技术总结
本发明公开了一种海量交通数据知识挖掘与并行处理方法,在分布式集群的N个计算服务器中存储LSTM模型,将训练数据集分为N个集合分别输入N个计算服务器,各计算服务器同时训练,可降低LSTM模型的训练时间。在计算服务器结束一次前向传播和反向传播后向参数服务器传输参数矩阵,采用矩阵分解方法将其分解为两个矩阵相乘的形式,参数总量减少,通信耗时下降。设定矩阵压缩率,使用自适应阈值过滤方法对矩阵进行压缩,参数数量再次减少,通信耗时再次下降。计算矩阵压缩前后的误差矩阵并传递到下一轮训练中,在下一轮训练开始时先用参数矩阵和误差矩阵计算消除误差后的矩阵,再进行训练,可弥补矩阵压缩带来的误差,保证LSTM模型精度。型精度。型精度。


技术研发人员:曹先彬 刘洪岩 朱熙 佟路 杜文博
受保护的技术使用者:北京航空航天大学
技术研发日:2021.04.27
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-13487.html

最新回复(0)