CN112770353B - 拥塞控制模型的训练方法和装置及拥塞控制方法和装置 - Google Patents

拥塞控制模型的训练方法和装置及拥塞控制方法和装置 Download PDF

Info

Publication number
CN112770353B
CN112770353B CN202011611779.2A CN202011611779A CN112770353B CN 112770353 B CN112770353 B CN 112770353B CN 202011611779 A CN202011611779 A CN 202011611779A CN 112770353 B CN112770353 B CN 112770353B
Authority
CN
China
Prior art keywords
congestion control
control model
value
training
reward
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011611779.2A
Other languages
English (en)
Other versions
CN112770353A (zh
Inventor
周超
陈艳姣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Wuhan University WHU
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU, Beijing Dajia Internet Information Technology Co Ltd filed Critical Wuhan University WHU
Priority to CN202011611779.2A priority Critical patent/CN112770353B/zh
Publication of CN112770353A publication Critical patent/CN112770353A/zh
Application granted granted Critical
Publication of CN112770353B publication Critical patent/CN112770353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0284Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开关于一种拥塞控制模型的训练方法和装置及拥塞控制方法和装置。所述训练方法包括:利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型;从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型;其中,所述拥塞控制模型的输入为所述网络状态数据,输出为拥塞窗口大小调节动作。

Description

拥塞控制模型的训练方法和装置及拥塞控制方法和装置
技术领域
本公开涉及计算机技术领域,更具体地说,涉及一种拥塞控制模型的训练方法和装置及拥塞控制方法和装置。
背景技术
随着5G和移动互联网技术的快速发展和互联网应用程序的快速增加,在为人们带来生活便利和提高体验质量的同时,也对网络性能提出了新的要求。尤其是在计算机网络的拥塞控制方面,需要根据网络的时延变化、超时重传的分组数以及被丢弃的分组的百分数等网络指标,不断调整网络模型的拥塞窗口,进而控制网络链路中的数据包数量,避免网络发生拥塞,使网络的带宽资源得到有效利用,为用户提供高质量的服务体验。计算机网络拥塞控制协议作为网络传输层最重要的协议,能够提高网络吞吐量、降低数据传输时延和降低数据丢包率等网络性能,已成为计算机网络技术领域的研究热点和进一步发展的重要方向。
随着网络服务和应用程序(实时视频、AR/VR、边缘计算、物联网等)的需求越来越高,以及网络用户数量的急剧增加,对网络的性能要求越来越高。而当前普遍使用的TCP拥塞控制协议的性能在不断下降,而且传统TCP的性能在网络吞吐量、时延、数据丢包率以及BDP方面无法满足快速发展的网络拓扑结构的变化,影响了网络的发展。随着5G技术的飞速发展,网络环境将变得更加复杂和多样化。拥塞控制协议是避免网络拥塞并改善网络服务的重要方法,它对网络性能和服务质量(QoS)有非常重要的影响。如果现有的拥塞控制技术不加以改进优化,未来将会产生更严重的网络拥塞。除此之外,现有的拥塞控制协议由于其不可迁移性,当面对不同的网络场景时,无法为各种网络场景提供所需的性能。
发明内容
本公开提供一种拥塞控制模型的训练方法和装置及拥塞控制方法和装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
根据本公开实施例的第一方面,提供一种拥塞控制模型的训练方法,包括:利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型;从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型;其中,所述拥塞控制模型的输入为所述网络状态数据,输出为拥塞窗口大小调节动作。
可选地,所述训练方法还可包括:从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
可选地,所述网络状态数据可包括网络时延、传送率、发送率和拥塞窗口大小。
可选地,所述利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,可包括:针对每个训练回合执行以下操作:每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,直到该训练回合结束,其中,所述目标函数是预先设计的用于对所述拥塞控制模型进行训练的函数;在该训练回合结束时,生成一个拥塞控制模型;其中,在下一个训练回合开始时,将其上一个训练回合生成的拥塞控制模型作为初始拥塞控制模型。
可选地,所述每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,可包括:每隔所述预定步长,执行以下操作:与第一目标网络环境交互以获得网络状态数据;基于所述网络状态数据,利用所述拥塞控制模型,获得拥塞窗口大小调节动作;基于所述拥塞窗口大小调节动作,获得奖励函数的值,其中,所述奖励函数是用于评价所述拥塞窗口大小调节动作的优劣的函数;基于所述奖励函数的值,计算优势函数的值,其中,所述优势函数是用于评价当前的网络状态下所述拥塞窗口大小调节动作的效用相对于当前的网络状态下各拥塞窗口大小调节动作的平均效用的优劣的函数;基于所述优势函数的值,计算目标函数的值;对所述拥塞控制模型的参数进行更新以使所述目标函数的值最大化。
可选地,所述基于所述拥塞窗口大小调节动作,获得奖励函数的值,可包括:在基于所述拥塞窗口大小调节动作调节第一目标网络环境的拥塞窗口的大小后,从第一目标网络环境获取吞吐量数据、网络时延数据、丢包率数据;基于吞吐量数据、网络时延数据、丢包率数据计算奖励函数的值。
可选地,所述奖励函数可被表示为:
Reward(t′)=α×tput(t′)-β×RTT(t′)-γ×loss_rate(t′),
其中,Reward(t′)表示t′时刻的奖励函数的值,tput(t′)表示t′时刻的吞吐量、RTT(t′)表示t′时刻的网络时延,loss_rate(t′)表示t′时刻的丢包率,α、β和γ分别表示吞吐量、网络时延和丢包率的权重值。
可选地,所述基于所述奖励函数的值,计算优势函数的值,可包括:基于每个时刻的奖励函数的值以及步长前后的决策影响程度,计算优势函数的值。
可选地,所述优势函数可被表示为:
Figure BDA0002874828490000021
其中,A(t)表示所述优势函数,t表示时间,t′表示当前时刻,Tn表示总时间,n表示步长,N表示总步长,Reward(t′)表示t′时刻的奖励函数的值,λ表示用于计算步长前后的决策影响程度的折扣因子,且λ<1,b表示基线并与总奖励值的期望值相关,θ表示所述拥塞控制模型的参数,
Figure BDA0002874828490000031
表示在所述拥塞控制模型的参数θ下,在
Figure BDA0002874828490000032
状态下选择动作
Figure BDA0002874828490000033
的概率。
可选地,所述基于所述优势函数的值,计算目标函数的值,可包括:根据重要性采样方法,基于所述优势函数的值,通过将在参数更新前的旧策略和在参数更新后的新策略在给定状态下的动作的概率分布的KL距离作为约束条件,计算所述目标函数的值。
可选地,所述目标函数可被表示为:
Figure BDA0002874828490000034
其中,LKLPEN(θ)表示所述目标函数,
Figure BDA0002874828490000035
表示期望,πθ(at|st)表示在参数更新后的新策略在st状态下选择动作
Figure BDA0002874828490000036
的概率,
Figure BDA0002874828490000037
表示在参数更新前的旧策略在st状态下选择动作
Figure BDA0002874828490000038
的概率,
Figure BDA0002874828490000039
表示所述优势函数的值,
Figure BDA00028748284900000310
表示在参数更新前的旧策略和在参数更新后的新策略在st状态下的动作的概率分布的KL距离,μ表示调节KL距离的参数。
可选地,所述训练方法还可包括:每隔所述预定步长,执行以下操作:计算所述KL距离的期望值;将计算出的期望值与第一预定阈值和第二预定阈值进行比较,其中,第一预定阈值小于第二预定阈值;在计算出的期望值在第一预定阈值和第二预定阈值之间的范围内的情况下,不更新μ;在计算出的期望值小于第一预定阈值的情况下,减小μ;在计算出的期望值大于第二预定阈值的情况下,增大μ。
可选地,所述训练方法还可包括:针对每个训练回合执行以下操作:当满足以下条件中之一时,结束当前训练回合:当前训练回合累计的奖励值小于预设最差奖励阈值且当前训练回合累计的吞吐量小于预设最差吞吐量阈值;当前训练回合累计的步长的数量达到预设最大步长数量。
可选地,所述从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,可包括:针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择奖励值最大的一个拥塞控制模型。
可选地,所述从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,可包括:针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。
可选地,所述基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值,可包括:通过以下公式来计算当前拥塞控制模型的奖励值:
Reward=α×tputave-β×RTTave-γ×loss_rateave
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示所述平均吞吐量,RTTave表示所述平均网络时延,loss_rateave表示所述平均丢包率,α、β和γ分别表示所述平均吞吐量、所述平均网络时延和所述平均丢包率的权重值。
可选地,所述根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型,可包括:选择奖励值最大的至少一个拥塞控制模型;或者选择奖励值大于预定阈值的至少一个拥塞控制模型;或者选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。
可选地,所述利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,可包括:针对所述至少一个拥塞控制模型中的每个拥塞控制模型执行以下操作:固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。
可选地,将训练好的所述至少一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型,可包括:将训练好的所述至少一个拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
根据本公开实施例的第二方面,提供一种拥塞控制方法,包括:从第一目标网络环境获取第一网络状态数据;基于第一网络状态数据,利用根据本公开的训练方法生成的多个训练好的拥塞控制模型中选择的一个拥塞控制模型,在第一目标网络环境下执行拥塞控制。
可选地,所述拥塞控制方法还可包括:从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
可选地,所述从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,可包括:针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。
可选地,所述基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值,可包括:通过以下公式来计算当前拥塞控制模型的奖励值:
Reward=α×tputave-β×RTTave-γ×loss_rateave
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示所述平均吞吐量,RTTave表示所述平均网络时延,loss_rateave表示所述平均丢包率,α、β和γ分别表示所述平均吞吐量、所述平均网络时延和所述平均丢包率的权重值。
可选地,所述根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型,可包括:选择奖励值最大的至少一个拥塞控制模型;或者选择奖励值大于预定阈值的至少一个拥塞控制模型;或者选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。
可选地,所述利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,可包括:针对所述至少一个拥塞控制模型中的每个拥塞控制模型执行以下操作:固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。
可选地,所述将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型,可包括:将训练好的所述至少一个拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
可选地,所述拥塞控制方法还可包括:从第二目标网络环境获取第二网络状态数据;基于第二网络状态数据,利用用于第二目标网络环境的拥塞控制模型,在第二目标网络环境下执行拥塞控制。
根据本公开实施例的第三方面,提供一种拥塞控制模型的训练装置,包括:训练单元,被配置为:利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型;选择单元,被配置为:从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型;其中,所述拥塞控制模型的输入为所述网络状态数据,输出为拥塞窗口大小调节动作。
可选地,所述训练装置还可包括:迁移单元,被配置为:从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
可选地,所述网络状态数据可包括网络时延、传送率、发送率和拥塞窗口大小。
可选地,训练单元可被配置为:针对每个训练回合执行以下操作:每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,直到该训练回合结束,其中,所述目标函数是预先设计的用于对所述拥塞控制模型进行训练的函数;在该训练回合结束时,生成一个拥塞控制模型;其中,在下一个训练回合开始时,将其上一个训练回合生成的拥塞控制模型作为初始拥塞控制模型。
可选地,训练单元可被配置为:每隔所述预定步长,执行以下操作:与第一目标网络环境交互以获得网络状态数据;基于所述网络状态数据,利用所述拥塞控制模型,获得拥塞窗口大小调节动作;基于所述拥塞窗口大小调节动作,获得奖励函数的值,其中,所述奖励函数是用于评价所述拥塞窗口大小调节动作的优劣的函数;基于所述奖励函数的值,计算优势函数的值,其中,所述优势函数是用于评价当前的网络状态下所述拥塞窗口大小调节动作的效用相对于当前的网络状态下各拥塞窗口大小调节动作的平均效用的优劣的函数;基于所述优势函数的值,计算目标函数的值;对所述拥塞控制模型的参数进行更新以使所述目标函数的值最大化。
可选地,训练单元可被配置为:在基于所述拥塞窗口大小调节动作调节第一目标网络环境的拥塞窗口的大小后,从第一目标网络环境获取吞吐量数据、网络时延数据、丢包率数据;基于吞吐量数据、网络时延数据、丢包率数据计算奖励函数的值。
可选地,所述奖励函数可被表示为:
Reward(t′)=α×tput(t′)-β×RTT(t′)-γ×loss_rate(t′),
其中,Reward(t′)表示t′时刻的奖励函数的值,tput(t′)表示t′时刻的吞吐量、RTT(t′)表示t′时刻的网络时延,loss_rate(t′)表示t′时刻的丢包率,α、β和γ分别表示吞吐量、网络时延和丢包率的权重值。
可选地,训练单元可被配置为:基于每个时刻的奖励函数的值以及步长前后的决策影响程度,计算优势函数的值。
可选地,所述优势函数可被表示为:
Figure BDA0002874828490000061
其中,A(t)表示所述优势函数,t表示时间,t′表示当前时刻,Tn表示总时间,n表示步长,N表示总步长,Reward(t′)表示t′时刻的奖励函数的值,λ表示用于计算步长前后的决策影响程度的折扣因子,且λ<1,b表示基线并与总奖励值的期望值相关,θ表示所述拥塞控制模型的参数,
Figure BDA0002874828490000062
表示在所述拥塞控制模型的参数θ下,在
Figure BDA0002874828490000063
状态下选择动作
Figure BDA0002874828490000064
的概率。
可选地,所训练单元可被配置为:根据重要性采样方法,基于所述优势函数的值,通过将在参数更新前的旧策略和在参数更新后的新策略在给定状态下的动作的概率分布的KL距离作为约束条件,计算所述目标函数的值。
可选地,所述目标函数可被表示为:
Figure BDA0002874828490000065
其中,LKLPEN(θ)表示所述目标函数,
Figure BDA0002874828490000066
表示期望,πθ(at|st)表示在参数更新后的新策略在st状态下选择动作
Figure BDA0002874828490000067
的概率,
Figure BDA0002874828490000068
表示在参数更新前的旧策略在st状态下选择动作
Figure BDA0002874828490000071
的概率,
Figure BDA0002874828490000072
表示所述优势函数的值,
Figure BDA0002874828490000073
表示在参数更新前的旧策略和在参数更新后的新策略在st状态下的动作的概率分布的KL距离,μ表示调节KL距离的参数。
可选地,训练单元还可被配置为:每隔所述预定步长,执行以下操作:计算所述KL距离的期望值;将计算出的期望值与第一预定阈值和第二预定阈值进行比较,其中,第一预定阈值小于第二预定阈值;在计算出的期望值在第一预定阈值和第二预定阈值之间的范围内的情况下,不更新μ;在计算出的期望值小于第一预定阈值的情况下,减小μ;在计算出的期望值大于第二预定阈值的情况下,增大μ。
可选地,训练单元还可被配置为::针对每个训练回合执行以下操作:当满足以下条件中之一时,结束当前训练回合:当前训练回合累计的奖励值小于预设最差奖励阈值且当前训练回合累计的吞吐量小于预设最差吞吐量阈值;当前训练回合累计的步长的数量达到预设最大步长数量。
可选地,选择单元可被配置为:针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择奖励值最大的一个拥塞控制模型。
可选地,迁移单元可被配置为:针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。
可选地,选择单元或迁移单元可被配置为:通过以下公式来计算当前拥塞控制模型的奖励值:
Reward=α×tputave-β×RTTave-γ×loss_rateave
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示所述平均吞吐量,RTTave表示所述平均网络时延,loss_rateave表示所述平均丢包率,α、β和γ分别表示所述平均吞吐量、所述平均网络时延和所述平均丢包率的权重值。
可选地,选择单元可被配置为:选择奖励值最大的至少一个拥塞控制模型;或者选择奖励值大于预定阈值的至少一个拥塞控制模型;或者选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。
可选地,迁移单元可被配置为:针对所述至少一个拥塞控制模型中的每个拥塞控制模型执行以下操作:固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。
可选地,迁移单元可被配置为:将训练好的所述至少一个拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
根据本公开实施例的第四方面,提供一种拥塞控制装置,包括:第一状态获取单元,被配置为:从第一目标网络环境获取的第一网络状态数据;第一拥塞控制单元,被配置为:基于第一网络状态数据,利用根据本公开的训练方法生成的多个训练好的拥塞控制模型中选择的一个拥塞控制模型,在第一目标网络环境下执行拥塞控制。
可选地,所述拥塞控制装置还可包括:迁移单元,被配置为:从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
可选地,迁移单元可被配置为:针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。
可选地,迁移单元可被配置为:通过以下公式来计算当前拥塞控制模型的奖励值:
Reward=α×tputave-β×RTTave-γ×loss_rateave
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示所述平均吞吐量,RTTave表示所述平均网络时延,loss_rateave表示所述平均丢包率,α、β和γ分别表示所述平均吞吐量、所述平均网络时延和所述平均丢包率的权重值。
可选地,迁移单元可被配置为:选择奖励值最大的至少一个拥塞控制模型;或者选择奖励值大于预定阈值的至少一个拥塞控制模型;或者选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。
可选地,迁移单元可被配置为:针对所述至少一个拥塞控制模型中的每个拥塞控制模型执行以下操作:固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。
可选地,迁移单元可被配置为:将训练好的所述至少一个拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
可选地,所述拥塞控制装置还可包括:第二状态获取单元,被配置为:从第二目标网络环境获取第二网络状态数据;第二拥塞控制单元,被配置为:基于第二网络状态数据,利用用于第二目标网络环境的拥塞控制模型,在第二目标网络环境下执行拥塞控制。
根据本公开实施例的第五方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的执行视频预加载的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的拥塞控制模型的训练方法或拥塞控制方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令可由计算机设备的处理器执行以完成根据本公开的拥塞控制模型的训练方法或拥塞控制方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的拥塞控制模型的训练方法和训练装置以及拥塞控制方法和拥塞控制装置,利用深度强化学习中的PPO算法实现了自适应拥塞控制协议,能够根据网络状态自适应地修改拥塞窗口。该协议可以利用过去的经验来学习最佳策略,可以为应用程序提供高吞吐量,低数据包丢失和低延迟的性能,从而有效控制网络中的数据包数量,降低网络拥塞,为用户提供高质量的网络服务。此外,PPO算法还能够有效利用已知分布的参数去采集状态数据,利用这些状态数据,由重要性采样方法推导出的目标函数来更新拥塞控制模型的参数,提高了数据的使用率,从而提高了训练效率。
此外,根据本公开的拥塞控制模型的训练方法和训练装置以及拥塞控制方法和拥塞控制装置,将微调算法与强化学习相结合,将先前训练好的神经网络模型从源网络场景迁移到目标网络场景,从而实现基于强化学习的可迁移拥塞控制协议,并且减少模型的训练时间,提高训练效率,从而实现基于强化学习的拥塞控制模型能够适应多场景的网络环境。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据本公开的拥塞控制方法和拥塞控制装置的应用场景示意图。
图2是示出根据本公开的基于深度强化学习可迁移的拥塞控制方法的整体构思示意图。
图3是示出根据本公开的示例性实施例的拥塞控制模型的训练方法的流程图。
图4是示出根据本公开的示例性实施例的微调算法的示意图。
图5是示出根据本公开的示例性实施例的拥塞控制方法的流程图。
图6是示出根据本公开的示例性实施例的拥塞控制模型的训练装置的框图。
图7是示出根据本公开的示例性实施例的拥塞控制装置的框图。
图8是根据本公开的示例性实施例的电子设备800的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
作为网络传输层的重要组成部分,拥塞控制协议可以避免网络拥塞和保证网络的稳定性。然而,现有的拥塞控制协议由于其不可迁移性,已经训练好的模型无法为其它网络应用场景提供所需的性能和服务,大多数拥塞控制协议只能在特定的网络条件下发挥自身协议的优势性。因此,如何将训练好的模型快速迁移到其它网络场景,并且根据当前的网络状态进行自适应调整的网络拥塞控制,从而提升网络的性能就成为了研究的焦点。
现有的拥塞控制方法可以依据传统TCP协议和基于机器学习算法分为两大类:(1)非学习型拥塞控制协议。例如,TCP变体TCP SACK,Reno和Cubic通过使用数据包是否丢失作为网络是否拥塞的信号,然后采用和性增/乘性降低(AIMD)算法来调整拥塞窗口大小(cwnd);Vegas和Verus,将延迟变化视为拥塞信号,并根据获取的延迟来调整拥塞窗口大小(cwnd)。BBR提出了一种新颖的非学习型拥塞控制协议。其目的是通过获取最大传输速率和最小排队时延的最佳操作点来提高网络性能,在最佳操作点模型可以达到最大传输速率并同时最大程度地减少排队延迟。(2)基于学习的拥塞控制协议。Remy被称为拥塞控制算法的预定目标,它使用数据驱动的方法来生成拥塞控制算法模型。PCC和PCC Vivace使用在线训练通过将性能描述为效用函数来指导数据发送速率,从而控制网络拥塞。它们通过学习发送速率或拥塞窗口和观察到的性能之间的关系,建立了控制拥塞的模型。Indigo提出了一种基于递归神经网络(RNN)的离线学习拥塞控制协议。QTCP利用Q学习(Q-Learning)来自动学习有效的拥塞控制策略。它以在线的方式帮助数据发送者逐渐获取最佳的拥塞控制策略,而无需事先对网络进行建模。作为最新的拥塞控制协议之一,Aurora使用深度强化学习(DRL)生成策略,用于将观察到的网络状态信息映射到速率选择的动作。
这两类拥塞控制方法均在不同的方面存在缺陷和不足。基于丢包率的非学习型拥塞控制方案虽然取得了一些成功,但是在没有丢包的情况下,缓冲区会不断地被填充,长期保持过满状态,导致过大的排队时延。而且在链路丢包的网络环境中,该类方法带宽利用率较差,在动态性高且复杂的网络中也无法很好地进行拥塞控制。基于延迟的拥塞控制协议可以保证它们在获取最小时延上有不错的性能表现,但是在与基于丢包率的数据流共享瓶颈带宽时,会因为竞争力较差而导致带宽分配的不公平;另一方面,延迟作为拥塞控制的信号太复杂,受到多种网络因素的影响,也对协议性能带来很大的不确定性。因此,非学习型拥塞协议通常是为特定网络设计的,没有利用过去的经验用来提升模型性能,从而无法在新型复杂网络场景下进行有效的拥塞控制,不能满足新应用的性能需求。
此外,对于基于学习的拥塞控制方法,存在采样效率低、收敛速度较慢、无法将训练好的模型迁移到其他网络场景等缺点。例如,一种基于深度强化学习的拥塞控制方法及系统,其方案在于,首先初始化网络的环境和模型参数,然后利用收集到的网络中的当前窗口、吞吐量、时延以及数据发送率等来对拥塞控制模型进行训练,根据训练结果选出模型损失函数值最小和奖励函数值最大的拥塞控制模型,然后将模型部署到网络中,进行拥塞控制。虽然该拥塞控制方法能够根据网络的状态变化,利用深度强化学习来进行拥塞控制,但该方法得到拥塞控制模型不具有可迁移性,当面对新的网络场景时,无法根据网络状态变化进行很好的拥塞控制调节,从而导致网络拥塞和性能较低。又例如,一种基于深度强化学习的异构云无线接入网资源分配方法,其方案在于,1)以队列稳定为约束,联合拥塞控制、用户关联、子载波分配和功率分配,并建立网络总吞吐量最大化的随机优化模型;2)考虑到调度问题的复杂性,系统的状态空间和动作空间是高维的,DRL算法利用神经网络作为非线性近似函数,高效地解决维度灾难题;3)针对无线网络环境的复杂性和动态多变性,引入迁移学习算法,利用迁移学习的小样本学习特性,使得DRL算法在少量样本的情况下也能获得最优的资源分配策略。此方案主要针对无线网络中的移动通信网络,在考虑队列稳定性的基础上考虑拥塞控制、用户关联、子载波分配和功率分配从而提高网络的总吞吐量,然而并没有考虑有线网络,wifi网络等,而且也没有考虑网络的时延和丢包率等网络指标。
为了提升拥塞控制方法的效果和效率同时节省成本,并解决现有的拥塞控制方法只能针对单一网络场景,而无法应用在多种网络场景中的问题,本公开提出了一种基于深度强化学习可迁移的拥塞控制方法,提高网络模型在多中应用场景下的吞吐量,同时降低了数据传输时延和丢包率。具体地说,将深度强化学习(例如,近端策略优化PPO(ProximalPolicy Optimization)算法)与迁移学习算法(例如,微调算法(fine-tune))相结合,首先初始化网络的环境和参数,利用收集到的网络中的拥塞窗口大小、吞吐量、往返时延以及数据传输率等网络状态数据,对拥塞控制模型进行训练,从训练好的模型中选出网络性能最好的拥塞控制模型,然后利用不同的网络环境下的神经网络层具有相似性特征,使用迁移学习算法将已经训练好的源神经网络模型迁移至新的网络环境中,对源模型的参数不断进行调节和优化。因此,本公开的拥塞控制方法在提高网络拥塞控制模型训练效率的同时也可以实现源神经网络的迁移,除了能够降低网络拥塞、优化网络的性能,还可以在面对动态多样网络场景时能够快速适应新的网络场景,从而提供一种具有高吞吐量、低时延、低丢包率的可迁移网络拥塞控制协议,满足现有实时应用的性能需求。下面,将参照图1至图8详细描述根据本公开的拥塞控制模型的训练方法和训练装置以及拥塞控制方法和拥塞控制装置。
图1是示出根据本公开的拥塞控制方法和拥塞控制装置的应用场景示意图。
参照图1,在网络数据传输中,多个网络用户共享通信链路。在每个连接链路中包括一个数据发送者、一个数据接收者、缓存和转发数据的路由器和交换机。数据发送者和数据接收者可以是手机、电脑、VR眼镜、智能手表以及平板电脑等。数据发送者发送数据给数据接收者,同时收到来自数据接收者的数据确认包(ACKs)。数据发送者根据收到的确认包来调整它的发送速率,而且发送速率的大小是由数据发送者与接收者之间的网络拥塞控制协议确定的。作为网络传输层的重要组成部分,拥塞控制协议能够防止过多的数据包注入到网络中,从而避免网络中的链路或路由器不至于过载,导致数据包丢失,保证数据的可靠传输,从而避免网络拥塞和保证网络的稳定性。
图2是示出根据本公开的基于深度强化学习可迁移的拥塞控制方法的整体构思示意图。
参照图2,强化学习(例如,PPO)的代理(Agent)通过与网络环境1的交互,获取网络环境1的状态数据,然后根据网络环境1的状态数据选择对应的动作(action),即,拥塞窗口(congestion window,SWND)调节(增大、不变或减小)的动作。这里,拥塞窗口是一个装在发送端的可滑动窗口,窗口的大小是不超过接收端确认通知的窗口,拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。随后,代理收到奖励(reward)函数的反馈,给出选择的动作的奖惩评判,用来衡量代理选择的对上一步拥塞窗口修改的好坏,引导代理选择更好的拥塞窗口,进行拥塞控制。然后不断重复此过程,直到模型收敛。此后,可将训练好的模型迁移至新的网络环境2,利用迁移学习中的微调方法对源模型进行优化,在新的网络环境2中,对源模型中最后少数层(例如,1或2层)的参数和/或增加的少数层(例如,1或2层)参数进行重新训练,以达到适应多场景网络环境的目标。
图3是示出根据本公开的示例性实施例的拥塞控制模型的训练方法的流程图。
参照图3,在步骤301,可利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型。这里,拥塞控制模型的输入可以是网络状态数据,输出则可以是拥塞窗口大小调节动作,例如,增大拥塞窗口(例如,cwnd×2、cwnd+50、cwnd+10等),拥塞窗口不变(例如,cwnd+0),减小拥塞窗口(例如,cwnd-10、cwnd-50、cwnd×0.5等)。
根据本公开的示例性实施例,首先,可初始化第一目标网络环境。具体地说,在拥塞控制算法开始之前,可对第一目标网络环境进行初始化,建立通信双方之间的连接,利用通信双方的数据发送来计算网络的性能指标,可选择网络时延(RTT)、传送率(deliveryrate)、发送率(sending rate)和拥塞窗口大小(congestion window,cwnd)作为拥塞控制模型的网络状态数据,为拥塞控制模型的训练做准备。当然,本公开的网络状态数据不限于此,还可选择任何可能的网络性能指标来作为网络状态数据。随后,可开始在第一目标网络环境下对拥塞控制模型进行训练。首先可初始化数据池、拥塞控制模型和拥塞控制模型中的参数,随机生成权重赋予拥塞控制模型的参数。然后,初始化一个训练回合(episode),可预先设置最差奖励阈值(bad_reward)、最差吞吐量阈值(bad_tput)和一个训练回合的最大步长(step)值(max_step)。这里,每个训练回合可具有数量不等的步长。可从数据池中随机获取一定数量的网络状态数据,为训练回合的步长的运行做准备。
根据本公开的示例性实施例,可针对每个训练回合执行以下操作:每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,直到该训练回合结束,其中,目标函数是指预先设计的用于对所述拥塞控制模型进行训练的函数;在该训练回合结束时,可生成一个拥塞控制模型。在下一个训练回合开始时,可将其上一个训练回合生成的拥塞控制模型作为初始拥塞控制模型。
根据本公开的示例性实施例,具体地说,可每隔预定步长,执行以下操作:与第一目标网络环境交互以获得网络状态数据;基于所述网络状态数据,利用所述拥塞控制模型,获得拥塞窗口大小调节动作;基于所述拥塞窗口大小调节动作,获得奖励函数的值,其中,所述奖励函数是用于评价所述拥塞窗口大小调节动作的优劣的函数;基于所述奖励函数的值,计算优势函数的值,其中,所述优势函数是用于评价当前的网络状态下所述拥塞窗口大小调节动作的效用相对于当前的网络状态下各拥塞窗口大小调节动作的平均效用的优劣的函数;基于所述优势函数的值,计算目标函数的值;对所述拥塞控制模型的参数进行更新以使所述目标函数的值最大化。
例如,PPO代理通过与第一目标网络环境交互,经过固定数量的步长,根据从PPO代理获取的奖励(Reward)函数的值Reward(t′)来计算优势函数(advantage function)A(t)的值,并基于优势函数A(t)的值,选取合适拥塞控制模型的参数θ,使目标(Objective)函数的值LKLPEN(θ)最大化。然后继续重复该步骤,以此不断更新拥塞控制模型的参数θ。这里,Objective函数是用于参数更新的函数,例如传统的参数更新一般都使用的是策略梯度(policy-gradient)方法,这是一种on-policy的方法,此方法中需要使用损失(loss)函数和梯度下降法来更新参数。然而,PPO算法是一种off-policy的方法,可在预定数量的步长中,在拥塞控制模型的已知参数分布下,采集网络状态数据,然后利用这些网络状态数据,基于由重要性采样方法推导得出的目标函数来更新拥塞控制模型的参数,这样,可以不用每次都通过更新拥塞控制模型的参数来收集新的网络状态数据,有效地提升了数据集的利用率及参数优化的效率和性能表现提高数据的使用率,从而提高了训练效率。
具体地说,每经过一个步长就可计算一次奖励函数的值。对于一个步长来说,当从第一目标网络环境获取网络状态数据时,将网络状态数据输入拥塞控制模型,拥塞控制模型可输出拥塞窗口大小调节动作,代理根据拥塞窗口大小调节动作去调节第一目标网络环境的拥塞窗口大小,并根据从调节后的第一目标网络环境获取的网络指标(例如,但不限于,吞吐量、网络时延、丢包率)计算奖励函数的值。随后,可开始下一步长,重复执行上述步骤,以此类推。奖励函数是衡量当前一步或几步的动作优劣的标准,奖励值越大代表当前动作越好,会继续持续类似的动作,而奖励值较小,则会尝试其他的动作。例如,奖励函数可被表示为下面的公式(1):
Reward(t′)=α×tput(t′)-β×RTT(t′)-γ×loss_rate(t′) (1)
其中,Reward(t′)表示t′时刻的奖励函数的值,tput(t′)表示t′时刻的吞吐量、RTT(t′)表示t′时刻的网络时延,loss_rate(t′)表示t′时刻的丢包率,α、β和γ分别表示吞吐量、网络时延和丢包率的权重值。
随后,在经过预定步长后,可基于每个时刻的奖励函数的值以及步长前后的决策影响程度,计算优势函数的值。优势函数的意义为当前的状态与动作的效用相对于该状态下平均效用的大小,如果大于0则说明该动作优于平均动作,小于0则说明该动作劣于平均动作。例如,优势函数可被表示为下面的公式(2):
Figure BDA0002874828490000141
其中,A(t)表示优势函数,t表示时间,t′表示当前时刻,Tn表示总时间,n表示步长,N表示总步长,Rewardn(t′)表示t′时刻的奖励函数的值,λ表示用于计算步长前后的决策影响程度的折扣因子,且λ<1。这里,考虑到步长越往后走,最开始的动作对后续的动作影响就相对越来越小,因此,引入一个折扣因子λ,可以取0.95、0.98等接近1的值。此外,b表示基线,其与总奖励值(即,累计的奖励函数的值)的期望值相关,一般可取与总奖励值的期望值相似的一个数值,这样可以使得采样后由公式求得的值有正负之分,便于区分当前动作的好坏,若是大于0,则表明该动作是好的,若小于0,则表明该动作是不好的。此外,θ表示拥塞控制模型的参数,
Figure BDA0002874828490000142
表示在所述拥塞控制模型的参数θ下,在
Figure BDA0002874828490000143
状态下选择动作
Figure BDA0002874828490000144
的概率。
随后,可根据重要性采样方法,基于所述优势函数的值,通过将在参数更新前的旧策略和在参数更新后的新策略在给定状态下的动作的概率分布的KL距离作为约束条件,计算目标函数的值。这里,由于PPO方法的推导及整个算法是基于重要性采样,因此会产生对新策略(在参数更新后的新参数下在训练时每一步将会采取的动作)和旧策略(在参数更新前的旧参数下在训练时每一步将会采取的动作)表现差异不能相差太大,需要在合理的差距之内,否则会影响参数更新的结果,使整个算法性能变坏。因此,在目标函数中可加入新策略和旧策略之间KL距离(KL-divergence)的作为约束条件,以保证参数的更新是合理正确的。当目标函数最大化时,既能使得策略对应的奖励值较大(即,使当前状态下的后续奖励累计期望达到最大),还能保证旧策略和新策略的KL距离相对较小,始终保持两个策略在训练过程中的表现和输出在合理的差距之内。例如,目标函数可被表示为下面的公式(3):
Figure BDA0002874828490000151
其中,LKLPEN(θ)表示目标函数,
Figure BDA0002874828490000152
表示期望,πθ(at|st)表示在参数更新后的新策略在st状态下选择动作
Figure BDA0002874828490000153
的概率,
Figure BDA0002874828490000154
表示在参数更新前的旧策略在st状态下选择动作
Figure BDA0002874828490000155
的概率,
Figure BDA0002874828490000156
表示所述优势函数的值,
Figure BDA0002874828490000157
表示在参数更新前的旧策略和在参数更新后的新策略在st状态下的动作的概率分布的KL距离,μ表示调节KL距离的参数。
这里,每经过所述预定步长,还可判断一次参数μ是否需要更新(例如,增大或减小)以保证拥塞控制模型的参数θ的更新方向的正确性,然后才继续后续预定步长的训练。例如,首先,可计算KL距离的期望值,如下面的公式(4)所示:
Figure BDA0002874828490000158
其中,d表示KL距离的期望值,
Figure BDA0002874828490000159
表示期望,
Figure BDA00028748284900001510
表示在参数更新前的旧策略和在参数更新后的新策略在st状态下的动作的概率分布的KL距离。
然后,可将计算出的期望值与第一预定阈值和第二预定阈值进行比较,其中,第一预定阈值小于第二预定阈值。在计算出的期望值在第一预定阈值和第二预定阈值之间的范围内的情况下,不更新μ。在计算出的期望值小于第一预定阈值的情况下,减小μ。在计算出的期望值大于第二预定阈值的情况下,增大μ。例如,可预先设定新策略与原策略KL距离的目标值dtar,则第一预定阈值可被设置为dtar/a,第二预定阈值可被设置为dtar×a,这里,a可以是大于1的常数,例如,但不限于,1.5。当d<dtar/a时,将μ减小为μ/2。当d>dtar×a时,将μ增大为μ×2。当dtar/a<d<dtar×a时,可保持μ不变。
根据本公开的示例性实施例,针对每个训练回合,可判断当前训练回合的步长是否结束。例如,在当前训练回合累计的奖励值小于预设最差奖励阈值bad_reward且当前训练回合累计的吞吐量小于预设最差吞吐量阈值bad_tput的情况下,结束当前训练回合,生成拥塞控制模型,并进行保存。又例如,在当前训练回合累计的步长的数量达到预设最大步长数量max_step的情况下,结束当前训练回合,生成拥塞控制模型,并进行保存。如果根据上述判断,当前训练回合的步长未结束,则开启当前训练回合的下一个步长,令步长计数step-count+1,继续进行训练。如果根据上述判断,当前训练回合结束,则在当前训练回合结束后,可开始下一个新的训练回合,并在下一个新的训练回合中,使用当前训练回合获得的拥塞控制模型作为初始的拥塞控制模型,并令步长计数step-count=0。以此类推,可经历多个训练回合,从而生成多个拥塞控制模型。
在步骤302,可从多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型。
根据本公开的示例性实施例,针对多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境(或者,第一目标网络环境)交互,以获得当前拥塞控制模型在模拟网络环境(或者,第一目标网络环境)下的平均吞吐量、平均网络时延和平均丢包率,基于平均吞吐量、平均网络时延和平均丢包率,计算当前拥塞控制模型的奖励值。具体地说,对于每个拥塞控制模型来说,可将当前拥塞控制模型放入模拟网络环境(例如,pantheon平台中的模拟网络环境)下进行测试,例如,获取当前网络状态数据,利用当前拥塞控制模型根据当前网络状态数据选择对应的动作(例如,cwnd=cwnd*2或cwnd=cwnd/2等),然而执行这个动作,调整模拟网络环境的当前拥塞窗口,判断是否接收到来自接收方的ack确认数据包,如果没有得到ack那么持续等待,直到得到为止。得到ack后,重新计算新的网络状态数据。根据这样的交互,可获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,根据预先确定的用于平均吞吐量、平均网络时延和平均丢包率的权重进行加权计算奖励值。例如,当前拥塞控制模型的奖励值可通过下面的公式(5)来计算。
Reward=α×tputave-β×RTTave-γ×loss_rateave (5)
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示平均吞吐量,RTTave表示平均网络时延,loss_rateave表示平均丢包率,α、β和γ分别表示平均吞吐量、平均网络时延和平均丢包率的权重值。这里的权重可选择与训练时使用的奖励函数中的权重一样,或者也可根据需求设置其它的权重,例如,如果希望选择更高吞吐量的模型,则可提高用于平均吞吐量的权重。
当根据上述方法获得多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值时,可根据多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择奖励值最大的一个拥塞控制模型以用于对第一目标网络环境执行拥塞控制。
此外,根据本公开的示例性实施例,为了将上述训练好的拥塞控制模型迁移到第二目标网络环境下使用,可使用迁移学习中的微调算法来对上述训练好的拥塞控制模型进行重新训练。例如,可从上述训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。例如,可根据上述方法确定每个拥塞控制模型的奖励值,根据每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。例如,可选择奖励值最大的至少一个拥塞控制模型。又例如,可选择奖励值大于预定阈值的至少一个拥塞控制模型。又例如,可选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。本公开不限于上述选择方式。
根据本公开的另一示例性实施例,可利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型;可从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
这里,迁移学习就是把已经训练好的模型的参数迁移到新的模型来帮助新模型的训练。考虑到大部分的目标数据或任务是存在相关性的,所以通过迁移学习可以将已经学习到的模型参数,通过某种方式来分享给新的模型,从而加快优化模型的学习效率不用像大多数模型那样从零开始。微调算法是迁移学习的一种手段,将一个预训练完成的网络模型的前面n层保持参数不变(这里的参数是指已经通过强化学习训练好的模型参数),因为前n层主要是提取的是网络的一些固有特征,而不同的网络之间大多是存在一些相似的固有特征的,因此通常微调是指固定前面几层的模型参数,而调整后面的全连接层或者最后的少数几个(例如,1或2层)卷积层加全连接层的参数。例如,图4是示出根据本公开的示例性实施例的微调算法的示意图。参照图4,对于每一个训练好的用于第一目标网络环境的拥塞控制模型(可称为源模型),可执行以下操作:固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。因此,可生成训练好的用于第二目标网络环境的拥塞控制模型(可称为目标模型)。此外,当生成多个训练好的用于第二目标网络环境的拥塞控制模型时,可将这些拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。例如,也可根据上述类似的方法,即,利用当前拥塞控制模型与第二目标网络环境交互,以获得当前拥塞控制模型在第二目标网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于平均吞吐量、平均网络时延和平均丢包率,计算当前拥塞控制模型的奖励值,根据奖励值来选择奖励值最大的拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。例如,可利用上述公式(5)来计算奖励值。
图5是示出根据本公开的示例性实施例的拥塞控制方法的流程图。
参照图5,在步骤501,可从第一目标网络环境获取第一网络状态数据。如图2所示,可通过在第一目标网络环境中,通过数据发送者和数据接收者之间的交互来获取第一网络状态数据。
在步骤502,可基于第一网络状态数据,利用根据本公开的训练方法生成的多个训练好的至少一个拥塞控制模型中选择的一个拥塞控制模型,在第一目标网络环境下执行拥塞控制。例如,将第一网络状态数据输入拥塞控制模型,拥塞控制模型根据输入的第一网络状态数据来选择拥塞窗口大小调节动作,并输出的根据拥塞窗口大小调节动作来调节第一目标网络环境的拥塞窗口的大小,从而对第一目标网络环境进行拥塞控制。
此外,当需要当训练好的拥塞控制模型迁移到第二目标网络环境下时,可从多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,并将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。可同样地使用上述选择方法、微调方法和拥塞控制模型测试方法,这里不再赘述。
此外,当通过微调算法获得用于第二目标网络环境的拥塞控制模型时,可从第二目标网络环境获取第二网络状态数据,并基于第二网络状态数据,利用用于第二目标网络环境的拥塞控制模型,在第二目标网络环境下执行拥塞控制。如图2所示,可通过在第二目标网络环境中,通过数据发送者和数据接收者之间的交互来获取第二网络状态数据。随后,可将第二网络状态数据输入拥塞控制模型,拥塞控制模型根据输入的第二网络状态数据来选择拥塞窗口大小调节动作,并输出的根据拥塞窗口大小调节动作来调节第二目标网络环境的拥塞窗口的大小,从而对第二目标网络环境进行拥塞控制。
图6是示出根据本公开的示例性实施例的拥塞控制模型的训练装置的框图。
参照图6,根据本公开的示例性实施例的拥塞控制模型的训练装置600可包括训练单元601和选择单元602。
训练单元601可利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型。这里,拥塞控制模型的输入可以是网络状态数据,输出则可以是拥塞窗口大小调节动作,例如,增大拥塞窗口(例如,cwnd×2、cwnd+50、cwnd+10等),拥塞窗口不变(例如,cwnd+0),减小拥塞窗口(例如,cwnd-10、cwnd-50、cwnd×0.5等)。
根据本公开的示例性实施例,首先,训练单元601可初始化第一目标网络环境。具体地说,在拥塞控制算法开始之前,训练单元601可对第一目标网络环境进行初始化,建立通信双方之间的连接,利用通信双方的数据发送来计算网络的性能指标,可选择网络时延(RTT)、传送率(delivery rate)、发送率(sending rate)和拥塞窗口大小(congestionwindow,cwnd)作为拥塞控制模型的网络状态数据,为拥塞控制模型的训练做准备。当然,本公开的网络状态数据不限于此,还可选择任何可能的网络性能指标来作为网络状态数据。随后,训练单元601可开始在第一目标网络环境下对拥塞控制模型进行训练。训练单元601首先可初始化数据池、拥塞控制模型和拥塞控制模型中的参数,随机生成权重赋予拥塞控制模型的参数。然后,训练单元601初始化一个训练回合(episode),可预先设置最差奖励阈值(bad_reward)、最差吞吐量阈值(bad_tput)和一个训练回合的最大步长(step)值(max_step)。这里,每个训练回合可具有数量不等的步长。训练单元601可从数据池中随机获取一定数量的网络状态数据,为训练回合的步长的运行做准备。
根据本公开的示例性实施例,训练单元601可针对每个训练回合执行以下操作:每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,直到该训练回合结束,,其中,目标函数是指预先设计的用于对所述拥塞控制模型进行训练的函数;在该训练回合结束时,可生成一个拥塞控制模型。在下一个训练回合开始时,可将其上一个训练回合生成的拥塞控制模型作为初始拥塞控制模型。
根据本公开的示例性实施例,具体地说,训练单元601可每隔预定步长,执行以下操作:与第一目标网络环境交互以获得网络状态数据;基于所述网络状态数据,利用所述拥塞控制模型,获得拥塞窗口大小调节动作;基于所述拥塞窗口大小调节动作,获得奖励函数的值,其中,所述奖励函数是用于评价所述拥塞窗口大小调节动作的优劣的函数;基于所述奖励函数的值,计算优势函数的值;基于所述优势函数的值,计算目标函数的值,其中,所述优势函数是用于评价当前的网络状态下所述拥塞窗口大小调节动作的效用相对于当前的网络状态下各拥塞窗口大小调节动作的平均效用的优劣的函数;对所述拥塞控制模型的参数进行更新以使所述目标函数的值最大化。
例如,PPO代理通过与第一目标网络环境交互,经过固定数量的步长,根据从PPO代理获取的奖励(Reward)函数的值Reward(t′)来计算优势函数(advantage function)A(t)的值,并基于优势函数A(t)的值,选取合适拥塞控制模型的参数θ,使目标(Objective)函数的值LKLPEN(θ)最大化。然后继续重复该步骤,以此不断更新拥塞控制模型的参数θ。这里,Objective函数是用于参数更新的函数,例如传统的参数更新一般都使用的是策略梯度(policy-gradient)方法,这是一种on-policy的方法,此方法中需要使用损失(loss)函数和梯度下降法来更新参数。然而,PPO算法是一种off-policy的方法,可在预定数量的步长中,在拥塞控制模型的已知参数分布下,采集网络状态数据,然后利用这些网络状态数据,基于由重要性采样方法推导得出的目标函数来更新拥塞控制模型的参数,这样,可以不用每次都通过更新拥塞控制模型的参数来收集新的网络状态数据,有效地提升了数据集的利用率及参数优化的效率和性能表现提高数据的使用率,从而提高了训练效率。
具体地说,训练单元601每经过一个步长就可计算一次奖励函数的值。对于一个步长来说,当从第一目标网络环境获取网络状态数据时,将网络状态数据输入拥塞控制模型,拥塞控制模型可输出拥塞窗口大小调节动作,代理根据拥塞窗口大小调节动作去调节第一目标网络环境的拥塞窗口大小,并根据从调节后的第一目标网络环境获取的网络指标(例如,但不限于,吞吐量、网络时延、丢包率)计算奖励函数的值。随后,可开始下一步长,重复执行上述步骤,以此类推。奖励函数是衡量当前一步或几步的动作优劣的标准,奖励值越大代表当前动作越好,会继续持续类似的动作,而奖励值较小,则会尝试其他的动作。例如,奖励函数可被表示为上面的公式(1)。
随后,在经过预定步长后,训练单元601可基于每个时刻的奖励函数的值以及步长前后的决策影响程度,计算优势函数的值。优势函数的意义为当前的状态与动作的效用相对于该状态下平均效用的大小,如果大于0则说明该动作优于平均动作,小于0则说明该动作劣于平均动作。例如,优势函数可被表示为上面的公式(2)。
随后,训练单元601可根据重要性采样方法,基于所述优势函数的值,通过将在参数更新前的旧策略和在参数更新后的新策略在给定状态下的动作的概率分布的KL距离作为约束条件,计算目标函数的值。这里,由于PPO方法的推导及整个算法是基于重要性采样,因此会产生对新策略(在参数更新后的新参数下在训练时每一步将会采取的动作)和旧策略(在参数更新前的旧参数下在训练时每一步将会采取的动作)表现差异不能相差太大,需要在合理的差距之内,否则会影响参数更新的结果,使整个算法性能变坏。因此,在目标函数中可加入新策略和旧策略之间KL距离(KL-divergence)的作为约束条件,以保证参数的更新是合理正确的。当目标函数最大化时,既能使得策略对应的奖励值较大(即,使当前状态下的后续奖励累计期望达到最大),还能保证旧策略和新策略的KL距离相对较小,始终保持两个策略在训练过程中的表现和输出在合理的差距之内。例如,目标函数可被表示为好面的公式(3)。
这里,每经过所述预定步长,训练单元601还可判断一次公式(3)中的参数μ是否需要更新(例如,增大或减小)以保证拥塞控制模型的参数θ的更新方向的正确性,然后才继续后续预定步长的训练。例如,首先,训练单元601可计算KL距离的期望值,如上面的公式(4)所示;然后,训练单元601可将计算出的期望值与第一预定阈值和第二预定阈值进行比较,其中,第一预定阈值小于第二预定阈值。在计算出的期望值在第一预定阈值和第二预定阈值之间的范围内的情况下,训练单元601不更新μ。在计算出的期望值小于第一预定阈值的情况下,训练单元601减小μ。在计算出的期望值大于第二预定阈值的情况下,训练单元601增大μ。例如,训练单元601可预先设定新策略与原策略KL距离的目标值dtar,则第一预定阈值可被设置为dtar/a,第二预定阈值可被设置为dtar×a,这里,a可以是大于1的常数,例如,但不限于,1.5。当d<dtar/a时,将μ减小为μ/2。当d>dtar×a时,将μ增大为μ×2。当dtar/a<d<dtar×a时,可保持μ不变。
根据本公开的示例性实施例,针对每个训练回合,训练单元601可判断当前训练回合的步长是否结束。例如,在当前训练回合累计的奖励值小于预设最差奖励阈值bad_reward且当前训练回合累计的吞吐量小于预设最差吞吐量阈值bad_tput的情况下,训练单元601结束当前训练回合,生成拥塞控制模型,并进行保存。又例如,在当前训练回合累计的步长的数量达到预设最大步长数量max_step的情况下,训练单元601结束当前训练回合,生成拥塞控制模型,并进行保存。如果根据上述判断,当前训练回合的步长未结束,则训练单元601开启当前训练回合的下一个步长,令步长计数step-count+1,继续进行训练。如果根据上述判断,当前训练回合结束,则在当前训练回合结束后,训练单元601可开始下一个新的训练回合,并在下一个新的训练回合中,使用当前训练回合获得的拥塞控制模型作为初始的拥塞控制模型,并令步长计数step-count=0。以此类推,训练单元601可经历多个训练回合,从而生成多个拥塞控制模型。
选择单元602可从多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型。
根据本公开的示例性实施例,选择单元602可针对多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境(或者,第一目标网络环境)交互,以获得当前拥塞控制模型在模拟网络环境(或者,第一目标网络环境)下的平均吞吐量、平均网络时延和平均丢包率,基于平均吞吐量、平均网络时延和平均丢包率,计算当前拥塞控制模型的奖励值。具体地说,对于每个拥塞控制模型来说,选择单元602可将当前拥塞控制模型放入模拟网络环境(例如,pantheon平台中的模拟网络环境)下进行测试,例如,获取当前网络状态数据,利用当前拥塞控制模型根据当前网络状态数据选择对应的动作(例如,cwnd=cwnd*2或cwnd=cwnd/2等),然而执行这个动作,调整模拟网络环境的当前拥塞窗口,判断是否接收到来自接收方的ack确认数据包,如果没有得到ack那么持续等待,直到得到为止。得到ack后,重新计算新的网络状态数据。根据这样的交互,选择单元602可获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,根据预先确定的用于平均吞吐量、平均网络时延和平均丢包率的权重进行加权计算奖励值。例如,当前拥塞控制模型的奖励值可通过上面的公式(5)来计算。
当根据上述方法获得多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值时,选择单元602可根据多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择奖励值最大的一个拥塞控制模型以用于对第一目标网络环境执行拥塞控制。此外,根据本公开的示例性实施例,根据本公开的示例性实施例的拥塞控制模型的训练装置600还可包括迁移单元(未示出)。为了将上述训练好的拥塞控制模型迁移到第二目标网络环境下使用,迁移单元可使用迁移学习中的微调算法来对上述训练好的拥塞控制模型进行重新训练。例如,迁移单元可从上述训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。例如,迁移单元可根据上述方法确定每个拥塞控制模型的奖励值,根据每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。例如,迁移单元可选择奖励值最大的至少一个拥塞控制模型。又例如,迁移单元可选择奖励值大于预定阈值的至少一个拥塞控制模型。又例如,迁移单元可选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。本公开不限于上述选择方式。
根据本公开的另一示例性实施例,训练单元601可利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型;迁移单元(未示出)可从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
这里,迁移学习就是把已经训练好的模型的参数迁移到新的模型来帮助新模型的训练。考虑到大部分的目标数据或任务是存在相关性的,所以通过迁移学习可以将已经学习到的模型参数,通过某种方式来分享给新的模型,从而加快优化模型的学习效率不用像大多数模型那样从零开始。微调算法是迁移学习的一种手段,将一个预训练完成的网络模型的前面n层保持参数不变(这里的参数是指已经通过强化学习训练好的模型参数),因为前n层主要是提取的是网络的一些固有特征,而不同的网络之间大多是存在一些相似的固有特征的,因此通常微调是指固定前面几层的模型参数,而调整后面的全连接层或者最后的少数几个(例如,1或2层)卷积层加全连接层的参数。例如,对于每一个训练好的用于第一目标网络环境的拥塞控制模型(可称为源模型),迁移单元可执行以下操作:固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。因此,可生成训练好的用于第二目标网络环境的拥塞控制模型(可称为目标模型)。此外,当生成多个训练好的用于第二目标网络环境的拥塞控制模型时,迁移单元可将这些拥塞控制模型在第二目标网络环境下进行测试,能选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。例如,也可根据上述类似的方法,即,利用当前拥塞控制模型与第二目标网络环境交互,以获得当前拥塞控制模型在第二目标网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于平均吞吐量、平均网络时延和平均丢包率,计算当前拥塞控制模型的奖励值,根据奖励值来选择奖励值最大的拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。例如,可利用上述公式(5)来计算奖励值。
图7是示出根据本公开的示例性实施例的拥塞控制装置的框图。
参照图7,根据本公开的示例性实施例的拥塞控制装置700可包括第一状态获取单元701和第一拥塞控制单元702。
第一状态获取单元701可从第一目标网络环境获取第一网络状态数据。如图2所示,第一状态获取单元701可通过在第一目标网络环境中,通过数据发送者和数据接收者之间的交互来获取第一网络状态数据。
第一拥塞控制单元702可基于第一网络状态数据,利用根据本公开的训练方法生成的多个训练好的至少一个拥塞控制模型中选择的一个拥塞控制模型,在第一目标网络环境下执行拥塞控制。例如,第一拥塞控制单元702将第一网络状态数据输入拥塞控制模型,拥塞控制模型根据输入的第一网络状态数据来选择拥塞窗口大小调节动作,并第一拥塞控制单元702根据输出的拥塞窗口大小调节动作来调节第一目标网络环境的拥塞窗口的大小,从而对第一目标网络环境进行拥塞控制。
此外,根据本公开的示例性实施例的拥塞控制装置700还可包括迁移单元(未示出)。当需要当训练好的拥塞控制模型迁移到第二目标网络环境下时,迁移单元可从多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,并将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。可同样地使用上述选择方法、微调方法和拥塞控制模型测试方法,这里不再赘述。
此外,根据本公开的示例性实施例的拥塞控制装置700还可包括第二状态获取单元(未示出)和第二拥塞控制单元(未示出)。当迁移单元通过微调算法获得用于第二目标网络环境的拥塞控制模型时,第二状态获取单元可从第二目标网络环境获取第二网络状态数据,并第二拥塞控制单元基于第二网络状态数据,利用用于第二目标网络环境的拥塞控制模型,在第二目标网络环境下执行拥塞控制。如图2所示,第二状态获取单元可通过在第二目标网络环境中,通过数据发送者和数据接收者之间的交互来获取第二网络状态数据。随后,第二拥塞控制单元可将第二网络状态数据输入拥塞控制模型,拥塞控制模型根据输入的第二网络状态数据来选择拥塞窗口大小调节动作,并输出的根据拥塞窗口大小调节动作来调节第二目标网络环境的拥塞窗口的大小,从而对第二目标网络环境进行拥塞控制。
为了验证根据本公开的拥塞控制协议的性能,将根据本公开的拥塞控制协议与其它拥塞控制协议在测试平台Pantheon进行了比较,这些协议包括TCP CUBIC,Copa,Fillp-sheep,PCC-Allegro,PCC-Expr,PCC Vivace,Indigo,Verus,SCReAM,TaoVA-100x。首先在链路带宽为100mbps环境中使用PPO算法训练模型,直至模型收敛后分别在带宽为100mbps、50mbps、10mbps、3.04mbps的四种环境中使用微调算法进行迁移学习训练,至新模型收敛后分别在四种环境下与以上提到的拥塞控制协议进行吞吐量与延迟时间的对比。
在3.04Mbps环境下对根据本公开的拥塞控制协议与每种协议重复进行5次实验,结果显示在3.04mbps环境下根据本公开的拥塞控制协议吞吐量高于Indigo、PCC Vivace、Fillp Sheep、SCReAM、TaoVA-100x,延迟低于TCP CUBIC,Copa,Fillp-sheep,PCC-Allegro,PCC-Expr,PCC Vivace,Verus,TaoVA-100x。其中,根据本公开的拥塞控制协议的延迟时间仅为Copa的6.17%,Cubic的0.91%,根据本公开的拥塞控制协议的平均吞吐量达到2.95Mbps,显著高于Fillp Sheep的吞吐量0.87Mbps与SCReAM的吞吐量0.08Mbps。此外,根据本公开的拥塞控制协议在100Mbps环境下训练后迁移至10mbps的新环境下进行5次实验,也均具备稳定、均衡的高吞吐量与低延迟性能。将训练好的模型迁移到链路带宽为50mbps环境中,根据本公开的拥塞控制协议在50mbps链路环境下吞吐量高于Fillp-sheep,PCC-Allegro,PCC-Expr,PCC Vivace,Verus,SCReAM,TaoVA-100x、延迟时间低于Verus、Copa、CUBIC、Indigo,其中TRCC的吞吐量为42.31Mbps、是SCReAM吞吐量的192倍,延迟时间为7.14ms仅为CUBIC的1.5873%。
可见,根据本公开的拥塞控制协议具有较出色的实验性能,能够实现从100Mbps的网络环境迁移到50Mbps和10Mbps的网络环境中,而且在不同的网络场景中,在高吞吐量,低延迟和低丢包率方面超过过大多经典及最新的拥塞控制协议。
图8是根据本公开的示例性实施例的电子设备800的框图。
参照图8,电子设备800包括至少一个存储器801和至少一个处理器802,所述至少一个存储器801中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器802执行时,执行根据本公开的示例性实施例的拥塞控制模型的训练方法或拥塞控制方法。
作为示例,电子设备800可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备800并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备800还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备800中,处理器802可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器802可运行存储在存储器801中的指令或代码,其中,存储器801还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器801可与处理器802集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器801可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器801和处理器802可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器802能够读取存储在存储器中的文件。
此外,电子设备800还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备800的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的拥塞控制模型的训练方法或拥塞控制方法。这里的计算机可读存储介质的示例包括:只读存储器(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)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的拥塞控制模型的训练方法或拥塞控制方法。
根据本公开的拥塞控制模型的训练方法和训练装置以及拥塞控制方法和拥塞控制装置,利用深度强化学习中的PPO算法实现了自适应拥塞控制协议,能够根据网络状态自适应地修改拥塞窗口。该协议可以利用过去的经验来学习最佳策略,可以为应用程序提供高吞吐量,低数据包丢失和低延迟的性能,从而有效控制网络中的数据包数量,降低网络拥塞,为用户提供高质量的网络服务。此外,PPO算法还能够有效利用已知分布的参数去采集状态数据,利用这些状态数据,由重要性采样方法推导出的目标函数来更新拥塞控制模型的参数,提高了数据的使用率,从而提高了训练效率。
此外,根据本公开的拥塞控制模型的训练方法和训练装置以及拥塞控制方法和拥塞控制装置,将微调算法与强化学习相结合,将先前训练好的神经网络模型从源网络场景迁移到目标网络场景,从而实现基于强化学习的可迁移拥塞控制协议,并且减少模型的训练时间,提高训练效率,从而实现基于强化学习的拥塞控制模型能够适应多场景的网络环境。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (40)

