一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

时延预测模型的训练方法和装置及拥塞控制方法和装置与流程

2022-02-22 05:13:10 来源:中国专利 TAG:


1.本公开涉及通信技术领域,更具体地说,涉及一种时延预测模型的训练方法和装置及拥塞控制方法和装置。


背景技术:

2.拥塞控制是网络传输中重要的技术之一。在数据传输过程中,在保证不丢包的基础上,既需要尽量大的数据吞吐量,又需要尽量低的数据传输时延。例如在视频传输场景中,在保证不丢帧的基础上,需要尽量高清的画质,对于一些特定场景例如视频会议,还需要尽量低的端到端数据传输时延。此时需要用到拥塞控制方法。拥塞控制方法是指将数据包以最快的速度发送到接收端并且确保不发生因链路拥塞导致的丢包和时延过大的情况,其效果会影响用户的体验,特别是在视频传输领域。目前的拥塞控制方法包括基于丢包的拥塞控制方法,基于时延的拥塞控制方法和基于带宽估计即测速的拥塞控制方法。相关技术中,基于时延的拥塞控制方法不容易取得较高的带宽利用率。


技术实现要素:

3.本公开提供一种时延预测模型的训练方法和装置及拥塞控制方法和装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
4.根据本公开实施例的第一方面,提供一种时延预测模型的训练方法,包括:获取训练数据集,其中,所述训练数据集包括各采样时刻的网络传输参数和各采样时刻的网络链路对应的时延真实值;将所述各采样时刻的网络传输参数输入时延预测模型,得到各采样时刻的时延预测值;根据所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的之间的差异确定所述时延预测模型的损失值,所述损失值与所述差异成正相关关系;通过根据所述损失值调整所述时延预测模型的参数,对所述时延预测模型进行训练,得到训练好的时延预测模型。
5.可选地,所述将所述各采样时刻的网络传输参数输入时延预测模型,得到各采样时刻的时延预测值,包括:获取目标采样时刻对应的参数矩阵,所述参数矩阵是目标采样时刻对应的网络传输参数和目标采样时刻之前的各采样时刻对应的网络传输参数,按照时序以及参数类型进行排序得到的矩阵;将所述参数矩阵输入所述时延预测模型中,得到时延预测值向量;将所述时延预测值向量中的最后一个元素作为所述目标采样时刻对应的时延预测值。
6.可选地,所述时延预测模型包括编码神经网络和解码神经网络;所述将所述参数矩阵输入所述时延预测模型中,得到时延预测值向量,包括:将所述参数矩阵输入所述编码神经网络,通过所述编码神经网络将各采样时刻的网络传输参数编码为编码向量;将所述编码向量输入所述解码神经网络,通过所述解码神经网络将所述编码向量解码为与各采样时刻一一对应的时延预测值;将各采样时刻一一对应的时延预测值按照时序进行排序,得到时延预测值向量。
7.可选地,所述时延真实值是网络数据节点处理时延、发送时延和传播时延的和值。
8.可选地,所述根据所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的之间的差异确定所述时延预测模型的损失值,包括:根据所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的之间的差异,得到各采样时刻的损失值;基于所述各采样时刻的损失值得到所述时延预测模型的损失值。
9.可选地,所述根据所述各采样时刻的时延真实值和所述各采样时刻的时延预测值之间的差异,得到各采样时刻的损失值,包括:确定所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的差值绝对值;基于所述差值绝对值与设定阈值的大小关系确定所述各采样时刻的损失值计算方式;基于所述各采样时刻的损失值计算方式、所述各采样时刻的时延真实值和所述各采样时刻的时延预测值之间的差异得到各采样时刻的损失值。
10.可选地,所述损失值计算方式基于通过以下公式确定:
[0011][0012]
其中,l(xi,yi)为第i个采样时刻的损失值,xi为第i个采样时刻的时延预测值,yi为第i个采样时刻的时延真实值,a以及b为预先设定的数值,所述设定阈值为1,b小于1。
[0013]
可选地,所述通过根据所述损失值调整所述时延预测模型的参数,包括:
[0014]
通过随机梯度下降算法对下式求解,获取使得所述损失值最小的参数:
[0015][0016]
其中,θ为参数,n为所述训练数据集中训练样本的总数,mk为第k个训练样本中各采样时刻的网络传输参数组成的向量,f(mk)为第k个训练样本中各采样时刻的时延预测值组成的向量,dk为第k个训练样本中各采样时刻的时延真实值组成的向量,l(f(mk),dk)为损失值,所述训练数据集包括至少一个训练样本,任一训练样本中包括至少一个采样时刻的网络传输参数和至少一个采样时刻的时延真实值。
[0017]
可选地,所述网络传输参数包括以下项中的至少一项:实时发送速率、实时接收速率、实时往返时延、实时平滑往返时延、实时最小往返时延、实时丢包率和实时在途数据量。
[0018]
根据本公开实施例的第二方面,提供一种拥塞控制方法,包括:获取第一时刻的网络传输参数和所述第一时刻之前的至少一个历史时刻的网络传输参数;将所述第一时刻的网络传输参数和所述第一时刻之前的至少一个历史时刻的网络传输参数输入经由本公开的时延预测模型的训练方法训练好的时延预测模型中,得到所述第一时刻的第一时延预测值;基于所述第一时刻的第一时延预测值,执行拥塞控制。
[0019]
可选地,所述网络传输参数包括以下项中的至少一项:实时发送速率、实时接收速率、实时往返时延、实时平滑往返时延、实时最小往返时延、实时丢包率和实时在途数据量。
[0020]
可选地,所述将所述第一时刻的网络传输参数和所述第一时刻之前的至少一个历史时刻的网络传输参数输入经由本公开的时延预测模型的训练方法训练好的时延预测模型中,得到所述第一时刻的第一时延预测值,包括:将所述第一时刻和所述第一时刻之前的至少一个历史时刻的网络传输参数按照时序以及参数类型进行排列,得到第一矩阵;将所述第一矩阵输入所述时延预测模型中,得到所述第一时刻的第一时延预测值向量,其中,所述第一时刻的第一时延预测值向量为所述第一时刻和所述第一时刻之前的至少一个历史
时刻的第一时延预测值根据时序排列形成的向量;获取所述第一时刻的第一时延预测值向量的最后一个元素作为所述第一时刻的第一时延预测值。
[0021]
可选地,所述基于所述第一时刻的第一时延预测值,执行拥塞控制,包括:根据所述第一时刻的稳定传输往返时延和所述第一时刻的第一时延预测值的差值,得到所述第一时刻的排队时延,所述第一时刻的稳定传输往返时延为在第一时刻的平滑往返时延的一半的时间窗口内的最小的往返时延;基于所述第一时刻的排队时延进行拥塞控制。
[0022]
根据本公开实施例的第三方面,提供一种时延预测模型的训练装置,包括:数据获取单元,被配置为:获取训练数据集,其中,所述训练数据集包括各采样时刻的网络传输参数和各采样时刻的网络链路对应的时延真实值;模型估计单元,被配置为:将所述各采样时刻的网络传输参数输入时延预测模型,得到各采样时刻的时延预测值;函数计算单元,被配置为:根据所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的之间的差异确定所述时延预测模型的损失值,所述损失值与所述差异成正相关关系;参数调节单元,被配置为:通过根据所述损失值调整所述时延预测模型的参数,对所述时延预测模型进行训练,得到训练好的时延预测模型。
[0023]
可选地,模型估计单元被配置为:获取目标采样时刻对应的参数矩阵,所述参数矩阵是目标采样时刻对应的网络传输参数和目标采样时刻之前的各采样时刻对应的网络传输参数,按照时序以及参数类型进行排序得到的矩阵;将所述参数矩阵输入所述时延预测模型中,得到时延预测值向量;将所述时延预测值向量中的最后一个元素作为所述目标采样时刻对应的时延预测值。
[0024]
可选地,模型估计单元被配置为:所述时延预测模型包括编码神经网络和解码神经网络;将所述参数矩阵输入所述编码神经网络,通过所述编码神经网络将各采样时刻的网络传输参数编码为编码向量;将所述编码向量输入所述解码神经网络,通过所述解码神经网络将所述编码向量解码为与各采样时刻一一对应的时延预测值;将各采样时刻一一对应的时延预测值按照时序进行排序,得到时延预测值向量。
[0025]
可选地,所述时延真实值是网络数据节点处理时延、发送时延和传播时延的和值。
[0026]
可选地,函数计算单元被配置为:根据所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的之间的差异,得到各采样时刻的损失值;基于所述各采样时刻的损失值得到所述时延预测模型的损失值。
[0027]
可选地,函数计算单元被配置为:确定所述各采样时刻的时延真实值和所述各采样时刻的时延预测值的差值绝对值;基于所述差值绝对值与设定阈值的大小关系确定所述各采样时刻的损失值计算方式;基于所述各采样时刻的损失值计算方式、所述各采样时刻的时延真实值和所述各采样时刻的时延预测值之间的差异得到各采样时刻的损失值。
[0028]
可选地,所述损失值计算方式基于通过以下公式确定:
[0029][0030]
其中,l(xi,yi)为第i个采样时刻的损失值,xi为第i个采样时刻的时延预测值,yi为第i个采样时刻的时延真实值,a以及b为预先设定的数值,所述设定阈值为1,b小于1。
[0031]
可选地,参数调节单元被配置为:
[0032]
通过随机梯度下降算法对下式求解,获取使得所述损失值最小的参数:
[0033][0034]
其中,θ为参数,n为所述训练数据集中训练样本的总数,mk为第k个训练样本中各采样时刻的网络传输参数组成的向量,f(mk)为第k个训练样本中各采样时刻的时延预测值组成的向量,dk为第k个训练样本中各采样时刻的时延真实值组成的向量,l(f(mk),dk)为损失值,所述训练数据集包括至少一个训练样本,任一训练样本中包括至少一个采样时刻的网络传输参数和至少一个采样时刻的时延真实值。
[0035]
可选地,所述网络传输参数包括以下项中的至少一项:实时发送速率、实时接收速率、实时往返时延、实时平滑往返时延、实时最小往返时延、实时丢包率和实时在途数据量。
[0036]
根据本公开实施例的第四方面,提供一种拥塞控制装置,包括:数据获取单元,被配置为:获取第一时刻的网络传输参数和所述第一时刻之前的至少一个历史时刻的网络传输参数;模型估计单元,被配置为:将所述第一时刻的网络传输参数和所述第一时刻之前的至少一个历史时刻的网络传输参数输入经由本公开的时延预测模型的训练方法训练好的时延预测模型中,得到所述第一时刻的第一时延预测值;拥塞控制单元,被配置为:基于所述第一时刻的第一时延预测值,执行拥塞控制。
[0037]
可选地,所述网络传输参数包括以下项中的至少一项:实时发送速率、实时接收速率、实时往返时延、实时平滑往返时延、实时最小往返时延、实时丢包率和实时在途数据量。
[0038]
可选地,模型估计单元被配置为:将所述第一时刻和所述第一时刻之前的至少一个历史时刻的网络传输参数按照时序以及参数类型进行排列,得到第一矩阵;将所述第一矩阵输入所述时延预测模型中,得到所述第一时刻的第一时延预测值向量,其中,所述第一时刻的第一时延预测值向量为所述第一时刻和所述第一时刻之前的至少一个历史时刻的第一时延预测值根据时序排列形成的向量;获取所述第一时刻的第一时延预测值向量的最后一个元素作为所述第一时刻的第一时延预测值。
[0039]
可选地,拥塞控制单元被配置为:根据所述第一时刻的稳定传输往返时延和所述第一时刻的第一时延预测值的差值,得到所述第一时刻的排队时延,所述第一时刻的稳定传输往返时延为在第一时刻的平滑往返时延的一半的时间窗口内的最小的往返时延;基于所述第一时刻的排队时延进行拥塞控制。
[0040]
根据本公开实施例的第五方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的时延预测模型的训练方法或拥塞控制方法。
[0041]
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的时延预测模型的训练方法或拥塞控制方法。
[0042]
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的时延预测模型的训练方法或拥塞控制方法。
[0043]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0044]
根据本公开的时延预测模型的训练方法和装置及拥塞控制方法和装置,获取网络传输参数和时延真实值对时延预测模型进行训练,训练好的时延预测模型可获取时延预测
值,将时延预测值结合于基于时延的拥塞控制方法,能够提升现有的时延的拥塞控制方法的效果。将预测值作为参考基准,从而增强其在某些场景如时延抖动场景下的效果,提升拥塞控制的整体表现,提升用户的qoe(体验质量),相较于相关技术中的基于时延的拥塞控制方法,对于网络链路固有往返时延的预测更准确,具有较高的带宽利用率。
[0045]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0046]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0047]
图1是示出根据本公开的示例性实施例的时延预测模型的训练方法的流程图。
[0048]
图2是示出根据本公开的示例性实施例的时延预测模型结构图。
[0049]
图3是示出根据本公开的示例性实施例的拥塞控制方法的流程图。
[0050]
图4是示出根据本公开的示例性实施例的时延预测模型的训练装置的框图。
[0051]
图5是示出根据本公开的示例性实施例的拥塞控制装置的框图。
[0052]
图6是示出根据本公开的示例性实施例的电子设备600的框图。
具体实施方式
[0053]
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0054]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0055]
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
[0056]
网络链路的时延在整个数据传输过程中并不是一成不变的,而基于时延的拥塞控制方法往往在时延抖动场景表现不佳。因此准确的网络链路时延预测对基于时延的拥塞控制方法来讲意义重大。
[0057]
基于时延的拥塞控制方法有多种,如copa拥塞控制算法(mit理工学院所设计的基于延迟的可调拥塞控制算法)。
[0058]
copa拥塞控制算法提出了目标发送码率可用下式(1)进行计算:
[0059]
[0060]
其中dq是测量到的排队时延,δ为可调参数,δ越小越激进。copa拥塞控制算法在马尔可夫模型下优化了吞吐量和时延的目标函数。copa拥塞控制算法根据目标发送码率的变化方向来调整拥塞窗口的大小,可以达到很快的收敛速度。copa拥塞控制算法在调整目标发送码率时会计算排队时延,但其并不能正确反应链路时延的变化时机和变化幅度,使得copa拥塞控制算法不容易取得较高的带宽利用率。
[0061]
为了解决上述相关技术中存在的问题,本公开提出一种时延预测模型的训练方法和装置及拥塞控制方法和装置,获取网络传输参数和时延真实值对时延预测模型进行训练,训练好的时延预测模型可获取时延预测值,将时延预测值结合于基于时延的拥塞控制方法,能够提升现有的时延的拥塞控制方法的效果。
[0062]
下面,将参照图1至图6来详细描述根据本公开的时延预测模型的训练方法和装置及拥塞控制方法和装置。
[0063]
图1是示出根据本公开的示例性实施例的时延预测模型的训练方法的流程图。
[0064]
参照图1,在步骤101,获取训练数据集,其中,训练数据集包括各采样时刻的网络传输参数和各采样时刻的网络链路对应的时延真实值。
[0065]
根据本公开的示例性实施例,训练数据集可以是基于预设的采样时间间隔获取的。训练数据集可以是通过网络传输模拟器获取的。
[0066]
根据本公开的示例性实施例,在训练方法执行前,时延预测模型可以是预训练的序列到序列(sequence-to-sequence)模型。即时延预测模型可以是sequence-to-sequence模型。时延预测模型也可以是其他的深度学习模型,例如基于长短期记忆网络(long short-term memory,lstm)或门控循环单元(gate recurrent unit,gru)的深度学习预测模型、机器翻译(transformer)模型、基于sequence-to-sequence网络的模型,本公开中的时延预测模型还可为统计模型,例如自回归移动平均模型(autoregressive integrated moving average model,arima)。
[0067]
网络传输参数可包括,但不限于,以下项中的至少一项:实时发送速率s
t
、实时接收速率a
t
、实时往返时延rtt
t
(round-trip time)、实时平滑往返时延srtt
t
(smoothed round-trip time)、实时最小往返时延minrtt
t
、实时丢包率l
t
和实时在途数据量i
t
。其中,实时发送速率可以是网络链路实时发送数据包的速率,实时接收速率可以是网络链路实时接收数据包的速率,实时往返时延可以是实时节点处理时延、实时排队时延、实时发送时延和实时传播时延的和值,实时平滑往返时延可以是基于平滑因子和实时往返时延得到的往返时延,实时最小往返时延可以是网络链路上的历史往返时延中的最小值,实时丢包率可以是网络链路实时的丢数据包率,实施在途数据量可以是实时在网路链路上传输的数据包量。
[0068]
根据本公开的示例性实施例,时延真实值为网络链路固有往返时延真实值。网络链路往返时延可由节点处理时延、排队时延、发送时延和传播时延组成,本公开的示例性实施例中的网络链路固有往返时延可以不包括排队时延,即由节点处理时延、发送时延和传播时延组成。也就是说,网络链路往返时延真实值可以是节点处理时延、排队时延、发送时延和传播时延的和值,而网络链路固有往返时延真实值可以是网络数据节点处理时延、发送时延和传播时延的和值。
[0069]
在步骤102,可将各采样时刻的网络传输参数输入时延预测模型,得到各采样时刻
的时延预测值。
[0070]
根据本公开的示例性实施例,可首先获取目标采样时刻对应的参数矩阵,其中,参数矩阵是目标采样时刻对应的网络传输参数和目标采样时刻之前的各采样时刻对应的网络传输参数,按照时序以及参数类型进行排序得到的矩阵;然后可将参数矩阵输入时延预测模型中,得到时延预测值向量;最后可将时延预测值向量中的最后一个元素作为目标采样时刻对应的时延预测值。
[0071]
根据本公开的示例性实施例,时延预测模型可包括编码神经网络和解码神经网络。将参数矩阵输入时延预测模型中,得到时延预测值向量,可包括:将参数矩阵输入编码神经网络,通过编码神经网络将各采样时刻的网络传输参数编码为编码向量;将编码向量输入解码神经网络,通过解码神经网络将编码向量解码为与各采样时刻一一对应的时延预测值;将各采样时刻一一对应的时延预测值按照时序进行排序,得到时延预测值向量。
[0072]
在步骤103,可根据各采样时刻的时延真实值和所述各采样时刻的时延预测值的之间的差异确定时延预测模型的损失值,所述损失值与差异成正相关关系。
[0073]
根据本公开的示例性实施例,可首先根据各采样时刻的时延真实值和各采样时刻的时延预测值的之间的差异,得到各采样时刻的损失值;然后可基于各采样时刻的损失值得到时延预测模型的损失值。
[0074]
根据本公开的示例性实施例,各采样时刻的损失值,可通过下述步骤得到:首先可确定各采样时刻的时延真实值和各采样时刻的时延预测值的差值绝对值;然后可基于差值绝对值与设定阈值的大小关系确定各采样时刻的损失值计算方式;最后可基于各采样时刻的损失值计算方式、各采样时刻的时延真实值和各采样时刻的时延预测值之间的差异得到各采样时刻的损失值。
[0075]
根据本公开的示例性实施例,损失值计算方式基于通过公式(2)确定:
[0076][0077]
其中,l(xi,yi)为第i个采样时刻的损失值,xi为第i个采样时刻的时延预测值,yi为第i个采样时刻的时延真实值,a以及b为预先设定的数值,设定阈值为1,b小于1。a可取值为0.5,b可取值为0.5。
[0078]
根据本公开的示例性实施例,时延预测模型的损失值的计算方式基于通过公式(3)确定:
[0079][0080]
其中,l(x,y)为时延预测模型的损失值,x为任一训练样本中各采样时刻时延预测值组成的向量,y为任一训练样本中各采样时刻时延真实值组成的向量,n为任一训练样本中采样时刻总数,l(xi,yi)为smooth l1损失函数,训练数据集包括至少一个训练样本,任一训练样本中包括至少一个采样时刻的网络传输参数和至少一个采样时刻的时延真实值。
[0081]
在步骤104,可通过根据损失值调整所述时延预测模型的参数,对时延预测模型进行训练,得到训练好的时延预测模型。
[0082]
根据本公开的示例性实施例,可通过优化算法,调整时延预测模型的参数,对时延预测模型进行训练。优化算法可以是,但不限于,随机梯度下降算法、批量梯度下降算法、牛
顿法、拟牛顿法或共轭梯度法。若优化算法是随机梯度下降算法,此时的参数调整步骤为:通过随机梯度下降算法对下式(4)求解,获取使得损失值最小的参数:
[0083][0084]
其中,θ为参数,n为训练数据集中训练样本的总数,mk为第k个训练样本中各采样时刻的网络传输参数组成的向量,f(mk)为第k个训练样本中各采样时刻的时延预测值组成的向量,dk为第k个训练样本中各采样时刻的时延真实值组成的向量,l(f(mk),dk)为损失值。
[0085]
根据本公开的示例性实施例,下面以基于sequence-to-sequence模型作为时延预测模型为例,对本公开实施例中的时延预测模型的训练作出进一步地描述。
[0086]
基于时延预测模型是sequence-to-sequence模型的情况,图2是示出根据本公开的示例性实施例的时延预测模型结构图。本公开的示例性实施例中的基于sequence-to-sequence模型的时延预测模型的训练过程参照图2。时延预测模型可以包括编码神经网络和解码神经网络。
[0087]
可基于网络传输模拟器获取训练数据集:基于网络传输模拟器,以预设的采样时间间隔δt,采样点数n,获取t采样时刻的网络传输参数作为行向量,每次采样一定时间范围内的网络传输参数,t采样时刻的网络传输参数包括发送速率s
t
、接收速率a
t
、往返时延rtt
t
、平滑往返时延srtt
t
、最小往返时延minrtt
t
、丢包率l
t
和在途数据量i
t

