CN116232998B - 基于深度强化学习的网络拥塞控制方法、系统及相关设备 - Google Patents

基于深度强化学习的网络拥塞控制方法、系统及相关设备 Download PDF

Info

Publication number
CN116232998B
CN116232998B CN202211697164.5A CN202211697164A CN116232998B CN 116232998 B CN116232998 B CN 116232998B CN 202211697164 A CN202211697164 A CN 202211697164A CN 116232998 B CN116232998 B CN 116232998B
Authority
CN
China
Prior art keywords
network
reinforcement learning
period
value
deep reinforcement
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
CN202211697164.5A
Other languages
English (en)
Other versions
CN116232998A (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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202211697164.5A priority Critical patent/CN116232998B/zh
Publication of CN116232998A publication Critical patent/CN116232998A/zh
Application granted granted Critical
Publication of CN116232998B publication Critical patent/CN116232998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Feedback Control In General (AREA)
  • Selective Calling Equipment (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于深度强化学习的网络拥塞控制方法、系统及相关设备,方法包括:获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值,并获取待控制网络在上述当前控制周期的安全标记;根据安全标记获取当前控制周期中深度强化学习模型的熵值;获取待控制网络对应的网络状态数据;当安全标记是安全时,根据当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据当前控制周期中深度强化学习模型的熵值、网络状态数据和当前周期控制主体对待控制网络进行网络拥塞控制,当前周期控制主体是预设拥塞控制算法和深度强化学习模型中的一种。本发明利于提高网络拥塞控制的准确性。

Description

基于深度强化学习的网络拥塞控制方法、系统及相关设备
技术领域
本发明涉及计算机网络及通信技术领域,尤其涉及的是一种基于深度强化学习的网络拥塞控制方法、系统及相关设备。
背景技术
随着科学技术的发展,用户对于数据传输的要求也越来越高,目前,可以通过拥塞控制来获得更好的数据传输效果,拥塞控制算法的设计是计算机网络中一项重要的任务。
现有技术中,通常使用基于预先设置的规则的拥塞控制算法对网络进行拥塞控制。即预先设置对应的规则,在达到规则中限定的条件时选择对应的控制方案进行控制,例如在网络的延迟达到一个预设阈值时调整数据传输速率等。现有技术的问题在于,预先设置的规则是固定的,只能适用于固定的应用场景,难以适应新出现的网络场景的需求,且不能适用于复杂易变的网络环境,固定的规则也无法根据网络的实时变化和实际状态进行调整,不利于提高网络拥塞控制的准确性,从而不利于提高网络服务质量。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种基于深度强化学习的网络拥塞控制方法、系统及相关设备,旨在解决现有技术中使用基于预先设置的规则的拥塞控制算法对网络进行拥塞控制的方案不利于提高网络拥塞控制的准确性,从而不利于提高网络服务质量的问题。
为了实现上述目的,本发明第一方面提供一种基于深度强化学习的网络拥塞控制方法,其中,上述基于深度强化学习的网络拥塞控制方法包括:
获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;
根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,其中,上述安全标记是安全或危险;
根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,其中,上述熵值是该深度强化学习模型的决策动作偏移幅度修正值;
获取上述待控制网络对应的网络状态数据;
当上述安全标记是安全时,根据上述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,其中,上述当前周期控制主体是预设拥塞控制算法和上述深度强化学习模型中的一种。
可选的,上述方法还包括:
当上述安全标记是危险时,根据上述预设拥塞控制算法对上述待控制网络进行网络拥塞控制。
可选的,上述获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值,包括:
采集获取上述待控制网络在上述当前控制周期的往返时延值;
获取上述待控制网络在多个历史控制周期的往返时延值,计算上述当前控制周期和上述多个历史控制周期的往返时延值的均值并作为上述当前控制周期的往返时延动态阈值。
可选的,上述根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,包括:
当上述往返时延值大于上述往返时延动态阈值与预设倍数阈值的乘积时,将上述安全标记设置为危险,否则将上述安全标记设置为安全。
可选的,上述根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,包括:
获取预设的第一常数、第二常数以及第三常数;
获取上述待控制网络对应的前一周期熵值,其中,上述前一周期熵值是前一控制周期中上述深度强化学习模型的熵值,上述前一控制周期是上述当前控制周期的前一个周期;
当上述安全标记是危险时,上述当前控制周期中深度强化学习模型的熵值等于第一相加结果与上述第三常数的乘积,其中,上述第一相加结果是上述前一周期熵值与上述第一常数之和;
当上述安全标记是安全时,获取上述待控制网络对应的时延比值数组,根据上述时延比值数组、上述前一周期熵值、上述第二常数和上述第三常数获取上述当前控制周期中深度强化学习模型的熵值。
可选的,上述获取上述待控制网络对应的时延比值数组,根据上述时延比值数组、上述前一周期熵值、上述第二常数和上述第三常数获取上述当前控制周期中深度强化学习模型的熵值,包括:
获取上述待控制网络对应的时延比值数组,其中,上述时延比值数组由上述当前控制周期的时延比值以及多个历史控制周期的时延比值组成,一个周期对应的时延比值是该周期内的往返时延值与往返时延动态阈值的比值;
当上述时延比值数组中的每一个时延比值都属于预设时延比值范围之内时,上述当前控制周期中深度强化学习模型的熵值等于第二相加结果与上述第三常数的乘积,其中,上述第二相加结果是上述前一周期熵值与上述第二常数之和;
否则,上述当前控制周期中深度强化学习模型的熵值等于上述前一周期熵值与上述第三常数的乘积。
可选的,上述预设拥塞控制算法为BBR算法。
可选的,上述待控制网络是快速UDP互联网连接网络,上述网络状态数据包括上述当前控制周期对应的测量统计数据组以及多个历史控制周期对应的测量统计数据组,一个周期对应的测量统计数据组包括该周期对应的确认字符平均吞吐量、确认字符平均延时、确认字符平均丢包率、拥塞窗口大小、确认字符总数、历史最大吞吐量以及历史最小延时。
可选的,当上述周期控制主体是上述深度强化学习模型时,上述根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,包括:
根据上述网络状态数据计算获取归一化状态数据,其中,上述归一化状态数据包括多个归一化统计数据组;
根据上述归一化状态数据,通过上述深度强化学习模型获取深度强化学习动作值;
根据上述当前控制周期中熵值和预设的修正公式对上述深度强化学习动作值进行修正获得目标动作值;
根据上述目标动作值和上述当前控制周期中的拥塞窗口大小,通过预设的窗口计算公式计算获取下一控制周期的拥塞窗口大小;
根据上述下一控制周期的拥塞窗口大小对上述待控制网络进行拥塞控制。
可选的,上述下一控制周期的拥塞窗口大小是上述当前控制周期中的拥塞窗口大小与目标指数值的乘积,上述目标指数值是以2为底且以上述目标动作值为指数的值。
本发明第二方面提供一种基于深度强化学习的网络拥塞控制系统,其中,上述基于深度强化学习的网络拥塞控制系统包括:
动态阈值计算模块,用于获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;
安全标记获取模块,用于根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,其中,上述安全标记是安全或危险;
熵值计算模块,用于根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,其中,上述熵值是该深度强化学习模型的决策动作偏移幅度修正值;
网络状态数据获取模块,用于获取上述待控制网络对应的网络状态数据;
控制模块,当上述安全标记是安全时,根据上述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,其中,上述当前周期控制主体是预设拥塞控制算法和上述深度强化学习模型中的一种。
本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的基于深度强化学习的网络拥塞控制程序,上述基于深度强化学习的网络拥塞控制程序被上述处理器执行时实现上述任意一种基于深度强化学习的网络拥塞控制方法的步骤。
本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于深度强化学习的网络拥塞控制程序,上述基于深度强化学习的网络拥塞控制程序被处理器执行时实现上述任意一种基于深度强化学习的网络拥塞控制方法的步骤。
由上可见,本发明方案中,获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,其中,上述安全标记是安全或危险;根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,其中,上述熵值是该深度强化学习模型的决策动作偏移幅度修正值;获取上述待控制网络对应的网络状态数据;当上述安全标记是安全时,根据上述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,其中,上述当前周期控制主体是预设拥塞控制算法和上述深度强化学习模型中的一种。
与现有技术中相比,本发明方案结合预设拥塞控制算法和深度强化学习模型进行拥塞控制,两者在安全标记为安全时根据预设的周期轮转规则进行轮转,不仅可以根据预设拥塞控制算法(即预设规则)进行控制,还可以通过深度强化学习模型根据实际情况(即网络状态数据)进行拥塞控制,有利于提高网络拥塞控制的准确性。并且,安全标记是根据待控制网络的实际状态(包括往返时延值和往返时延动态阈值)获取的,能够基于网络的实际状态选择是否进入正常周期轮转过程中。进一步的,还根据安全标记获取深度强化学习模型的熵值,可见深度强化学习模型的熵值也是根据待控制网络的实际状态确定的。在使用深度强化学习模型时,根据熵值可以确定该深度强化学习模型的决策动作偏移幅度修正值,实现根据待控制网络的实际状态对深度强化学习模型的决策动作进行修正,获得针对该待控制网络及其网络变化的拥塞控制动作,从而获得更好的控制效果,即有利于提高网络拥塞控制的准确性,从而有利于提高网络服务质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种基于深度强化学习的网络拥塞控制方法的流程示意图;
图2是本发明实施例提供的一种熵值调整方法的算法示意图;
图3是本发明实施例提供的一种基于安全学习算法的整体框架系统的结构示意图;
图4是本发明实施例提供的一种熵值变化示意图;
图5是本发明实施例提供的一种熵值调整的具体流程示意图;
图6是本发明实施例提供的一种基于深度强化学习的网络拥塞控制系统的结构示意图;
图7是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着科学技术的发展,用户对于数据传输的要求也越来越高,目前,可以通过拥塞控制来获得更好的数据传输效果,拥塞控制算法的设计是计算机网络中一项重要的任务。
现有技术中,通常使用基于预先设置的规则的拥塞控制算法对网络进行拥塞控制。即预先设置对应的规则,在达到规则中限定的条件时选择对应的控制方案进行控制,例如在网络的延迟达到一个预设阈值时调整数据传输速率等。现有技术的问题在于,预先设置的规则是固定的,只能适用于固定的应用场景,难以适应新出现的网络场景的需求,且不能适用于复杂易变的网络环境,固定的规则也无法根据网络的实时变化和实际状态进行调整,不利于提高网络拥塞控制的准确性,从而不利于提高网络服务质量。
具体的,现有技术中基于预先设置的规则的算法只能在特定的场景下工作,难以适应新出现的网络场景的需求。同时,这类算法动作保守,难以实现高性能。
在一种应用场景中,还可以使用基于学习的拥塞控制算法。基于学习的算法受到强化学习基于探索的影响,这类算法可能会出现错误或危险动作,导致延迟的长尾效应。
在另一种应用场景中,还可以使用混合算法,对基于规则的算法和基于学习的算法进行融合获得混合算法,混合算法继承了两种算法的优点,例如可以具备稳定性、快速收敛和公平性(基于规则算法)、适应性和高性能(基于学习算法)。混合算法的目的是减轻深度强化学习(DRL,Deep Reinforcement Learning)错误行为所造成的灾难性后果,提高收敛速度。
但混合的拥塞控制算法(CCA,Congestion Control Algorithm)具有约束限制,第一个限制是,强化学习动作会出现错误并导致灾难性后果。鉴于深度强化学习模型基于探索的机制中逐渐降低或者固定不变的探索的力度和随机的探索方向,强化学习模型会在需要探索的时候做出与实际场景完全不相符合的动作,将严重破坏网络传输的性能和用户的体验。第二个限制是,混合学习中DRL的探索受到了基于规则算法的专家的限制。基于规则算法本身存在一定的性能瓶颈,将导致DRL的探索受到限制。在限定的时间内,DRL模型由于被基于规则算法保护的同时,也受到了基于规则算法的限制,从而无法充分的探索整个动作空间。第三个限制是,基于规则的算法可能诱导强化学习模型在训练初期做出错误动作。如果强化学习模型在训练的早期阶段所做的一系列动作是危险的,则会频繁触发专家算法以减轻模型错误动作的后果,从而导致错误的收敛模型。模型为了追求更高的平均奖励,模型开始频繁地采取危险行动,以便专家能够长期控制,这种学习显然是错误和无效的。第四个限制是,模型探索能力固化,无法实时应对网络场景的切换。现有的强化学习方案都是随着时间逐渐降低自己的探索度。网络拥塞控制场景和图像处理、推荐系统等场景有着显著的区别,即网络场景存在切换,同时各种不同的新型的网络场景层出不穷。因此,在应用过程中,不能够单纯的将强化学习套用在这一场景下,需要对模型进行优化。
为了解决上述多个问题中的至少一个问题,本发明方案中,获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,其中,上述安全标记是安全或危险;根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,其中,上述熵值是该深度强化学习模型的决策动作偏移幅度修正值;获取上述待控制网络对应的网络状态数据;当上述安全标记是安全时,根据上述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,其中,上述当前周期控制主体是预设拥塞控制算法和上述深度强化学习模型中的一种。
与现有技术中相比,本发明方案结合预设拥塞控制算法和深度强化学习模型进行拥塞控制,两者在安全标记为安全时根据预设的周期轮转规则进行轮转,不仅可以根据预设拥塞控制算法(即预设规则)进行控制,还可以通过深度强化学习模型根据实际情况(即网络状态数据)进行拥塞控制,有利于提高网络拥塞控制的准确性。并且,安全标记是根据待控制网络的实际状态(包括往返时延值和往返时延动态阈值)获取的,能够基于网络的实际状态选择是否进入正常周期轮转过程中。进一步的,还根据安全标记获取深度强化学习模型的熵值,可见深度强化学习模型的熵值也是根据待控制网络的实际状态确定的。在使用深度强化学习模型时,根据熵值可以确定该深度强化学习模型的决策动作偏移幅度修正值,实现根据待控制网络的实际状态对深度强化学习模型的决策动作进行修正,获得针对该待控制网络及其网络变化的拥塞控制动作,从而获得更好的控制效果,即有利于提高网络拥塞控制的准确性,从而有利于提高网络服务质量。
本实施例中,结合规则算法和学习算法,提供一种能够快速适应网络变化和网络场景切换的混合型网络拥塞控制算法(即本实施例中的基于深度强化学习的网络拥塞控制方法)。针对现有技术中存在的收敛性、错误动作、训练时间长等问题,为了加快模型的收敛能力和稳定性,提出基于熵的探索机制,以获得更好的拥塞控制效果。
具体的,本实施例中提供的基于深度强化学习的网络拥塞控制方法是一种能够快速适应网络变化和网络场景切换的利用规则算法(即预设拥塞控制算法)指导DRL模型(即深度强化学习模型)的混合型QUIC网络拥塞控制方法,有利于提升网络吞吐、降低网络的传输时延。本实施例方法中,提出以熵值作为深度强化学习模型探索度的衡量标准,基于网络环境特征的观测,动态的调整深度强化学习模型对于动作空间的探索;采用安全学习的框架,以规则算法作为专家指导DRL模型,加快模型的收敛;采取专家调用惩罚机制,避免DRL模型对专家指导产生过度依赖。在实际使用过程中,如果深度强化学习模型的DRL动作没有出错,则根据周期轮转的规则使用深度强化学习模型或预设拥塞控制算法进行控制,而当深度强化学习模型出错时,则使用预设拥塞控制算法进行控制,可以降低DRL动作出错带来的影响。同时,本实施例中使用的深度强化学习模型是一个在线训练的模型,因此在不同的网络环境或者在网络环境发生变化时都可以进行在线训练,获得更好的控制效果。
如图1所示,本发明实施例提供一种基于深度强化学习的网络拥塞控制方法,具体的,上述方法包括如下步骤:
步骤S100,获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值。
其中,上述待控制网络是需要进行拥塞控制的网络,本实施例中,以快速UDP互联网连接网络(即QUIC网络)为例进行具体说明,但不作为具体限定。本实施例中,针对上述待控制网络进行周期性控制,上述当前控制周期即为当前时刻所属的控制周期。对上述待控制网络进行数据监控,可以获得当前控制周期内的往返时延(RTT,Round Trip Time)值。在一种应用场景中,上述往返时延值可以通过对确认字符(ACK,acknowledge character)进行检测获得。上述往返时延动态阈值则通过计算获得。
具体的,上述获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值,包括:采集获取上述待控制网络在上述当前控制周期的往返时延值;获取上述待控制网络在多个历史控制周期的往返时延值,计算上述当前控制周期和上述多个历史控制周期的往返时延值的均值并作为上述当前控制周期的往返时延动态阈值。
其中,上述历史控制周期是在当前控制周期之前的控制周期,一个控制周期可以代表一个时刻或者代表一个时间段(时间段的具体长度可以根据实际需求预先设置或实时调整),在此不作具体限定。上述往返时延动态阈值是对应的控制周期中用于判断网络是否出现严重错误的临界阈值,且该阈值不是固定的,而是随着控制周期的变化而变化的,即不同控制周期中的往返时延动态阈值可能不相同。
需要说明的是,上述往返时延动态阈值用于对网络变化趋势进行检测。鉴于网络的不可预测性,在DRL和规则算法混合学习框架中识别出DRL错误动作是至关重要的。本实施例中,结合过往和当前的网络状态,来判断当前是否出现了严重的网络错误。考虑到网络本身也存在抖动,本实施例中采用动态阈值。本实施例中,以第t个控制周期作为当前控制周期,第t个控制周期(或t时刻)对应的往返时延动态阈值的计算方法如下公式(1)所示:
其中,Thr(t)是第t个控制周期的往返时延动态阈值,k为历史信息的长度,本实施例中,k预先设置为20,即使用19个历史控制周期的往返时延值以及1个当前控制周期的往返时延值计算对应的往返时延动态阈值。Thr(t)计算过程中默认使用滑动窗口的方式,统计当前时刻之前(包括当前时刻在内)的20个控制周期信息。对于最前面的20个MI(即周期)而言,k的长度并不足以达到20,因此按照能够达到的最长长度计算即可。如果当前RTT的数值超过了阈值Thr(t),那么说明当前的RTT远超正常水平,此时认为当前时刻强化学习做出的动作是危险或者错误的,因为这一动作导致了网络RTT的大幅度增加。
步骤S200,根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,其中,上述安全标记是安全或危险。
其中,上述安全标记用于指示当前DRL动作是否安全,由上述往返时延值和上述往返时延动态阈值进行比较获得。其中,安全标记是安全或危险,安全代表DRL动作安全,DRL模型(即深度强化学习模型)可以正常使用,危险则代表DRL动作不安全。本实施例中,上述安全标记是一个布尔值,用true代表危险,用false代表安全,如此,使用布尔值能更方便各个程序、算法或应用进行识别,提高处理效率。
具体的,上述根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,包括:当上述往返时延值大于上述往返时延动态阈值与预设倍数阈值的乘积时,将上述安全标记设置为危险,否则将上述安全标记设置为安全。其中,上述预设倍数阈值是预先设置的一个常数,可以根据实际需求进行设置和调整,本实施例中设置为1.5,因此本实施例中可以基于如下公式(2)计算安全标记:
其中,Dt代表安全标记,获得的Dt是布尔值。在获得上述安全标记之后,可以进行熵值的更新。
步骤S300,根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,其中,上述熵值是该深度强化学习模型的决策动作偏移幅度修正值。
其中,上述熵值用于调整深度强化学习模型的动作。本实施例中,通过熵值来基于当前网络状况对机器学习动作进行修正。熵值的定义是DRL模型在动作探索时在原有决策上动作偏移大小的幅度修正数值,反映了DRL模型对环境的好奇。且本实施例中,可以借助安全标记确定当前是否处于危险状态熵增的情况,如果安全标记为危险(即true),将增加熵的数值,即针对前一个控制周期对应的熵值进行调整获得当前控制周期的熵值。
上述根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,包括:获取预设的第一常数、第二常数以及第三常数;获取上述待控制网络对应的前一周期熵值,其中,上述前一周期熵值是前一控制周期中上述深度强化学习模型的熵值,上述前一控制周期是上述当前控制周期的前一个周期;当上述安全标记是危险时,上述当前控制周期中深度强化学习模型的熵值等于第一相加结果与上述第三常数的乘积,其中,上述第一相加结果是上述前一周期熵值与上述第一常数之和;当上述安全标记是安全时,获取上述待控制网络对应的时延比值数组,根据上述时延比值数组、上述前一周期熵值、上述第二常数和上述第三常数获取上述当前控制周期中深度强化学习模型的熵值。
其中,上述第一常数、第二常数以及第三常数是预先设置的常数,用于控制熵值调整的过程,其具体数值可以根据实际需求进行设置和调整。需要说明的是,上述第三常数小于1,以实现自然退火,即无论是都触发熵值增加的机制,都会按照第三常数的比例降低一定的熵值,以确保缓慢的退火过程,代表进行自然衰减。
进一步的,上述获取上述待控制网络对应的时延比值数组,根据上述时延比值数组、上述前一周期熵值、上述第二常数和上述第三常数获取上述当前控制周期中深度强化学习模型的熵值,包括:获取上述待控制网络对应的时延比值数组,其中,上述时延比值数组由上述当前控制周期的时延比值以及多个历史控制周期的时延比值组成,一个周期对应的时延比值是该周期内的往返时延值与往返时延动态阈值的比值;当上述时延比值数组中的每一个时延比值都属于预设时延比值范围之内时,上述当前控制周期中深度强化学习模型的熵值等于第二相加结果与上述第三常数的乘积,其中,上述第二相加结果是上述前一周期熵值与上述第二常数之和;否则,上述当前控制周期中深度强化学习模型的熵值等于上述前一周期熵值与上述第三常数的乘积。
其中,上述预设时延比值范围是预先设置的一个范围,用于限定时延比值的范围,具体的范围值可以根据实际需求设置和调整,本实施例中设置为0.9到1.1之间,但不作为具体限定。
本实施例中,使用et代表第t个控制周期对应的熵值,需要说明的是,熵值的初始值为1,即t=0时et的值为1。从第1个控制周期开始,熵值根据如下公式(3)进行递推计算:
其中,M1(x)、M2(x)、M3(x)均表示在原有x的基础上进行数值调整,其具体计算方式参照下文具体描述。Ehistory是上述时延比值数组,其中包括多个时延比值(本实施例中为20个)。
图2是本发明实施例提供的一种熵值调整方法的算法示意图,如图2所示,本实施例中,在一个控制周期结束之后,计算往返时延动态阈值并进一步确定安全标记,在安全标记为危险时,触发情况一,即危险情况下的熵增,与上述公式(3)的第一种情况对应,且主要起作用的是M1(x),其中,M3(x)代表的是自然情况下的衰减,无论对熵值进行何种调整,最后都叠加M3(x)。如果未触发情况一,则获取时延比值数组,即队列Ehistory,如果其中的所有元素都在0.9到1.1之间,则触发情况二,即安全情况下的熵增,与M2(x)对应,如上述公式(3)的第二种情况所示。如果上述两种情况都不满足,则触发情况三,即自然退火,与M3(x)对应,如上述公式(3)的第三种情况所示。需要说明的是,情况一和情况二也会进行自然退火。
具体的,Ehistory是一个长度为20的先入先出(FIFO,first in first out)数组,用于存储最靠近当前控制周期的20个时延比值Et,0.9<Ehistory<1.1代表Ehistory中的所有元素都属于0.9到1.1之间。Ehistory中元素Et的具体计算方式参照下文公式。
需要说明的是,本实施例中在两种情况下增加熵值,情况一是模型触发专家算法的安全机制,这表明当前的DRL模型做出危险的动作。这种情况存在于模型的错误收敛或网络场景的变化中。通过增加熵,模型可以找到更合适的动作来适应当前场景。这一情况对应Dt为true值,此时将触发安全算法框架。这一情况对应公式(3)中的M1(x),计算方式如下公式(4)所示:
M1(x)=x+w1 (4)
其中,x代表输入数据,本实施例中即为et-1,w1是预设的第一常数。
情况二是模型很长时间没有触发安全机制,表明当前深度强化学习模型已经基本收敛。由于专家算法(即BBR算法)在收敛过程中的干预,模型可能收敛到次优解。因此,需要适度地增加熵,以便模型能够探索在相对安全的情况下是否有更好的行动。这可以突破专家指导带来的限制。本发明中使用Et来表示t时刻控制周期的时延比值,其具体计算方式如下公式(5)所示:
Et=rttt/Thr(t) (5)
由多个控制周期内的时延比值组成数组Ehistory,情况二在Ehistory中的数值都属于预设时延比值范围时触发。情况二中M2(x)的计算方式如下公式(6)所示:
M2(x)=x+w2 (6)
其中,w2是预设的第二常数。本实施例中,在增加熵的同时,也需要减少熵值来使模型策略收敛,本实施例中基于自然退火机制进行熵值减小。具体的,在DRL模型对单条数据流输出一次结果之后,无论是否触发熵增加的机制,都会按照特定比例降低一定的熵值,以确保缓慢的退火过程,这一情况与公式(3)中的M3(x)对应,具体如下公式(7)所示:
M3(x)=x*w3 (7)
其中,w3是预设的第三常数。本实施例中,第一常数、第二常数和第三常数的具体数值依次为0.15、1和0.965,但不作为具体限定。
需要说明的是,在获得熵值之后,可以根据熵值调整DRL的动作,即基于熵值对于DRL的动作进行指导和修改。但本实施例中,并不是任何时候都确定使用DRL模型,还要根据实际情况判断是使用DRL模型进行控制还是使用基于规则的算法进行控制(即使用预设拥塞控制算法进行控制)。
步骤S400,获取上述待控制网络对应的网络状态数据。
其中,上述网络状态数据是用于体现待控制网络当前运行状态的数据,可以通过网络监测获得,上述预设拥塞控制算法为BBR算法。
具体的,上述待控制网络是快速UDP互联网连接网络,上述网络状态数据包括上述当前控制周期对应的测量统计数据组以及多个历史控制周期对应的测量统计数据组,一个周期对应的测量统计数据组包括该周期对应的确认字符平均吞吐量、确认字符平均延时、确认字符平均丢包率、拥塞窗口大小、确认字符总数、历史最大吞吐量以及历史最小延时。
步骤S500,当上述安全标记是安全时,根据上述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,其中,上述当前周期控制主体是预设拥塞控制算法和上述深度强化学习模型中的一种。
其中,上述预设的周期轮转规则是预先设置的周期性选择用于进行拥塞控制的算法或模型的规则,例如每隔一个周期切换一种算法或模型,具体的规则可以根据实际需求预先设置和调整,在此不作具体限定。
本实施例中,上述基于深度强化学习的网络拥塞控制方法还包括:当上述安全标记是危险时,根据上述预设拥塞控制算法对上述待控制网络进行网络拥塞控制。如此,在深度强化学习模型出错(即危险)时,选择固定的预设拥塞控制算法,可以降低深度强化学习模型的错误对于待控制网络的影响,提高网络拥塞控制的准确性和网络数据传输质量。
当上述周期控制主体是上述深度强化学习模型时,上述根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,包括:根据上述网络状态数据计算获取归一化状态数据,其中,上述归一化状态数据包括多个归一化统计数据组;根据上述归一化状态数据,通过上述深度强化学习模型获取深度强化学习动作值;根据上述当前控制周期中熵值和预设的修正公式对上述深度强化学习动作值进行修正获得目标动作值;根据上述目标动作值和上述当前控制周期中的拥塞窗口大小,通过预设的窗口计算公式计算获取下一控制周期的拥塞窗口大小;根据上述下一控制周期的拥塞窗口大小对上述待控制网络进行拥塞控制。
其中,上述下一控制周期的拥塞窗口大小是上述当前控制周期中的拥塞窗口大小与目标指数值的乘积,上述目标指数值是以2为底且以上述目标动作值为指数的值。
其中,上述网络状态数据是对上述待控制网络进行网络数据监测采集获得的数据,上述归一化状态数据则是对网络状态数据进行归一化计算处理获得的数据。具体的计算方式以及其它具体计算公式(例如修正公式、窗口计算公式等)参照下文具体描述。
需要说明的是,可以预先针对待控制网络构建一个基于安全学习算法的整体框架系统,用于执行本实施例提供的基于深度强化学习的网络拥塞控制方法。图3是本发明实施例提供的一种基于安全学习算法的整体框架系统的结构示意图,图3中,网络检测模块用于进行信息监测,由上而下的第一个灰色框代表安全指导部分,即判断当前DRL模型的动作是否安全,并根据判断的结果选择对应的算法或模型,第二个灰色框代表DRL模型的执行部分,第三个灰色框代表DRL模型的动作探索部分。cwnd代表最终输出的拥塞窗口大小。
具体的,本实施例中对待控制网络(例如LSQUIC)的用户端和服务器端都进行修改。基于熵值和安全学习算法(即深度强化学习算法)的算法框架部署于服务器端。服务器端为每一条与它建立连接的流建立一个子程序,称为一个QUIC user。每个QUIC user收集用户反馈的ack信息,进行简单处理后,以socket通信的形式发送给基于安全学习算法的整体框架系统。算法框架拥有四个部分:负责统计信息并做归一化处理的信息监测模块、负责运行DRL算法并做出动作的DRL部分、负责判断动作安全程度并实时调整策略的安全学习指导部分、负责基于熵进行DRL动作探索力度控制的动作探索部分。算法框架系统对每条流都做出独立的计算和判断,并将结果发布到共享内存中。QUIC user从共享内存中获取数值,并对于拥塞窗口大小和发送速率做出相应的修改。
由于DRL模型受到深度强化学习算法探索机制的影响,在探索过程中可能出现错误动作的行为,从而可能对网络性能和用户体验造成损害。因此本实施例中结合规则算法(即BBR算法)和深度强化学习算法进行拥塞控制,在检测到DRL模型做出危险动作之后及时调用规则算法进行纠正和修复。同时,本实施例中针对深度强化学习算法,使用熵值进行智能探索,进行DRL动作的控制,并且使用网络状态的检测来智能调节熵值,对DRL模型进行实时调节,并最终使得模型获得更适应当前网络场景的模型参数,加快收敛速度。同时,为了避免混合学习中DRL模型对专家指导(即预设拥塞控制算法)产生依赖,本实施例中还提出专家调用惩罚机制,当DRL模型出错并调用预设拥塞控制算法时将修改奖励函数,以对于调用预设拥塞控制算法这一行为做出惩罚。如此,通过安全学习框架削减了DRL错误动作带来的影响,通过基于熵的探索机制使得DRL算法更适配于各种高度动态的网络场景以及网络场景切换过程,通过专家调用惩罚机制避免了DRL模型训练前期依赖专家指导的可能性。总体而言,本发明在加快了模型训练和收敛时间的情况下,调整网络拥塞控制中的拥塞窗口大小和发送速率,增强了网络拥塞控制的准确性。
图3中的网络监测模块用于将QUIC平台收集的流信息按照控制周期进行汇总,并将一个周期的统计信息发送到各个模块中。在一种应用场景中,网络监测模块独立于QUIC平台,为整个算法平台提供实时的网络信息。本实施例中,上述网络监测模块用于采集网络状态数据并根据网络状态数据计算获得归一化状态数据。具体的,网络监测模块采集的网络状态数据如下表1所示。其中,一个测量统计数据组包括表1中所有的统计量,具体的,历史最大吞吐量即所有过去控制周期中的最大吞吐量的数值,历史最小延时即所有过去控制周期中的最小延时的数值。
表1
统计量名称 详细描述
thr 当前控制周期所有ACK的平均吞叶量
d 当前控制周期所有ACK的平均延时
loss 当前控制周期所有ACK的平均丢包率
thrmax 所有过去控制周期中的最大吞叶量的数值
dmin 所有过去控制周期中的最小延时的数值
num 当前控制周期中统计到的ACK的总数
cwnd 当前控制周期的cwnd数值
进一步的,对上述数据进行归一化处理归一化统计数据,以避免不同统计数据数量级之间的差异和单位转化对于DRL模型性能产生的负面影响。本实施例中,如图3所示,网络监测模块发送给其它模块的state代表归一化状态数据,归一化状态数据中包括多个归一化统计数据组,一个归一化统计数据组中包括多个归一化统计数据。具体的,本实施例中,一个归一化统计数据组中包括的具体归一化统计数据及其计算方式如下表2所示。
表2
其中,thrcal代表归一化吞吐量,dc代表归一化时延,代表归一化梯度,losscal代表归一化丢包比,cwndcal代表归一化拥塞比,dmetric代表归一化时延倍数。表2中各个统计量可以通过采集获得的表1中的统计量计算获得。
本实施例中,通过五个组来区分每条流,即<服务器IP地址、服务器端口号、用户IP地址、用户端口号和传输层协议>,并将这些内容归纳为一个ID号,根据ID号区分各条流,并且对每一条流进行拥塞控制。
将深度强化学习应用进网络拥塞控制场景的一大关键基础是构建马尔可夫决策过程。网络拥塞控制过程中,不能直接访问网络的状态信息,而只能通过收集到的网络数据进行推测,因此网络拥塞控制本质上是部分可观测马尔可夫决策过程。在方案设计中,需要汇总过去和当前收集到的统计信息,并通过数据之间的相关性来增强模型的推理能力。因此,网络监测模块将保留过往若干个控制周期的统计量信息,并将这些历史信息和当前控制周期的信息合并成为当前的特性。本实施例中设定保留过往10个控制周期的信息,即上述网络状态数据包括上述当前控制周期对应的测量统计数据组以及10个历史控制周期对应的测量统计数据组,每个控制周期持续时间为1.5个RTT毫秒。
进一步,本实施例中的深度强化学习算法使用基于双延迟的深度确定性策略梯度算法(TD3)。TD3算法中通过引入两个额外的评论家网络来模拟双Q网络,以解决评论家网络对于动作Q值的过度估计;演员的更新被延迟,以增强演员网络训练的稳定性;目标演员的动作中增加了一定的噪声,以提高算法的稳定性。在网络控制中,连续动作空间比离散动作空间更加自然,能够更好的发挥强化学习模型的精细控制。DDPG通过引入策略梯度的方法,实现了动作空间的连续性。TD3沿用了这一优势,并做出了进一步的提升。
网络拥塞控制算法的最终输出是拥塞窗口大小。本实施例中,期望算法动作能够连续、无限制并对网络抖动做出快速而精准的反应。因此,根据上述归一化状态数据,通过上述深度强化学习模型获取深度强化学习动作值时,根据上述目标动作值和上述当前控制周期中的拥塞窗口大小,通过预设的窗口计算公式计算获取下一控制周期的拥塞窗口大小,上述预设的窗口计算公式如下公式(8)所示:
其中,xt代表第t个控制周期对应的拥塞窗口大小数值,即上述当前控制周期中的拥塞窗口大小;对应的,xt+1是下一控制周期的拥塞窗口大小;at代表第t个控制周期DRL模型做出的动作经熵值修正后获得的动作,即目标动作值,at是一个具体数值,一个数值代表一个动作,其具体计算方式参照下文具体描述。本实施例中,基于上述公式(8),引入指数增长的方式,使得动作空间受到的限制相对较少,同时使得代理能够快速的对网络抖动做出反应。
需要说明的是,本实施例中,还设置奖励函数,通过简单的线性奖励函数,对DRL模型进行指导。模型期望同一时间达到高吞吐、低时延和低丢包率。上述奖励函数如下公式(9)所示:
其中,t时刻代表第t个控制周期,h1、h2和h3是预先设定的参数,用于平衡吞吐、时延和丢包率之间的权重和比值,其具体数据可以根据实际需求设置和调整。
本实施例中,还对DRL模型进行安全学习指导。具体的,如图3所示,趋势预测模块使用Thr(t)这一动态阈值来综合考虑过往20个控制周期中网络的变化状况,并通过标识Dt对DRL动作的安全性进行标记。如果标识Dt值为true,那么说明当前的RTT远超正常水平,此时认为当前时刻强化学习做出的动作是危险的,将调用专家(即预设拥塞控制算法,BBR算法)来进行短暂的接管,并对当前监测周期的奖励值做出相应的惩罚。
安全学习策略Πshield由深度强化学习策略Πdrl和专家策略Πbackup组成。当深度强化学习策略做出错误或者危险动作之后的一定时间内,专家策略可以找到一个动作,使得整体框架重回安全状态,那么认为此时的Πdrl是可被修复的,并认为成功的做到了安全学习。
本实施例中将基于规则的算法BBR作为专家策略,BBR算法稳定且应用广泛,与基于丢包的算法不同,BBR通过带宽延迟乘积控制cwnd。当趋势预测块判断强化学习模型出错时候,BBR将作为替代策略修复拥塞窗口。本实施例中为BBR留下一定的检测机会来检测可用的BDP,因此BBR可以在短时间内将传输速率调整为BDP。
在安全学习过程中,需要满足最小干预原则,即在强化学习代理仅处于不安全状态情况下才进行干预;与此同时也需要进行适当的干预,以确保整个系统的安全,并确保模型不会因在训练初期探索特征而频繁出错。综合考虑到这两个要求,采取周期选择的方法进行设计。本实施例中将周期选择的总长度设置为五个MI(即控制周期)。在算法开始运行时,DRL模型控制第一、第三和第五个控制哈走起,BBR控制其余两个控制周期。在测试过程中,由于模型学到了很多知识,将BBR的控制频率更改为原来的一半,即五个控制周期中只有一个。当趋势预测块发现强化学习控制的检测周期存在错误风险时,即标识Dt值为true时,BBR将临时替换DRL模型以控制下一个控制周期。
本实施例中通过在线反馈进一步优化DRL模型。还可以设置重放经验池,重放经验池M用于存储DRL已经经历过的特征-动作-奖励映射关系。如果DRL动作进入危险状态,专家策略将会介入并进行算法框架的控制。将专家策略的行为直接加入经验池看似是一种使模型更快收敛的解决方案。但事实上,这样做将进一步加剧专家行为对模型的限制,使模型更有可能收敛到接近专家行为的次优解。因此,当调用专家策略时,将通过修改奖励函数值的方式来体现出专家策略的作用,而不是简单的将专家策略的动作-奖励映射关系保留下来。
一旦触发保护机制,即标识Dt值为true时,则表明当前DRL动作危险或不可取。此时,减小存储在重放经验池M中的奖励函数值,具体如下公式(10)所示:
其中,rt-1代表第t-1个控制周期中更新前的奖励函数值,r′t-1代表更新后的奖励函数值。与此同时,为了有效的防止DRL模型收敛依赖专家策略,如果专家策略做出动作,该MI的奖励函数也需要被调整,具体如下公式(11)所示:
其中,rt代表第t个控制周期中更新前的奖励函数值,r′t代表更新后的奖励函数值。需要说明的是,本实施例中的专家、专家策略都代表预设拥塞控制算法,也即BBR算法,在此不再赘述。
本实施例中,使用图3中所示的动作探索模块动态调整DRL模型对环境的探索能力,熵值代表DRL模型对于动作空间探索的力度。图4是本发明实施例提供的一种熵值变化示意图。本实施例中,对于熵值的变化进行硬编码,对于熵值的具体调整可以参照上述公式(3),在此不再赘述。本实施例中,熵值变化反映在演员动作的修改上。由于使用了确定性的演员-评论家框架,演员根据模型策略输出的是一个有形的动作,而不是所有动作的概率分布。本实施例中根据熵值给这个动作加上波动。DRL模型会随时间降低探索力度,专家策略指导会导致模型向专家行为靠拢。熵的增加可以让模型在合适时候增大探索力度,不会同化成专家算法的逻辑。通过对熵值的调整,可以使得DRL模型收敛到当前网络场景中的最优参数。
本实施例中,根据归一化状态数据,通过上述深度强化学习模型获取深度强化学习动作值,具体的,用st代表归一化状态数据,归一化状态数据中包括多个控制周期所对应的归一化统计数据组,一个归一化统计数据组包括如表2所示的所有归一化统计数据。针对st,先通过DRL模型,基于该模型使用的以φ为参数的策略πφ计算获得对应的深度强化学习动作值πφ(st)。然后以这个动作为均值,0.2倍的熵值et为方差,做正态分布,输出为参照正态分布概率选择出的动作。正态分布得到一种分布情况,范围是以当前动作为中心向两边扩展,扩展力度由正态分布的方差决定。然后根据每个值分布的可能性进行抽样。如果这个值越靠近中心,那么抽样到的概率越大。这样的做法是,希望还是按照原本的TD3算法逻辑得到结果。但是如果原本TD3算法逻辑有问题,那么增大方差,来增加抽样到其他数值的可能性,并将抽样结果作为输出。通过动作探索机制的引入,使得模型可以智能的调整对于环境的探索能力,从而更好的适应当前的网络场景。
本实施例中,以正态分布作为修正公式,针对深度强化学习动作值πφ(st),对应的修正公式如下公式(12)所示:
at=H(πφ(st;φ))=N(πφ(st),0.2*et) (12)
其中,at代表第t个控制周期DRL模型做出的动作经熵值修正后获得的动作,即目标动作值。H代表深度强化学习模型的计算函数,即根据st计算获得深度强化学习动作值πφ(st),N代表正态分布。et代表第t个控制周期DRL模型对应的熵值。
图5是本发明实施例提供的一种熵值调整的具体流程示意图,如图5所示,在一种应用场景中,先计算往返时延动态阈值Thr(t),执行完图5中步骤1之后,同时执行步骤2和4。步骤2中,进行DRL动作标记,即计算安全标记,并进一步判断是否为危险熵增,如果是,则需要根据第一种方法(即M1)进行熵增,其中,M1代表公式(4)中的M1(x)。步骤4中,计算E(t),即公式(5)中的时延比值Et,并根据Ehistory是否为安全情况下的熵增,如果是,则需要根据第二种方法(即M2)进行熵增,其中,M2代表公式(6)中的M2(x)。然后到步骤6中递推计算熵值,在步骤6中,根据上述选择的M1或M2,结合公式(7)中所示的自然退火过程M3(x)进行熵值的更新,然后根据熵值调整DRL动作,并且可以在下一个监测周期(即控制周期)的数据来临时返回步骤1重新计算和调整DRL动作。
如此,本实施例中,针对网络变化趋势进行监测,从而对DRL动作安全性进行判断分析,并采用轮转周期选择方式交替选择规则算法和学习算法进行控制。针对DRL模型,使用专家调用惩罚机制,根据标识Dt值,在DRL错误动作时候对奖励值进行额外处理,采用熵对于DRL动作做出修改。且针对各个流,基于网络监测模块生成的流ID进行流的独立调度,获得更好的拥塞控制效果。
在根据上述公式(8)计算获取下一控制周期的拥塞窗口大小之后,基于拥塞窗口大小数值的进一步优化,并且能够作为最终发送速率,对下一个控制周期进行拥塞控制,获得更好的数据传输效果。
由上可见,本实施例方案中,结合预设拥塞控制算法和深度强化学习模型进行拥塞控制,两者在安全标记为安全时根据预设的周期轮转规则进行轮转,不仅可以根据预设拥塞控制算法(即预设规则)进行控制,还可以通过深度强化学习模型根据实际情况(即网络状态数据)进行拥塞控制,有利于提高网络拥塞控制的准确性。并且,安全标记是根据待控制网络的实际状态(包括往返时延值和往返时延动态阈值)获取的,能够基于网络的实际状态选择是否进入正常周期轮转过程中。进一步的,还根据安全标记获取深度强化学习模型的熵值,可见深度强化学习模型的熵值也是根据待控制网络的实际状态确定的。在使用深度强化学习模型时,根据熵值可以确定该深度强化学习模型的决策动作偏移幅度修正值,实现根据待控制网络的实际状态对深度强化学习模型的决策动作进行修正,获得针对该待控制网络及其网络变化的拥塞控制动作,从而获得更好的控制效果,即有利于提高网络拥塞控制的准确性,从而有利于提高网络服务质量。
如图6中所示,对应于上述基于深度强化学习的网络拥塞控制方法,本发明实施例还提供一种基于深度强化学习的网络拥塞控制系统,上述基于深度强化学习的网络拥塞控制系统包括:
动态阈值计算模块610,用于获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;
安全标记获取模块620,用于根据上述往返时延值和上述往返时延动态阈值获取上述待控制网络在上述当前控制周期的安全标记,其中,上述安全标记是安全或危险;
熵值计算模块630,用于根据上述安全标记获取上述当前控制周期中深度强化学习模型的熵值,其中,上述熵值是该深度强化学习模型的决策动作偏移幅度修正值;
网络状态数据获取模块640,用于获取上述待控制网络对应的网络状态数据;
控制模块650,当上述安全标记是安全时,根据上述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据上述当前控制周期中深度强化学习模型的熵值、上述网络状态数据和上述当前周期控制主体对上述待控制网络进行网络拥塞控制,其中,上述当前周期控制主体是预设拥塞控制算法和上述深度强化学习模型中的一种。
具体的,本实施例中,上述基于深度强化学习的网络拥塞控制系统及其各模块的具体功能可以参照上述基于深度强化学习的网络拥塞控制方法中的对应描述,在此不再赘述。
需要说明的是,上述基于深度强化学习的网络拥塞控制系统的各个模块的划分方式并不唯一,在此也不作为具体限定。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图7所示。上述智能终端包括处理器及存储器。该智能终端的存储器包括基于深度强化学习的网络拥塞控制程序,存储器为基于深度强化学习的网络拥塞控制程序的运行提供环境。该基于深度强化学习的网络拥塞控制程序被处理器执行时实现上述任意一种基于深度强化学习的网络拥塞控制方法的步骤。需要说明的是,上述智能终端还可以包括其它功能模块或单元,在此不作具体限定。
本领域技术人员可以理解,图7中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体地智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于深度强化学习的网络拥塞控制程序,上述基于深度强化学习的网络拥塞控制程序被处理器执行时实现本发明实施例提供的任意一种基于深度强化学习的网络拥塞控制方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统/智能终端和方法,可以通过其它的方式实现。例如,以上所描述的系统/智能终端实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (13)

1.一种基于深度强化学习的网络拥塞控制方法,其特征在于,所述方法包括:
获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;
根据所述往返时延值和所述往返时延动态阈值获取所述待控制网络在所述当前控制周期的安全标记,其中,所述安全标记是安全或危险;
根据所述安全标记获取所述当前控制周期中深度强化学习模型的熵值,其中,所述熵值是该深度强化学习模型的决策动作偏移幅度修正值;
获取所述待控制网络对应的网络状态数据;
当所述安全标记是安全时,根据所述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据所述当前控制周期中深度强化学习模型的熵值、所述网络状态数据和所述当前周期控制主体对所述待控制网络进行网络拥塞控制,其中,所述当前周期控制主体是预设拥塞控制算法和所述深度强化学习模型中的一种。
2.根据权利要求1所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述方法还包括:
当所述安全标记是危险时,根据所述预设拥塞控制算法对所述待控制网络进行网络拥塞控制。
3.根据权利要求1所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值,包括:
采集获取所述待控制网络在所述当前控制周期的往返时延值;
获取所述待控制网络在多个历史控制周期的往返时延值,计算所述当前控制周期和所述多个历史控制周期的往返时延值的均值并作为所述当前控制周期的往返时延动态阈值。
4.根据权利要求1所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述根据所述往返时延值和所述往返时延动态阈值获取所述待控制网络在所述当前控制周期的安全标记,包括:
当所述往返时延值大于所述往返时延动态阈值与预设倍数阈值的乘积时,将所述安全标记设置为危险,否则将所述安全标记设置为安全。
5.根据权利要求1所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述根据所述安全标记获取所述当前控制周期中深度强化学习模型的熵值,包括:
获取预设的第一常数、第二常数以及第三常数;
获取所述待控制网络对应的前一周期熵值,其中,所述前一周期熵值是前一控制周期中所述深度强化学习模型的熵值,所述前一控制周期是所述当前控制周期的前一个周期;
当所述安全标记是危险时,所述当前控制周期中深度强化学习模型的熵值等于第一相加结果与所述第三常数的乘积,其中,所述第一相加结果是所述前一周期熵值与所述第一常数之和;
当所述安全标记是安全时,获取所述待控制网络对应的时延比值数组,根据所述时延比值数组、所述前一周期熵值、所述第二常数和所述第三常数获取所述当前控制周期中深度强化学习模型的熵值。
6.根据权利要求5所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述获取所述待控制网络对应的时延比值数组,根据所述时延比值数组、所述前一周期熵值、所述第二常数和所述第三常数获取所述当前控制周期中深度强化学习模型的熵值,包括:
获取所述待控制网络对应的时延比值数组,其中,所述时延比值数组由所述当前控制周期的时延比值以及多个历史控制周期的时延比值组成,一个周期对应的时延比值是该周期内的往返时延值与往返时延动态阈值的比值;
当所述时延比值数组中的每一个时延比值都属于预设时延比值范围之内时,所述当前控制周期中深度强化学习模型的熵值等于第二相加结果与所述第三常数的乘积,其中,所述第二相加结果是所述前一周期熵值与所述第二常数之和;
否则,所述当前控制周期中深度强化学习模型的熵值等于所述前一周期熵值与所述第三常数的乘积。
7.根据权利要求1-6任意一项所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述预设拥塞控制算法为BBR算法。
8.根据权利要求7所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述待控制网络是快速UDP互联网连接网络,所述网络状态数据包括所述当前控制周期对应的测量统计数据组以及多个历史控制周期对应的测量统计数据组,一个周期对应的测量统计数据组包括该周期对应的确认字符平均吞吐量、确认字符平均延时、确认字符平均丢包率、拥塞窗口大小、确认字符总数、历史最大吞吐量以及历史最小延时。
9.根据权利要求8所述的基于深度强化学习的网络拥塞控制方法,其特征在于,当所述周期控制主体是所述深度强化学习模型时,所述根据所述当前控制周期中深度强化学习模型的熵值、所述网络状态数据和所述当前周期控制主体对所述待控制网络进行网络拥塞控制,包括:
根据所述网络状态数据计算获取归一化状态数据,其中,所述归一化状态数据包括多个归一化统计数据组;
根据所述归一化状态数据,通过所述深度强化学习模型获取深度强化学习动作值;
根据所述当前控制周期中熵值和预设的修正公式对所述深度强化学习动作值进行修正获得目标动作值;
根据所述目标动作值和所述当前控制周期中的拥塞窗口大小,通过预设的窗口计算公式计算获取下一控制周期的拥塞窗口大小;
根据所述下一控制周期的拥塞窗口大小对所述待控制网络进行拥塞控制。
10.根据权利要求9所述的基于深度强化学习的网络拥塞控制方法,其特征在于,所述下一控制周期的拥塞窗口大小是所述当前控制周期中的拥塞窗口大小与目标指数值的乘积,所述目标指数值是以2为底且以所述目标动作值为指数的值。
11.一种基于深度强化学习的网络拥塞控制系统,其特征在于,所述系统包括:
动态阈值计算模块,用于获取待控制网络在当前控制周期的往返时延值和往返时延动态阈值;
安全标记获取模块,用于根据所述往返时延值和所述往返时延动态阈值获取所述待控制网络在所述当前控制周期的安全标记,其中,所述安全标记是安全或危险;
熵值计算模块,用于根据所述安全标记获取所述当前控制周期中深度强化学习模型的熵值,其中,所述熵值是该深度强化学习模型的决策动作偏移幅度修正值;
网络状态数据获取模块,用于获取所述待控制网络对应的网络状态数据;
控制模块,当所述安全标记是安全时,根据所述当前控制周期和预设的周期轮转规则获取当前周期控制主体,根据所述当前控制周期中深度强化学习模型的熵值、所述网络状态数据和所述当前周期控制主体对所述待控制网络进行网络拥塞控制,其中,所述当前周期控制主体是预设拥塞控制算法和所述深度强化学习模型中的一种。
12.一种智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于深度强化学习的网络拥塞控制程序,所述基于深度强化学习的网络拥塞控制程序被所述处理器执行时实现如权利要求1-10任意一项所述基于深度强化学习的网络拥塞控制方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于深度强化学习的网络拥塞控制程序,所述基于深度强化学习的网络拥塞控制程序被处理器执行时实现如权利要求1-10任意一项所述基于深度强化学习的网络拥塞控制方法的步骤。
CN202211697164.5A 2022-12-28 2022-12-28 基于深度强化学习的网络拥塞控制方法、系统及相关设备 Active CN116232998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211697164.5A CN116232998B (zh) 2022-12-28 2022-12-28 基于深度强化学习的网络拥塞控制方法、系统及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211697164.5A CN116232998B (zh) 2022-12-28 2022-12-28 基于深度强化学习的网络拥塞控制方法、系统及相关设备

Publications (2)

Publication Number Publication Date
CN116232998A CN116232998A (zh) 2023-06-06
CN116232998B true CN116232998B (zh) 2024-04-05

Family

ID=86575894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211697164.5A Active CN116232998B (zh) 2022-12-28 2022-12-28 基于深度强化学习的网络拥塞控制方法、系统及相关设备

Country Status (1)

Country Link
CN (1) CN116232998B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125471A (ko) * 2014-04-30 2015-11-09 삼성전자주식회사 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치
CN112422443A (zh) * 2020-10-27 2021-02-26 鹏城实验室 一种拥塞算法的自适应控制方法、存储介质、设备及系统
CN113259255A (zh) * 2021-06-03 2021-08-13 鹏城实验室 一种网络拥塞控制方法、装置、终端及存储介质
CN113595923A (zh) * 2021-08-11 2021-11-02 国网信息通信产业集团有限公司 一种网络拥塞控制方法及装置
WO2022093938A1 (en) * 2020-10-29 2022-05-05 Ambeent Wireless Method and system for enabling low-latency data communication by aggregating a plurality of network interfaces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125471A (ko) * 2014-04-30 2015-11-09 삼성전자주식회사 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치
CN112422443A (zh) * 2020-10-27 2021-02-26 鹏城实验室 一种拥塞算法的自适应控制方法、存储介质、设备及系统
WO2022093938A1 (en) * 2020-10-29 2022-05-05 Ambeent Wireless Method and system for enabling low-latency data communication by aggregating a plurality of network interfaces
CN113259255A (zh) * 2021-06-03 2021-08-13 鹏城实验室 一种网络拥塞控制方法、装置、终端及存储介质
CN113595923A (zh) * 2021-08-11 2021-11-02 国网信息通信产业集团有限公司 一种网络拥塞控制方法及装置

Also Published As

Publication number Publication date
CN116232998A (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN107634911B (zh) 一种信息中心网络中基于深度学习的自适应拥塞控制方法
US11005769B2 (en) Congestion avoidance in a network device
US11424999B2 (en) Method and apparatus for key performance indicator forecasting using artificial life
US20120063347A1 (en) Methods and Systems for Estimating Network Available Bandwidth Using Packet Pairs and Spatial Filtering
WO2021026944A1 (zh) 基于粒子群和神经网络的工业无线流媒体自适应传输方法
US20130170342A1 (en) Data communication systems and methods
WO2021103706A1 (zh) 控制数据包发送方法、模型训练方法、装置及系统
Li et al. A comparative simulation study of TCP/AQM systems for evaluating the potential of neuron-based AQM schemes
CN104618258A (zh) 一种数据传输速率的控制方法
CN113825171B (zh) 网络拥塞控制方法、装置、设备及介质
US10659364B2 (en) Hybrid AQM controller using RBF for queue utilization approximation as a non-linear system
CN111083535A (zh) 视频数据传输码率自适应方法、系统、装置和存储介质
CN113114581A (zh) 基于多智能体深度强化学习的tcp拥塞控制方法及装置
US20230041242A1 (en) Performing network congestion control utilizing reinforcement learning
KR20220042927A (ko) 인공지능을 이용하여 복수의 단말들의 작업들과 관련된 복수의 패킷들을 스케줄링하는 방법 및 이를 수행하는 전자 장치
CN116232998B (zh) 基于深度强化学习的网络拥塞控制方法、系统及相关设备
JP3712196B2 (ja) パケット転送制御システムと方法およびそのプログラムと記録媒体ならびに通信装置
CN108900804B (zh) 一种基于视频熵的自适应视频流处理方法
CN104579582A (zh) 一种基于通信网络的高质量语音传输方法
CN116055416A (zh) 应用于长距通信网络场景下传输速率的调整方法及装置
CN113872873A (zh) 一种适合5g新应用的多场景跨层拥塞控制方法
Zhang et al. LearningCC: An online learning approach for congestion control
EP3340551A1 (en) Method and system for queue management
KR20220097201A (ko) 연합학습을 이용한 네트워크 혼잡 제어방법
Li et al. Balancing latency and accuracy on deep video analytics at the edge

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