1.一种拥塞控制模型的训练方法,其特征在于,包括:
利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型,其中,所述拥塞控制模型的输入为所述网络状态数据,输出为拥塞窗口大小调节动作;
从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型;
从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型;
利用微调算法,通过与第二目标网络环境的交互,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;
将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
2.如权利要求1所述的训练方法,其特征在于,所述网络状态数据包括网络时延、传送率、发送率和拥塞窗口大小。
3.如权利要求1所述的训练方法,其特征在于,所述利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,包括:
针对每个训练回合执行以下操作:
每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,直到该训练回合结束,其中,所述目标函数是预先设计的用于对所述拥塞控制模型进行训练的函数;
在该训练回合结束时,生成一个拥塞控制模型;
其中,在下一个训练回合开始时,将其上一个训练回合生成的拥塞控制模型作为初始拥塞控制模型。
4.如权利要求3所述的训练方法,其特征在于,所述每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,包括:
每隔所述预定步长,执行以下操作:
与第一目标网络环境交互以获得网络状态数据;
基于所述网络状态数据,利用所述拥塞控制模型,获得拥塞窗口大小调节动作;
基于所述拥塞窗口大小调节动作,获得奖励函数的值,其中,所述奖励函数是用于评价所述拥塞窗口大小调节动作的优劣的函数;
基于所述奖励函数的值,计算优势函数的值,其中,所述优势函数是用于评价当前的网络状态下所述拥塞窗口大小调节动作的效用相对于当前的网络状态下各拥塞窗口大小调节动作的平均效用的优劣的函数;
基于所述优势函数的值,计算目标函数的值;
对所述拥塞控制模型的参数进行更新以使所述目标函数的值最大化。
5.如权利要求4所述的训练方法,其特征在于,所述基于所述拥塞窗口大小调节动作,获得奖励函数的值,包括:
在基于所述拥塞窗口大小调节动作调节第一目标网络环境的拥塞窗口的大小后,从第一目标网络环境获取吞吐量数据、网络时延数据、丢包率数据;
基于吞吐量数据、网络时延数据、丢包率数据计算奖励函数的值。
6.如权利要求5所述的训练方法,其特征在于,所述奖励函数被表示为:
Reward(t′)=α×tput(t′)-β×RTT(t′)-γ×loss_rate(t′),
其中,Reward(t′)表示t′时刻的奖励函数的值,tput(t′)表示t′时刻的吞吐量、RTT(t′)表示t′时刻的网络时延,loss_rate(t′)表示t′时刻的丢包率,α、β和γ分别表示吞吐量、网络时延和丢包率的权重值。
7.如权利要求4所述的训练方法,其特征在于,所述基于所述奖励函数的值,计算优势函数的值,包括:
基于每个时刻的奖励函数的值以及步长前后的决策影响程度,计算优势函数的值。
8.如权利要求7所述的训练方法,其特征在于,所述优势函数被表示为:
Figure FDA0003788695800000021
其中,A(t)表示所述优势函数,t表示时间,t′表示当前时刻,Tn表示总时间,n表示步长,N表示总步长,Reward(t′)表示t′时刻的奖励函数的值,λ表示用于计算步长前后的决策影响程度的折扣因子,且λ<1,b表示基线并与总奖励值的期望值相关,θ表示所述拥塞控制模型的参数,
Figure FDA0003788695800000022
表示在所述拥塞控制模型的参数θ下,在
Figure FDA0003788695800000039
状态下选择动作
Figure FDA0003788695800000031
的概率。
9.如权利要求4所述的训练方法,其特征在于,所述基于所述优势函数的值,计算目标函数的值,包括:
根据重要性采样方法,基于所述优势函数的值,通过将在参数更新前的旧策略和在参数更新后的新策略在给定状态下的动作的概率分布的KL距离作为约束条件,计算所述目标函数的值。
10.如权利要求9所述的训练方法,其特征在于,所述目标函数被表示为:
Figure FDA0003788695800000032
其中,LKLPEN(θ)表示所述目标函数,θ表示所述拥塞控制模型的参数,
Figure FDA0003788695800000033
表示期望,πθ(at|st)表示在参数更新后的新策略在st状态下选择动作
Figure FDA0003788695800000034
的概率,
Figure FDA0003788695800000035
表示在参数更新前的旧策略在st状态下选择动作
Figure FDA0003788695800000036
的概率,
Figure FDA0003788695800000037
表示所述优势函数的值,
Figure FDA0003788695800000038
表示在参数更新前的旧策略和在参数更新后的新策略在st状态下的动作的概率分布的KL距离,μ表示调节KL距离的参数。
11.如权利要求10所述的训练方法,其特征在于,还包括:
每隔所述预定步长,执行以下操作:
计算所述KL距离的期望值;
将计算出的期望值与第一预定阈值和第二预定阈值进行比较,其中,第一预定阈值小于第二预定阈值;
在计算出的期望值在第一预定阈值和第二预定阈值之间的范围内的情况下,不更新μ;
在计算出的期望值小于第一预定阈值的情况下,减小μ;
在计算出的期望值大于第二预定阈值的情况下,增大μ。
12.如权利要求3所述的训练方法,其特征在于,还包括:
针对每个训练回合执行以下操作:
当满足以下条件中之一时,结束当前训练回合:
当前训练回合累计的奖励值小于预设最差奖励阈值且当前训练回合累计的吞吐量小于预设最差吞吐量阈值;
当前训练回合累计的步长的数量达到预设最大步长数量。
13.如权利要求1所述的训练方法,其特征在于,所述从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,包括:
针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;
根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择奖励值最大的一个拥塞控制模型。
14.如权利要求1所述的训练方法,其特征在于,所述从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型,包括:
针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;
根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。
15.如权利要求13或14所述的训练方法,其特征在于,所述基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值,包括:
通过以下公式来计算当前拥塞控制模型的奖励值:
Reward=α×tputave-β×RTTave-γ×loss_rateave
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示所述平均吞吐量,RTTave表示所述平均网络时延,loss_rateave表示所述平均丢包率,α、β和γ分别表示所述平均吞吐量、所述平均网络时延和所述平均丢包率的权重值。
16.如权利要求14所述的训练方法,其特征在于,所述根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型,包括:
选择奖励值最大的至少一个拥塞控制模型;或者
选择奖励值大于预定阈值的至少一个拥塞控制模型;或者
选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。
17.如权利要求1所述的训练方法,其特征在于,所述利用微调算法,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练,包括:
针对所述至少一个拥塞控制模型中的每个拥塞控制模型执行以下操作:
固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;
通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。
18.如权利要求1所述的训练方法,其特征在于,将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型,包括:
将训练好的所述至少一个拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
19.一种拥塞控制方法,其特征在于,包括:
从第一目标网络环境获取第一网络状态数据;
从第二目标网络环境获取第二网络状态数据;
基于第一网络状态数据,利用如权利要求1至18中的任意一项权利要求所述的训练方法生成的用于第一目标网络环境的拥塞控制模型,在第一目标网络环境下执行拥塞控制;
基于第二网络状态数据,利用如权利要求1至18中的任意一项权利要求所述的训练方法生成的用于第二目标网络环境的拥塞控制模型,在第二目标网络环境下执行拥塞控制。
20.一种拥塞控制模型的训练装置,其特征在于,包括:
训练单元,被配置为:利用近端策略优化算法,基于从第一目标网络环境获取的网络状态数据,对拥塞控制模型进行训练,以生成多个训练好的拥塞控制模型,其中,所述拥塞控制模型的输入为所述网络状态数据,输出为拥塞窗口大小调节动作;
选择单元,被配置为:从所述多个训练好的拥塞控制模型中选择一个拥塞控制模型,作为用于第一目标网络环境的拥塞控制模型;
迁移单元,被配置为:从所述多个训练好的拥塞控制模型中选择至少一个拥塞控制模型;利用微调算法,通过与第二目标网络环境的交互,将所述至少一个拥塞控制模型在第二目标网络环境下进行训练;将训练好的所述至少一个拥塞控制模型中的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
21.如权利要求20所述的训练装置,其特征在于,所述网络状态数据包括网络时延、传送率、发送率和拥塞窗口大小。
22.如权利要求20所述的训练装置,其特征在于,训练单元被配置为:
针对每个训练回合执行以下操作:
每隔预定步长,基于从第一目标网络环境获取的网络状态数据,利用目标函数,对所述拥塞控制模型的参数进行更新,直到该训练回合结束,其中,所述目标函数是预先设计的用于对所述拥塞控制模型进行训练的函数;
在该训练回合结束时,生成一个拥塞控制模型;
其中,在下一个训练回合开始时,将其上一个训练回合生成的拥塞控制模型作为初始拥塞控制模型。
23.如权利要求22所述的训练装置,其特征在于,训练单元被配置为:
每隔所述预定步长,执行以下操作:
与第一目标网络环境交互以获得网络状态数据;
基于所述网络状态数据,利用所述拥塞控制模型,获得拥塞窗口大小调节动作;
基于所述拥塞窗口大小调节动作,获得奖励函数的值,其中,所述奖励函数是用于评价所述拥塞窗口大小调节动作的优劣的函数;
基于所述奖励函数的值,计算优势函数的值,其中,所述优势函数是用于评价当前的网络状态下所述拥塞窗口大小调节动作的效用相对于当前的网络状态下各拥塞窗口大小调节动作的平均效用的优劣的函数;
基于所述优势函数的值,计算目标函数的值;
对所述拥塞控制模型的参数进行更新以使所述目标函数的值最大化。
24.如权利要求23所述的训练装置,其特征在于,训练单元被配置为:
在基于所述拥塞窗口大小调节动作调节第一目标网络环境的拥塞窗口的大小后,从第一目标网络环境获取吞吐量数据、网络时延数据、丢包率数据;
基于吞吐量数据、网络时延数据、丢包率数据计算奖励函数的值。
25.如权利要求24所述的训练装置,其特征在于,所述奖励函数被表示为:
Reward(t′)=α×tput(t′)-β×RTT(t′)一γ×loss_rate(t′),
其中,Reward(t′)表示t′时刻的奖励函数的值,tput(t′)表示t′时刻的吞吐量、RTT(t′)表示t′时刻的网络时延,loss_rate(t′)表示t′时刻的丢包率,α、β和γ分别表示吞吐量、网络时延和丢包率的权重值。
26.如权利要求23所述的训练装置,其特征在于,训练单元被配置为:
基于每个时刻的奖励函数的值以及步长前后的决策影响程度,计算优势函数的值。
27.如权利要求26所述的训练装置,其特征在于,所述优势函数被表示为:
Figure FDA0003788695800000071
其中,A(t)表示所述优势函数,t表示时间,t′表示当前时刻,Tn表示总时间,n表示步长,N表示总步长,Reward(t′)表示t′时刻的奖励函数的值,λ表示用于计算步长前后的决策影响程度的折扣因子,且λ<1,b表示基线并与总奖励值的期望值相关,θ表示所述拥塞控制模型的参数,
Figure FDA0003788695800000072
表示在所述拥塞控制模型的参数θ下,在
Figure FDA0003788695800000073
状态下选择动作
Figure FDA0003788695800000074
的概率。
28.如权利要求23所述的训练装置,其特征在于,所训练单元被配置为:
根据重要性采样方法,基于所述优势函数的值,通过将在参数更新前的旧策略和在参数更新后的新策略在给定状态下的动作的概率分布的KL距离作为约束条件,计算所述目标函数的值。
29.如权利要求28所述的训练装置,其特征在于,所述目标函数被表示为:
Figure FDA0003788695800000081
其中,LKLPEN(θ)表示所述目标函数,θ表示所述拥塞控制模型的参数,
Figure FDA0003788695800000082
表示期望,πθ(at|st)表示在参数更新后的新策略在st状态下选择动作
Figure FDA0003788695800000083
的概率,
Figure FDA0003788695800000084
表示在参数更新前的旧策略在st状态下选择动作
Figure FDA0003788695800000085
的概率,
Figure FDA0003788695800000086
表示所述优势函数的值,
Figure FDA0003788695800000087
表示在参数更新前的旧策略和在参数更新后的新策略在st状态下的动作的概率分布的KL距离,μ表示调节KL距离的参数。
30.如权利要求29所述的训练装置,其特征在于,训练单元还被配置为:
每隔所述预定步长,执行以下操作:
计算所述KL距离的期望值;
将计算出的期望值与第一预定阈值和第二预定阈值进行比较,其中,第一预定阈值小于第二预定阈值;
在计算出的期望值在第一预定阈值和第二预定阈值之间的范围内的情况下,不更新μ;
在计算出的期望值小于第一预定阈值的情况下,减小μ;
在计算出的期望值大于第二预定阈值的情况下,增大μ。
31.如权利要求22所述的训练装置,其特征在于,训练单元还被配置为:
针对每个训练回合执行以下操作:
当满足以下条件中之一时,结束当前训练回合:
当前训练回合累计的奖励值小于预设最差奖励阈值且当前训练回合累计的吞吐量小于预设最差吞吐量阈值;
当前训练回合累计的步长的数量达到预设最大步长数量。
32.如权利要求20所述的训练装置,其特征在于,选择单元被配置为:
针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;
根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择奖励值最大的一个拥塞控制模型。
33.如权利要求20所述的训练装置,其特征在于,迁移单元被配置为:
针对所述多个训练好的拥塞控制模型中的每个拥塞控制模型执行以下操作:利用当前拥塞控制模型与模拟网络环境交互,以获得当前拥塞控制模型在模拟网络环境下的平均吞吐量、平均网络时延和平均丢包率,基于所述平均吞吐量、所述平均网络时延和所述平均丢包率,计算当前拥塞控制模型的奖励值;
根据所述多个训练好的拥塞控制模型中的每个拥塞控制模型的奖励值,选择至少一个拥塞控制模型。
34.如权利要求32或33所述的训练装置,其特征在于,选择单元或迁移单元被配置为:
通过以下公式来计算当前拥塞控制模型的奖励值:
Reward=α×tputave-β×RTTave-γ×loss_rateave
其中,Reward表示当前拥塞控制模型的奖励值,tputave表示所述平均吞吐量,RTTave表示所述平均网络时延,loss_rateave表示所述平均丢包率,α、β和γ分别表示所述平均吞吐量、所述平均网络时延和所述平均丢包率的权重值。
35.如权利要求33所述的训练装置,其特征在于,选择单元被配置为:
选择奖励值最大的至少一个拥塞控制模型;或者
选择奖励值大于预定阈值的至少一个拥塞控制模型;或者
选择奖励值排名最靠前的预定数量的至少一个拥塞控制模型。
36.如权利要求20所述的训练装置,其特征在于,迁移单元被配置为:
针对所述至少一个拥塞控制模型中的每个拥塞控制模型执行以下操作:
固定当前拥塞控制模型的前n层网络的参数,并初始化当前拥塞控制模型的后m层网络的参数,其中,n+m为当前拥塞控制模型的总层数;
通过与第二目标网络环境的交互,利用策略梯度算法,对当前拥塞控制模型的后m层网络的参数进行更新。
37.如权利要求20所述的训练装置,其特征在于,迁移单元被配置为:
将训练好的所述至少一个拥塞控制模型在第二目标网络环境下进行测试,选择训练好的所述至少一个拥塞控制模型中的测试性能最佳的一个拥塞控制模型作为用于第二目标网络环境的拥塞控制模型。
38.一种拥塞控制装置,其特征在于,包括:
第一状态获取单元,被配置为:从第一目标网络环境获取的第一网络状态数据;
第二状态获取单元,被配置为:从第二目标网络环境获取第二网络状态数据;
第一拥塞控制单元,被配置为:基于第一网络状态数据,利用如权利要求1至18中的任意一项权利要求所述的训练方法生成的用于第一目标网络环境的,在第一目标网络环境下执行拥塞控制;
第二拥塞控制单元,被配置为:基于第二网络状态数据,利用如权利要求1至18中的任意一项权利要求所述的训练方法生成的用于第二目标网络环境的拥塞控制模型,在第二目标网络环境下执行拥塞控制。
39.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到18中的任一权利要求所述的拥塞控制模型的训练方法或如权利要求19所述的拥塞控制方法。
40.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到18中的任一权利要求所述的拥塞控制模型的训练方法或如权利要求19所述的拥塞控制方法。
CN202011611779.2A 2020-12-30 2020-12-30 拥塞控制模型的训练方法和装置及拥塞控制方法和装置 Active CN112770353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011611779.2A CN112770353B (zh) 2020-12-30 2020-12-30 拥塞控制模型的训练方法和装置及拥塞控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011611779.2A CN112770353B (zh) 2020-12-30 2020-12-30 拥塞控制模型的训练方法和装置及拥塞控制方法和装置