[0088]
可将各采样时刻对应的行向量以时序合并成参数矩阵m
t
,m
t
表示为:
[0089][0090]
基于网络传输模拟器,可获取各采样时刻的时延真实值,时延真实值按同样的采样间隔δt和采样点数n采样,在t采样时刻以时序合并成输出向量d
t
,d
t
表示为:
[0091]dt
=|d
t-(n-1)δt
;d
t-δt


;d
t
|;
ꢀꢀꢀ
(6)
[0092]
其中,d
t
为t时刻的时延真实值。
[0093]
训练数据集中每个元素可以表示为(m
t
,d
t
),时延预测模型可以表示为f(m
t
;θ),其中θ为函数参数。基于该训练数据集,可以对时延预测模型进行训练。
[0094]
损失值可以通过上式(2)和(3)得到。
[0095]
可以通过随机梯度下降算法对上式(4)求解,获取使得所述损失值最小的参数。
[0096]
根据上述步骤,获取了参数,本公开的示例性实施例中还保护重复上述步骤直至确定参数的情况,获取了参数意味着时延预测模型训练完成。
[0097]
图3是示出根据本公开的示例性实施例的拥塞控制方法的流程图。
[0098]
参照图3,在步骤301,可获取第一时刻的网络传输参数和第一时刻之前的至少一个历史时刻的网络传输参数。
[0099]
根据本公开的示例性实施例,第一时刻可包括,但不限于需要更新拥塞控制窗口或更新发送速率的时刻,或者其他需要进行拥塞控制的时刻。在每一需要进行拥塞控制或
其他需要获取第一时延预测值的时刻,重复基于该第一时刻的对应的步骤。
[0100]
根据本公开的示例性实施例,历史时刻包括在第一时刻之前的所有通过本公开的示例性实施例中的训练方法训练好的时延预测模型获取了第一时延预测值的时刻。
[0101]
网络传输参数可包括,但不限于,以下项中的至少一项:实时发送速率、实时接收速率、实时往返时延、实时平滑往返时延、实时最小往返时延、实时丢包率和实时在途数据量。时延预测模型可以是,但不限于,sequence-to-sequence模型。
[0102]
在步骤302,可将第一时刻的网络传输参数和第一时刻之前的至少一个历史时刻的网络传输参数输入本公开的示例性实施例中的时延预测模型的训练方法训练好的时延预测模型中,得到第一时刻的第一时延预测值。
[0103]
根据本公开的示例性实施例,可首先将第一时刻和第一时刻之前的至少一个历史时刻的网络传输参数按照时序以及参数类型进行排列,得到第一矩阵;然后可将第一矩阵输入时延预测模型中,得到第一时刻的第一时延预测值向量,其中,第一时刻的第一时延预测值向量为第一时刻和第一时刻之前的至少一个历史时刻的第一时延预测值根据时序排列形成的向量;最后可获取第一时刻的第一时延预测值向量的最后一个元素作为第一时刻的第一时延预测值。
[0104]
根据本公开的示例性实施例,时延预测模型可以包括编码神经网络和解码神经网络,可将该第一矩阵输入编码神经网络,通过编码神经网络将该第一矩阵中的各元素编码为编码向量;将编码向量输入解码神经网络,通过解码神经网络将编码向量解码为对应的第一时刻的第一时延预测值向量。
[0105]
在步骤303,可基于第一时刻的第一时延预测值,执行拥塞控制。
[0106]
根据本公开的示例性实施例,可首先根据第一时刻的稳定传输往返时延和第一时刻的第一时延预测值的差值,得到第一时刻的排队时延,第一时刻的稳定传输往返时延为在第一时刻的平滑往返时延的一半的时间窗口内的最小的往返时延;然后可基于第一时刻的排队时延进行拥塞控制。
[0107]
根据本公开的示例性实施例,可通过基于时延的拥塞控制方法进行拥塞控制,基于时延的拥塞控制方法可包括,但不限于:copa拥塞控制算法、维加斯vegas拥塞控制算法等。
[0108]
可通过下式(7)获取第一时刻的排队时延:
[0109]dq
=rttstanding
t-d
t