Publications (2)

Publication Number Publication Date
CN112770353A CN112770353A (zh) 2021-05-07
CN112770353B true CN112770353B (zh) 2022-10-28

Family

ID=75696856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011611779.2A Active CN112770353B (zh) 2020-12-30 2020-12-30 拥塞控制模型的训练方法和装置及拥塞控制方法和装置

Country Status (1)

Country Link
CN (1) CN112770353B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315716B (zh) * 2021-05-28 2023-05-02 北京达佳互联信息技术有限公司 拥塞控制模型的训练方法和设备及拥塞控制方法和设备
CN113872873B (zh) * 2021-09-29 2023-05-02 西安交通大学 一种适合5g新应用的多场景跨层拥塞控制方法
CN114039916B (zh) * 2021-10-21 2022-09-16 北京邮电大学 面向实时视频质量优化的深度混合模型流量控制方法、装置和存储介质
CN114726799B (zh) * 2022-04-28 2024-03-05 清华大学 拥塞控制智能体的训练方法、拥塞控制方法及装置
CN116055406B (zh) * 2023-01-10 2024-05-03 中国联合网络通信集团有限公司 拥塞窗口预测模型的训练方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493826A (zh) * 2019-08-28 2019-11-22 重庆邮电大学 一种基于深度强化学习的异构云无线接入网资源分配方法
CN110581808A (zh) * 2019-08-22 2019-12-17 武汉大学 一种基于深度强化学习的拥塞控制方法及系统
CN111092823A (zh) * 2019-12-25 2020-05-01 深圳大学 一种自适应调节拥塞控制初始窗口的方法和系统
CN111818570A (zh) * 2020-07-25 2020-10-23 清华大学 一种面向真实网络环境的智能拥塞控制方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107634911B (zh) * 2017-10-31 2020-03-10 河南科技大学 一种信息中心网络中基于深度学习的自适应拥塞控制方法
CA3060914A1 (en) * 2018-11-05 2020-05-05 Royal Bank Of Canada Opponent modeling with asynchronous methods in deep rl
US11223667B2 (en) * 2019-04-30 2022-01-11 Phantom Auto Inc. Low latency wireless communication system for teleoperated vehicle environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581808A (zh) * 2019-08-22 2019-12-17 武汉大学 一种基于深度强化学习的拥塞控制方法及系统
CN110493826A (zh) * 2019-08-28 2019-11-22 重庆邮电大学 一种基于深度强化学习的异构云无线接入网资源分配方法
CN111092823A (zh) * 2019-12-25 2020-05-01 深圳大学 一种自适应调节拥塞控制初始窗口的方法和系统
CN111818570A (zh) * 2020-07-25 2020-10-23 清华大学 一种面向真实网络环境的智能拥塞控制方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Proximal Policy Optimization Algorithms;John Schulman等;《Advances in Neural Information Processing Systems》;20170828;第1-5节 *
基于深度强化学习的异构云无线接入网自适应无线资源分配算法;陈前斌等;《电子与信息学报》;20200615(第06期);第1-3节 *