ꢀꢀꢀ
(7)
[0110]
其中,t代表第一时刻,dq为第一时刻的排队时延,rttstanding
t
为第一时刻的稳定传输往返时延,d
t
为第一时刻的时延预测值。rttstanding
t
表示在t时刻srtt
t
/2长度的时间窗口内的最小的rtt值。
[0111]
图4是示出根据本公开的示例性实施例的时延预测模型的训练装置的框图。参照图4,训练装置400包括数据获取单元401、模型估计单元402、函数计算单元403和参数调节单元404,其中:
[0112]
数据获取单元401被配置为:获取训练数据集,其中,训练数据集包括各采样时刻的网络传输参数和各采样时刻的网络链路对应的时延真实值。
[0113]
根据本公开的示例性实施例,训练数据集可以是基于预设的采样时间间隔获取的。训练数据集可以是通过网络传输模拟器获取的。
[0114]
根据本公开的示例性实施例,时延预测模型可以是sequence-to-sequence模型。时延预测模型也可以是其他的深度学习模型,例如基于lstm或gru的深度学习预测模型、transformer模型、基于sequence-to-sequence网络的模型,本公开中的时延预测模型还可为统计模型,例如arima模型。
[0115]
网络传输参数可包括,但不限于,以下项中的至少一项:实时发送速率s
t
、实时接收速率a
t
、实时往返时延rtt
t
(round-trip time)、实时平滑往返时延srtt
t
(smoothed round-trip time)、实时最小往返时延minrtt
t
、实时丢包率l
t
和实时在途数据量i
t
。其中,实时发送速率可以是网络链路实时发送数据包的速率,实时接收速率可以是网络链路实时接收数据包的速率,实时往返时延可以是实时节点处理时延、实时排队时延、实时发送时延和实时传播时延的和值,实时平滑往返时延可以是基于平滑因子和实时往返时延得到的往返时延,实时最小往返时延可以是网络链路上的历史往返时延中的最小值,实时丢包率可以是网络链路实时的丢数据包率,实施在途数据量可以是实时在网路链路上传输的数据包量。
[0116]
根据本公开的示例性实施例,时延真实值为网络链路固有往返时延真实值。网络链路往返时延可由节点处理时延、排队时延、发送时延和传播时延组成,本公开的示例性实施例中的网络链路固有往返时延可以不包括排队时延,即由节点处理时延、发送时延和传播时延组成。也就是说,网络链路往返时延真实值可以是节点处理时延、排队时延、发送时延和传播时延的和值,而网络链路固有往返时延真实值可以是网络数据节点处理时延、发送时延和传播时延的和值。
[0117]
模型估计单元402可将各采样时刻的网络传输参数输入时延预测模型,得到各采样时刻的时延预测值。
[0118]
根据本公开的示例性实施例,模型估计单元402可首先获取目标采样时刻对应的参数矩阵,其中,参数矩阵是目标采样时刻对应的网络传输参数和目标采样时刻之前的各采样时刻对应的网络传输参数,按照时序以及参数类型进行排序得到的矩阵;然后模型估计单元402可将参数矩阵输入时延预测模型中,得到时延预测值向量;最后模型估计单元402可将时延预测值向量中的最后一个元素作为目标采样时刻对应的时延预测值。
[0119]
根据本公开的示例性实施例,时延预测模型可包括编码神经网络和解码神经网络。模型估计单元402可将参数矩阵输入编码神经网络,通过编码神经网络将各采样时刻的网络传输参数编码为编码向量;将编码向量输入解码神经网络,通过解码神经网络将编码向量解码为与各采样时刻一一对应的时延预测值;将各采样时刻一一对应的时延预测值按照时序进行排序,得到时延预测值向量。
[0120]
函数计算单元403可根据各采样时刻的时延真实值和各采样时刻的时延预测值的之间的差异确定时延预测模型的损失值,损失值与所述差异成正相关关系。
[0121]
根据本公开的示例性实施例,函数计算单元403可首先根据各采样时刻的时延真实值和各采样时刻的时延预测值的之间的差异,得到各采样时刻的损失值;然后函数计算单元403可基于各采样时刻的损失值得到时延预测模型的损失值。
[0122]
根据本公开的示例性实施例,函数计算单元403首先可确定各采样时刻的时延真实值和各采样时刻的时延预测值的差值绝对值;然后函数计算单元403可基于差值绝对值与设定阈值的大小关系确定各采样时刻的损失值计算方式;最后函数计算单元403可基于
各采样时刻的损失值计算方式、各采样时刻的时延真实值和各采样时刻的时延预测值之间的差异得到各采样时刻的损失值。
[0123]
根据本公开的示例性实施例,损失值计算方式基于通过上式(2)确定。时延预测模型的损失值的计算方式基于通过上式(3)确定。
[0124]
参数调节单元404可通过根据损失值调整时延预测模型的参数,对时延预测模型进行训练,得到训练好的时延预测模型。
[0125]
根据本公开的示例性实施例,可通过优化算法,调整时延预测模型的参数,对时延预测模型进行训练。优化算法可以是,但不限于,随机梯度下降算法、批量梯度下降算法、牛顿法、拟牛顿法或共轭梯度法。若优化算法是随机梯度下降算法,此时参数调节单元404可通过随机梯度下降算法对上式(4)求解,获取使得损失值最小的参数。
[0126]
图5是示出根据本公开的示例性实施例的拥塞控制装置的框图。参照图5,根据本公开的示例性实施例的拥塞控制装置500可包括数据获取单元501、模型估计单元502和拥塞控制单元503。
[0127]
数据获取单元501可获取第一时刻的网络传输参数和第一时刻之前的至少一个历史时刻的网络传输参数。
[0128]
根据本公开的示例性实施例,第一时刻可包括,但不限于需要更新拥塞控制窗口或更新发送速率的时刻,或者其他需要进行拥塞控制的时刻。
[0129]
根据本公开的示例性实施例,历史时刻,包括在第一时刻之前的所有通过本公开的示例性实施例中的训练方法训练好的时延预测模型获取了第一时延预测值的时刻。
[0130]
网络传输参数可包括,但不限于,以下项中的至少一项:实时发送速率、实时接收速率、实时往返时延、实时平滑往返时延、实时最小往返时延、实时丢包率和实时在途数据量。时延预测模型可以是,但不限于sequence-to-sequence模型。
[0131]
模型估计单元502可将第一时刻的网络传输参数和第一时刻之前的至少一个历史时刻的网络传输参数输入本公开的示例性实施例中的时延预测模型的训练方法训练好的时延预测模型中,得到第一时刻的第一时延预测值。
[0132]
根据本公开的示例性实施例,模型估计单元502可首先将第一时刻和第一时刻之前的至少一个历史时刻的网络传输参数按照时序以及参数类型进行排列,得到第一矩阵;然后模型估计单元502可将第一矩阵输入时延预测模型中,得到第一时刻的第一时延预测值向量,其中,第一时刻的第一时延预测值向量为第一时刻和第一时刻之前的至少一个历史时刻的第一时延预测值根据时序排列形成的向量;模型估计单元502最后可获取第一时刻的第一时延预测值向量的最后一个元素作为第一时刻的第一时延预测值。
[0133]
根据本公开的示例性实施例,时延预测模型可以包括编码神经网络和解码神经网络,模型估计单元502可将该第一矩阵输入编码神经网络,通过编码神经网络将该矩阵中的各元素编码为编码向量;将编码向量输入解码神经网络,通过解码神经网络将编码向量解码为对应的第一时刻的第一时延预测值向量。
[0134]
拥塞控制单元503可基于第一时刻的第一时延预测值,执行拥塞控制。
[0135]
根据本公开的示例性实施例,拥塞控制单元503可首先根据第一时刻的稳定传输往返时延和第一时刻的第一时延预测值的差值,得到第一时刻的排队时延,第一时刻的稳定传输往返时延为在第一时刻的平滑往返时延的一半的时间窗口内的最小的往返时延;然
后拥塞控制单元503可基于第一时刻的排队时延进行拥塞控制。根据本公开的示例性实施例,拥塞控制单元503可通过基于时延的拥塞控制方法进行拥塞控制,基于时延的拥塞控制方法可包括,但不限于:copa拥塞控制算法、vegas拥塞控制算法。
[0136]
可通过上式(7)获取第一时刻的排队时延。
[0137]
图6是示出根据本公开的示例性实施例的电子设备600的框图。
[0138]
参照图6,电子设备600包括至少一个存储器601和至少一个处理器602,所述至少一个存储器601中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器602执行时,执行根据本公开的示例性实施例的时延预测模型的训练方法或拥塞控制方法。
[0139]
作为示例,电子设备600可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备600并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备600还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0140]
在电子设备600中,处理器602可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0141]
处理器602可运行存储在存储器601中的指令或代码,其中,存储器601还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
[0142]
存储器601可与处理器602集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器601可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器601和处理器602可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器602能够读取存储在存储器中的文件。
[0143]
此外,电子设备600还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备600的所有组件可经由总线和/或网络而彼此连接。
[0144]
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的时延预测模型的训练方法或拥塞控制方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd r、cd-rw、cd rw、dvd-rom、dvd-r、dvd r、dvd-rw、dvd rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计
算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0145]
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的时延预测模型的训练方法或拥塞控制方法。
[0146]
根据本公开的时延预测模型的训练方法和装置及拥塞控制方法和装置,获取网络传输参数和时延真实值对时延预测模型进行训练,训练好的时延预测模型可获取时延预测值,将时延预测值结合于基于时延的拥塞控制方法,能够提升现有的时延的拥塞控制方法的效果。将预测值作为参考基准,从而增强其在某些场景如时延抖动场景下的效果,提升拥塞控制的整体表现,提升用户的qoe(体验质量),相较于相关技术中的基于时延的拥塞控制方法,对于网络链路固有往返时延的预测更准确,具有较高的带宽利用率。
[0147]
此外,根据本公开的时延预测模型的训练方法和装置及拥塞控制方法和装置,通过网络传输模拟器获取训练数据集,并最终将训练好的时延预测模型应用到网络链路上,改善了训练数据集难以从网络链路上直接获取的情况。
[0148]
此外,根据本公开的时延预测模型的训练方法和装置及拥塞控制方法和装置,时延预测模型设置为sequence-to-sequence模型,预测出来的时延结合于基于时延的拥塞控制方法,能够提升网络业务的吞吐率。通过公开平台pantheon的实验测试,相较于copa拥塞控制算法,本公开的示例性实施例的方案平均吞吐率提升了17%,且平均时延未超过copa拥塞控制算法的平均时延。
[0149]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0150]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献