Also Published As

Publication number Publication date
CN112770353A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN112770353B (zh) 拥塞控制模型的训练方法和装置及拥塞控制方法和装置
CN110581808B (zh) 一种基于深度强化学习的拥塞控制方法及系统
CN113315716B (zh) 拥塞控制模型的训练方法和设备及拥塞控制方法和设备
Lin et al. Resource management for pervasive-edge-computing-assisted wireless VR streaming in industrial Internet of Things
US9088510B2 (en) Universal rate control mechanism with parameter adaptation for real-time communication applications
CN107637046B (zh) 用于控制多连接以提高数据传输率的方法和设备
CN113438315B (zh) 基于双网络深度强化学习的物联网信息新鲜度优化方法
CN114726799B (zh) 拥塞控制智能体的训练方法、拥塞控制方法及装置
CN113132490A (zh) 一种基于强化学习的MQTT协议QoS机制选择方案
WO2024012065A1 (zh) 数据传输控制方法、装置、计算机可读存储介质、计算机设备及计算机程序产品
CN114945004A (zh) 拥塞控制方法、装置、电子设备及存储介质
Xiong et al. Index-aware reinforcement learning for adaptive video streaming at the wireless edge
CN109688065B (zh) 参数的处理方法、装置及存储介质
US20230060623A1 (en) Network improvement with reinforcement learning
Xia et al. A multi-objective reinforcement learning perspective on internet congestion control
Chen et al. FlowTele: Remotely shaping traffic on internet-scale networks
CN114726933A (zh) 一种基于quic的数据传输控制方法、系统和设备
CN114168328A (zh) 一种基于联邦学习的移动边缘节点计算任务调度方法及其系统
US20220343220A1 (en) Control apparatus, method and system
Bhattacharyya et al. QFlow: A learning approach to high QoE video streaming at the wireless edge
CN116467069A (zh) 基于ppo算法的空间飞行信息系统资源调度方法及系统
Xia et al. RLCC: practical learning-based congestion control for the internet
CN114866489A (zh) 拥塞控制方法和装置及拥塞控制模型的训练方法和装置
CN114125745A (zh) MQTT协议功率控制与QoS机制选择方法
Zhou et al. FedACA: An adaptive communication-efficient asynchronous framework for federated learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant