CN114745337B - 一种基于深度强化学习的实时拥塞控制方法 - Google Patents
一种基于深度强化学习的实时拥塞控制方法 Download PDFInfo
- Publication number
- CN114745337B CN114745337B CN202210204528.5A CN202210204528A CN114745337B CN 114745337 B CN114745337 B CN 114745337B CN 202210204528 A CN202210204528 A CN 202210204528A CN 114745337 B CN114745337 B CN 114745337B
- Authority
- CN
- China
- Prior art keywords
- network
- time
- neural network
- data
- action
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000002787 reinforcement Effects 0.000 title claims abstract description 27
- 230000009471 action Effects 0.000 claims abstract description 58
- 238000013528 artificial neural network Methods 0.000 claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims abstract description 30
- 238000004088 simulation Methods 0.000 claims abstract description 19
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 17
- 238000003062 neural network model Methods 0.000 claims abstract description 13
- 239000003795 chemical substances by application Substances 0.000 claims description 33
- 230000000875 corresponding effect Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 19
- 230000007613 environmental effect Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000001537 neural effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 229940060587 alpha e Drugs 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于深度强化学习的实时拥塞控制方法,涉及计算机网络与人工智能的交叉领域。该方法包括构建仿真网络,在仿真网络中按照设定的每回合时间长度,来构建数据传输程序;初始化强化学习智能体及内部神经网络,采集网络统计信息及动作滞后时间以训练滞后预测模型,接着固定滞后预测模型,用强化学习算法训练神经网络,最后将神经网络模型部署至目标网络环境中,让智能体能根据当前的网络状态数据动态地调整拥塞控制窗口的大小,在数据传输过程中取得更高的吞吐量和更低的往返时延。本发明以扩展状态空间和单独预测滞后时间的方式解决了应用深度强化学习至拥塞控制时的动作滞后问题,可以兼顾拥塞控制效果和较高的网络性能。
Description
技术领域
本发明涉及计算机网络与人工智能的交叉领域,具体涉及一种基于深度强化学习的实时拥塞控制方法。
背景技术
TCP(Transmission Control Protocol,传输控制协议)中的拥塞控制算法,作为现代计算机网络的一项基础组件,在提高带宽利用率、缓解网络拥塞及优化用户体验等方面扮演着十分重要的角色。随着通信技术的发展,网络传输场景的复杂度和多样性也在不断增加,如5G、车联网、无人机网络等场景为传输层协议的设计,特别是拥塞控制算法的设计带来了新的挑战。而如今广泛使用的拥塞控制算法,仍然采用传统的以慢启动、拥塞避免、快重传、快恢复四个阶段为基础的做法。尽管传统算法基于多年的实践经验已得到了多次修改和发展,但其以丢包等事件作为驱动的方式不够灵活,不能很好地适应越来越复杂的网络场景。
现有技术中相对新颖和有效的一类方法是将拥塞控制问题建模为一个连续决策的马尔科夫过程,将一些网络统计数据作为环境状态,将对拥塞窗口或数据发送率的改变作为动作,构建强化学习智能体(Agent)并使其学习到不同网络环境下的数据传输特点。尤其是在应用深度强化学习方法时,一个可靠的经过充分训练的智能体可以在面对不同的网络状态时采取合适的对应动作,在整个数据流的传输过程中取得更高的带宽利用率和更低的网络时延。但是,此类技术在问题建模时通常忽略了实际网络传输中的实时性特点,没有处理在智能体应用动作时存在的滞后问题。
由上可知,现有技术在采取传统拥塞控制算法时不能在多样化的网络环境中取得一致的性能表现,而在应用深度强化学习方法时存在忽略动作滞后的技术问题,算法性能还有提高空间。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:解决在拥塞控制中应用强化学习算法时存在的动作滞后问题及网络性能受限问题。
为达到以上目的,本发明提供的基于深度强化学习的实时拥塞控制方法,包括以下步骤:
步骤1:构建仿真网络,在仿真网络中按照设定的每回合时间长度,来构建数据传输程序,以此实现初始化环境程序;
步骤2:根据数据传输过程中程序采集的多个网络统计值,来确定原始环境状态、智能体动作的取值、智能体所取得的奖赏值、以及智能体内部的神经网络模型结构,以此实现初始化智能体程序;
步骤3:运行智能体程序和环境程序,采集每回合的环境状态数据并记录真实的动作滞后时间,训练滞后预测模型;
步骤4:确定强化学习过程中的学习率和奖赏折扣率,运行智能体程序和环境程序,训练Actor神经网络和Critic神经网络;
步骤5:部署训练后的Actor神经网络和滞后预测模型到仿真网络或真实的网络环境中,采集表示网络状态的各项数据并输入神经网络,获取并执行在当前网络状况中合适的动作,改变拥塞控制窗口的大小。
在上述技术方案的基础上,步骤1中所述数据传输程序的构建过程包括:构建Sender和Receiver,Sender和Receiver基于protobuf定义的数据包通过仿真网络进行通信;
Sender用于:响应Receiver的建立连接请求后,向Receiver发送数据包;根据Receiver返回的ACK报文信息异步记录所需的网络统计数据;
Receiver用于:向Sender发送建立连接请求,接收Sender传来的数据包,并生成对应的ACK报文返回给Sender。
在上述技术方案的基础上,步骤2中确定原始环境状态的具体流程包括:数据传输程序采集多个网络统计值,具体包括send_bytes、ack_bytes、loss_packets、avg_RTT、min_RTT、throughput、以及当前的拥塞控制窗口大小cwndold;将上述每个网络统计值进行归一化处理后,用上述每个网络统计值联立而成的向量表示原始环境状态。
在上述技术方案的基础上,步骤2中智能体动作的取值的确定过程包括:
根据cwndold计算新拥塞控制窗口大小cwndnew,计算方式为:
cwndnew=cwndold*2β
其中表示cwndnew最大为cwndold的两倍,最小为cwndold的一半;根据β的离散值组成一个数组,智能体的动作即为该数组内元素的序号,即智能体动作a的取值为{0,1,2,3,4,5,6,7}。
在上述技术方案的基础上,步骤2中智能体所取得的奖赏值R的确定算法为:
其中loss为根据统计数据计算出的丢包率,delay为平均时延,throughput、loss和delay均采用归一化后的数值,系数表示丢包率所受的重视程度,ω表示整个数据传输过程中的网络性能的不稳定程度,在t时刻,若某一性能指标的采样值为xt,则ωt为:
其中ωt-1为上一时刻该指标的不稳定程度,α∈(0,1)表示对历史数据的重视程度,为t时刻该指标的指数加权移动平均值,/>计算公式为:
其中表示上一时刻该指标的数加权移动平均值,α的值越接近1,表示对历史数据越重视,平均值整体对最新数据赋予的权重就越低。
在上述技术方案的基础上,步骤2中智能体内部的神经网络模型的输入包括原始环境状态与历史动作序列联立,表示为:
sextend=[soriginal,at-d,...,at-2,at-1]
其中sextended代表扩展后的最终状态,也是神经网络的输入向量,soriginal代表各项网络指标构成的原始环境状态,at-d,...,at-2,at-1分别表示t-d时刻至t-1时刻的智能体动作值,d为假定的滞后时间最大值,以回合数为单位,取值为8;神经网络模型的前半部分为堆叠的两层LSTM,每层神经单元为128,用于提取状态信息的时间特征;神经网络模型的后半部分为Actor神经网络、Critic神经网络和滞后预测模型。
在上述技术方案的基础上,步骤3中滞后预测模型的数据集构造流程包括:滞后时间的具体流程包括:固定除滞后预测神经网络以外的部分,以此为前提运行智能体程序和环境程序,开始数据传输过程;预先在protobuf数据包中定义标志位,用于记录该数据包发送时最后应用的动作,Receiver收到数据包后在对应的ACK中也保留该标志位的信息,使Sender能够通过ACK中的信息确定一个动作对应的滞后时间;这样就可以采集到每个环境状态和对应的动作滞后时间,以环境状态数据作为样本,对应的动作滞后时间作为标签,即可构造一个数据集,以用于训练滞后预测模型。
在上述技术方案的基础上,步骤4中Actor神经网络与Critic神经网络的训练流程包括:固定滞后预测模型,并在Actor神经网络输出动作时,记录该模型预测的对应滞后时间,之后在输入历史动作序列时,通过滞后时间判断某一动作是否已经生效,再将生效的动作值置为零;在训练时需同时运行多个环境程序,每个环境程序内包含一个仿真网络及通过该网络通信的一对Sender和Receiver,由智能体程序与多个环境程序交互,采集经验元组,保存至重放集合中;从重放集合中随机采样,更新Actor神经网络和Critic神经网络,直到损失函数没有明显变化或达到最大迭代次数。
在上述技术方案的基础上,S1中所述每回合时间长度根据需要部署此方法的目标网络中的一般时延大小来确定。
与现有技术相比,本发明的优点在于:
本发明基于网络拥塞状况与智能体执行动作的滞后时间之间的相关关系,提供了一种扩展状态空间及单独预测滞后时间的方式来修正这些滞后;在此基础上实现的完整方法,可以使得应用深度强化学习技术进行拥塞控制时算法的控制效果更好,取得的网络性能更高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于深度强化学习的实时拥塞控制方法的流程图;
图2为本发明实施例中神经网络结构的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本发明实施例中的基于深度强化学***均时延、丢包率等数据作为输入,能合理地调整拥塞控制窗口的大小,取得更好的网络传输性能。
参见图1所示,该方法主要包括以下步骤:
步骤1:初始化强化学习环境(环境程序),其具体流程包括构建仿真网络,在仿真网络中按照设定的每回合时间长度,来构建数据传输程序。
优选的,对于仿真网络的构建,为了能便捷地模拟多个具有不同带宽和固定时延的网络,采用Mahimahi作为网络仿真工具。在mm-link、mm-delay、mm-loss等子工具的支持下,它能够以shell命令的形式构建任何所需的网络,并创建Linux虚拟网卡来进行贴近真实的数据通信。此外,它还支持自定义应用程序,实现虚拟网络和真实网络的联通。根据已有的实践经验,在开发通用拥塞控制算法时仿真网络的带宽范围为0.12Mbps-900Mbps,固定时延范围为5ms-100ms,丢包率范围为0.1%-5%。
优选的,数据传输程序的构建过程包括:构建Sender(数据发送方程序)和Receiver(数据接收方程序),Sender和Receiver通过仿真网络进行通信,信息交换的数据包格式由protobuf定义。
Sender用于:响应Receiver的建立连接请求后,不断地向Receiver发送数据包;根据Receiver返回的ACK报文信息异步记录所需的网络统计数据;
Receiver用于:向Sender发送建立连接请求,不断地接收Sender传来的数据包,并生成对应的ACK报文返回给Sender。
优选的,每回合时间长度应根据需要部署此方法的目标网络中的一般时延大小来确定,在优先考虑通用性的前提下,可设定为每回合50ms。
在此基础上,在每回合结束时,智能体获取相关网络统计信息的观测值,以此为依据计算环境状态和获得的奖赏值,存储下有价值的经验元组,并向其内部的神经网络模型输入状态,取得输出的动作值并返回给数据传输程序,令其调整拥塞控制窗口,取得更好的拥塞控制效果和更高的网络性能。
步骤2:初始化强化学习智能体(智能体程序),其具体流程包括:根据数据传输过程中程序采集的多个网络统计值,来确定原始环境状态、智能体动作的取值、智能体所取得的奖赏值、以及智能体内部的神经网络模型结构。
优选的,步骤2中确定原始环境状态的具体流程包括:数据传输程序采集多个网络统计值,具体包括send_bytes(已发送的数据字节数)、ack_bytes(已确认的数据字节数)、loss_packets(已丢失的数据包个数)、avg_RTT(平均往返时延)、min_RTT(最小往返时延)、throughput(上回合的平均吞吐量)、以及cwndold(当前的拥塞控制窗口大小);将上述每个网络统计值进行归一化处理后(即使用归一化后的数值),用上述每个网络统计值联立而成的向量表示原始环境状态。
优选的,步骤2中智能体动作的取值的确定过程包括:
智能体的动作应该表示对拥塞控制窗口大小的改变;在兼容传统算法的考虑下,设定cwndnew(新拥塞控制窗口大小)的计算方式如下:
cwndnew=cwndold*2β (1)
其中表示cwndnew最大为cwndold的两倍,最小为cwndold的一半。为了保证模型训练过程中的稳定性和收敛性,限定β的取值为一系列离散值。一种经过验证的取值方式为:
根据β的离散值组成一个数组,智能体的动作即为该数组内元素的序号,即智能体动作a的取值为{0,1,2,3,4,5,6,7}。
优选的,步骤2中智能体所取得的奖赏值R的确定算法为:
其中loss为根据统计数据计算出的丢包率,delay为平均时延(根据avg_RTT和min_RTT计算得到),throughput、loss和delay均采用归一化后的数值。系数表示丢包率所受的重视程度,有效的取值为0.9。
公式(3)中ω表示整个数据传输过程中的网络性能的不稳定程度,ω越大代表性能越不稳定,相应地奖赏值越低。在t时刻,若某一性能指标的采样值为xt,则其不稳定程度为:
其中ωt-1为上一时刻该指标的不稳定程度,α∈(0,1)表示对历史数据的重视程度,而为t时刻该指标的指数加权移动平均值,计算如下:
其中表示上一时刻该指标的数加权移动平均值,α与公式(4)内的含义和取值都相同,其值越接近1,表示对历史数据越重视,平均值整体对最新数据赋予的权重就越低,有效的一个取值为0.8。在这样的计算方式下,奖赏函数考虑了多个网络性能指标、它们间的权重关系以及网络性能的稳定程度,能很好地引导智能体作出合适的选择。
优选的,步骤2中智能体内部的神经网络模型由多个部分组成;为了修正深度强化学习在拥塞控制中的动作滞后,将原始环境状态与历史动作序列联立作为神经网络的输入,可表示为:
sextend=[soriginal,at-d,...,at-2,at-1] (6)
其中sextended代表扩展后的最终状态,也是神经网络的输入向量,soriginal代表各项网络指标构成的原始环境状态,at-d,...,at-2,at-1分别表示t-d时刻至t-1时刻的智能体动作值,而d为假定的滞后时间最大值,以回合数为单位,取值为8。参见图2所示,神经网络模型的前半部分为堆叠的两层LSTM,每层神经单元为128,用于提取状态信息的时间特征;后半部分为Actor神经网络、Critic神经网络和lt(滞后预测模型),它们分别输出当前时刻智能体应选择的动作、预计取得的奖赏值和该动作对应的滞后时间,且都采用相似的128个单元的两层全连接层。
步骤3:运行智能体程序和环境程序,采集每回合的环境状态数据并记录真实的动作滞后时间,训练滞后预测模型,滞后预测模型用于估计智能体每次执行的动作对应的滞后时间。
优选的,步骤3中滞后预测模型的数据集构造流程包括:先固定除滞后预测神经网络以外的部分,以此为前提运行智能体程序和环境程序,开始数据传输过程。预先在protobuf数据包中定义标志位,用于记录该数据包发送时最后应用的动作,Receiver收到数据包后在对应的ACK中也保留该标志位的信息,使Sender能够通过ACK中的信息确定一个动作对应的滞后时间。这样就可以采集到每个环境状态和对应的动作滞后时间,以环境状态数据作为样本,对应的动作滞后时间作为标签,即可构造一个数据集,其中隐含了当前的网络状态与智能体应用动作的滞后时间的相关关系。在此基础上,可以用合适的优化算法对滞后预测模型进行训练,例如使用交叉熵损失函数与Adam优化器。
步骤4:确定强化学习过程中所需的各项参数,包括学习率、奖赏折扣率等,运行智能体程序和环境程序,训练Actor神经网络和Critic神经网络。
优选的,步骤4中Actor神经网络与Critic神经网络的训练流程包括:整体强化学习算法使用TD3算法,Actor神经网络的学习率为0.0001,Critic神经网络的学习率为0.001,奖赏折扣率为0.995。训练过程中需固定滞后预测模型,并在Actor神经网络输出动作时记录该模型预测的对应滞后时间,之后在输入历史动作序列时,可以通过滞后时间判断某一动作是否已经生效,再将生效的动作值置为零。在训练时需同时运行多个环境程序,每个环境程序内包含一个仿真网络及通过该网络通信的一对Sender和Receiver,由智能体程序与多个环境程序交互,采集经验元组,保存至重放集合中。再从重放集合中随机采样,更新Actor神经网络和Critic神经网络,直到损失函数没有明显变化或达到最大迭代次数1000000。
步骤5:部署训练后的Actor神经网络和滞后预测模型到仿真网络或真实的网络环境中,采集表示网络状态的各项数据并输入神经网络,获取并执行在当前网络状况中合适的动作,改变拥塞控制窗口的大小。
具体来说,部署后神经网络中的参数不再变化,Critic网络也失去了作用,将其去除可以降低算法对机器的性能影响。程序运行时,Sender先和Receiver建立通信连接,在拥塞控制窗口的限制下不断地向Receiver发送protobuf自定义格式的数据包,并不断地接收来自Receiver的ACK报文,根据报文信息更新网络吞吐量、端到端时延、丢包率等统计数据,组成网络状态变量与历史动作序列一同输入智能体,并取得智能体选择的动作值,合理地调整拥塞控制窗口的大小,进而在整个数据传输过程中取得高效、可靠、稳定的网络性能。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机可读存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
示例性的,计算机可读存储介质可以是前述实施例的电子设备的内部存储单元,例如电子设备的硬盘或内存。计算机可读存储介质也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。
以上仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (5)
1.一种基于深度强化学习的实时拥塞控制方法,其特征在于,该方法包括以下步骤:
步骤1:构建仿真网络,在仿真网络中按照设定的每回合时间长度,来构建数据传输程序,以此实现初始化环境程序;
步骤2:根据数据传输过程中程序采集的多个网络统计值,来确定原始环境状态、智能体动作的取值、智能体所取得的奖赏值、以及智能体内部的神经网络模型结构,以此实现初始化智能体程序;
步骤2中智能体动作的取值的确定过程包括:
根据拥塞控制窗口大小cwndold计算新拥塞控制窗口大小cwndnew,计算方式为:
cwndnew=cwndold*2β
其中根据β的离散值组成一个数组,智能体的动作即为该数组内元素的序号,即智能体动作a的取值为{0,1,2,3,4,5,6,7};
步骤2中智能体所取得的奖赏值R的确定算法为:
其中loss为根据统计数据计算出的丢包率,delay为平均时延,throughput、loss和delay均采用归一化后的数值,系数表示丢包率所受的重视程度,ω表示整个数据传输过程中的网络性能的不稳定程度,在t时刻,若某一性能指标的采样值为xt,则ωt为:
其中ωt-1为上一时刻该指标的不稳定程度,α∈(0,1)表示对历史数据的重视程度,为t时刻该指标的指数加权移动平均值,/>计算公式为:
其中表示上一时刻该指标的数加权移动平均值,α的值越接近1,表示对历史数据越重视,平均值整体对最新数据赋予的权重就越低;
步骤2中智能体内部的神经网络模型的输入包括原始环境状态与历史动作序列联立,表示为:
sextend=[soriginal,at-d,...,at-2,at-1]
其中sextended代表扩展后的最终状态,也是神经网络的输入向量,soriginal代表各项网络指标构成的原始环境状态,at-d,...,at-2,at-1分别表示t-d时刻至t-1时刻的智能体动作值,d为假定的滞后时间最大值,以回合数为单位,取值为8;神经网络模型的前半部分为堆叠的两层LSTM,每层神经单元为128,用于提取状态信息的时间特征;神经网络模型的后半部分为Actor神经网络、Critic神经网络和滞后预测模型;
步骤3:运行智能体程序和环境程序,采集每回合的环境状态数据并记录真实的动作滞后时间,训练滞后预测模型;
步骤3中滞后预测模型的数据集构造流程包括:滞后时间的具体流程包括:固定除滞后预测神经网络以外的部分,以此为前提运行智能体程序和环境程序,开始数据传输过程;预先在protobuf数据包中定义标志位,用于记录该数据包发送时最后应用的动作,Receiver收到数据包后在对应的ACK中也保留该标志位的信息,使Sender能够通过ACK中的信息确定一个动作对应的滞后时间;这样就可以采集到每个环境状态和对应的动作滞后时间,以环境状态数据作为样本,对应的动作滞后时间作为标签,即可构造一个数据集,以用于训练滞后预测模型;
步骤4:确定强化学习过程中的学习率和奖赏折扣率,运行智能体程序和环境程序,训练Actor神经网络和Critic神经网络;
步骤5:部署训练后的Actor神经网络和滞后预测模型到仿真网络或真实的网络环境中,采集表示网络状态的各项数据并输入神经网络,获取并执行在当前网络状况中合适的动作,改变拥塞控制窗口的大小。
2.如权利要求1所述的基于深度强化学习的实时拥塞控制方法,其特征在于,步骤1中所述数据传输程序的构建过程包括:构建Sender和Receiver,Sender和Receiver基于protobuf定义的数据包通过仿真网络进行通信;
Sender用于:响应Receiver的建立连接请求后,向Receiver发送数据包;根据Receiver返回的ACK报文信息异步记录所需的网络统计数据;
Receiver用于:向Sender发送建立连接请求,接收Sender传来的数据包,并生成对应的ACK报文返回给Sender。
3.如权利要求2所述的基于深度强化学习的实时拥塞控制方法,其特征在于,步骤2中确定原始环境状态的具体流程包括:数据传输程序采集多个网络统计值,具体包括send_bytes、ack_bytes、loss_packets、avg_RTT、min_RTT、throughput、以及当前的拥塞控制窗口大小cwndold;将上述每个网络统计值进行归一化处理后,用上述每个网络统计值联立而成的向量表示原始环境状态。
4.如权利要求1所述的基于深度强化学习的实时拥塞控制方法,其特征在于:步骤4中Actor神经网络与Critic神经网络的训练流程包括:固定滞后预测模型,并在Actor神经网络输出动作时,记录该模型预测的对应滞后时间,之后在输入历史动作序列时,通过滞后时间判断某一动作是否已经生效,再将生效的动作值置为零;在训练时需同时运行多个环境程序,每个环境程序内包含一个仿真网络及通过该网络通信的一对Sender和Receiver,由智能体程序与多个环境程序交互,采集经验元组,保存至重放集合中;从重放集合中随机采样,更新Actor神经网络和Critic神经网络,直到损失函数没有明显变化或达到最大迭代次数。
5.如权利要求1至4任一项所述的基于深度强化学习的实时拥塞控制方法,其特征在于:S1中所述每回合时间长度根据需要部署此方法的目标网络中的一般时延大小来确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210204528.5A CN114745337B (zh) | 2022-03-03 | 2022-03-03 | 一种基于深度强化学习的实时拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210204528.5A CN114745337B (zh) | 2022-03-03 | 2022-03-03 | 一种基于深度强化学习的实时拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745337A CN114745337A (zh) | 2022-07-12 |
CN114745337B true CN114745337B (zh) | 2023-11-28 |
Family
ID=82276000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210204528.5A Active CN114745337B (zh) | 2022-03-03 | 2022-03-03 | 一种基于深度强化学习的实时拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745337B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118072929B (zh) * | 2024-04-22 | 2024-06-21 | 中国人民解放军总医院第七医学中心 | 便携式无菌手术器械包储存设备实时数据智能管理方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104640155A (zh) * | 2013-11-11 | 2015-05-20 | 西南科技大学 | 基于灰色吞吐量预测的无线Ad Hoc网络TCP拥塞避免机制 |
CN106160953A (zh) * | 2016-07-06 | 2016-11-23 | 四川大学 | 一种基于学习型能效模型的传输方法 |
CN106911580A (zh) * | 2017-01-24 | 2017-06-30 | 中国科学院声学研究所 | 一种tcp拥塞控制方法和*** |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及*** |
CN111555907A (zh) * | 2020-04-19 | 2020-08-18 | 北京理工大学 | 基于强化学习的数据中心网络能耗和服务质量优化方法 |
CN113114581A (zh) * | 2021-05-14 | 2021-07-13 | 南京大学 | 基于多智能体深度强化学习的tcp拥塞控制方法及装置 |
CN113300969A (zh) * | 2021-05-20 | 2021-08-24 | 清华大学深圳国际研究生院 | 基于场景变化的拥塞控制切换方法、存储介质和电子设备 |
CN113315716A (zh) * | 2021-05-28 | 2021-08-27 | 北京达佳互联信息技术有限公司 | 拥塞控制模型的训练方法和设备及拥塞控制方法和设备 |
CN113595923A (zh) * | 2021-08-11 | 2021-11-02 | 国网信息通信产业集团有限公司 | 一种网络拥塞控制方法及装置 |
CN113645144A (zh) * | 2021-08-11 | 2021-11-12 | 宁波大学 | 一种强化学习与bbr算法结合的自适应拥塞控制方法及*** |
CN113992599A (zh) * | 2021-11-18 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 时延预测模型的训练方法和装置及拥塞控制方法和装置 |
-
2022
- 2022-03-03 CN CN202210204528.5A patent/CN114745337B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104640155A (zh) * | 2013-11-11 | 2015-05-20 | 西南科技大学 | 基于灰色吞吐量预测的无线Ad Hoc网络TCP拥塞避免机制 |
CN106160953A (zh) * | 2016-07-06 | 2016-11-23 | 四川大学 | 一种基于学习型能效模型的传输方法 |
CN106911580A (zh) * | 2017-01-24 | 2017-06-30 | 中国科学院声学研究所 | 一种tcp拥塞控制方法和*** |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及*** |
CN111555907A (zh) * | 2020-04-19 | 2020-08-18 | 北京理工大学 | 基于强化学习的数据中心网络能耗和服务质量优化方法 |
CN113114581A (zh) * | 2021-05-14 | 2021-07-13 | 南京大学 | 基于多智能体深度强化学习的tcp拥塞控制方法及装置 |
CN113300969A (zh) * | 2021-05-20 | 2021-08-24 | 清华大学深圳国际研究生院 | 基于场景变化的拥塞控制切换方法、存储介质和电子设备 |
CN113315716A (zh) * | 2021-05-28 | 2021-08-27 | 北京达佳互联信息技术有限公司 | 拥塞控制模型的训练方法和设备及拥塞控制方法和设备 |
CN113595923A (zh) * | 2021-08-11 | 2021-11-02 | 国网信息通信产业集团有限公司 | 一种网络拥塞控制方法及装置 |
CN113645144A (zh) * | 2021-08-11 | 2021-11-12 | 宁波大学 | 一种强化学习与bbr算法结合的自适应拥塞控制方法及*** |
CN113992599A (zh) * | 2021-11-18 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 时延预测模型的训练方法和装置及拥塞控制方法和装置 |
Non-Patent Citations (2)
Title |
---|
一种基于神经元强化学习的网络拥塞控制方法;周川;狄东杰;陈庆伟;郭毓;;动力学与控制学报(01);全文 * |
利用数据挖掘技术改进TCP CUBIC拥塞控制算法;张;毛澍;李彦庆;张晶晶;武宏斌;韩啸;;计算机应用研究(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114745337A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092823B (zh) | 一种自适应调节拥塞控制初始窗口的方法和*** | |
WO2021017227A1 (zh) | 无人机轨迹优化方法、装置及存储介质 | |
CN112181666B (zh) | 一种基于边缘智能的设备评估和联邦学习重要性聚合方法 | |
CN111784002B (zh) | 分布式数据处理方法、装置、计算机设备及存储介质 | |
CN113467952B (zh) | 一种分布式联邦学习协同计算方法及*** | |
CN113438315B (zh) | 基于双网络深度强化学习的物联网信息新鲜度优化方法 | |
US20240135191A1 (en) | Method, apparatus, and system for generating neural network model, device, medium, and program product | |
CN114745337B (zh) | 一种基于深度强化学习的实时拥塞控制方法 | |
CN110336620B (zh) | 一种基于mac层公平接入的ql-uacw退避方法 | |
CN112770357B (zh) | 一种基于深度强化学习的无线网络拥塞控制方法 | |
CN111277320B (zh) | 一种蜂窝网联无人机轨迹设计和干扰管理的方法及装置 | |
CN113114581A (zh) | 基于多智能体深度强化学习的tcp拥塞控制方法及装置 | |
CN116527565A (zh) | 基于图卷积神经网络的互联网路由优化方法及装置 | |
CN113825171A (zh) | 网络拥塞控制方法、装置、设备及介质 | |
CN114090108B (zh) | 算力任务执行方法、装置、电子设备及存储介质 | |
CN113382060B (zh) | 一种物联网数据收集中的无人机轨迹优化方法及*** | |
CN117114113B (zh) | 一种基于排队论的协同推理加速方法 | |
CN115426635B (zh) | 一种不可靠传输场景下无人机通信网络推断方法及*** | |
CN112165402A (zh) | 一种网络安全态势预测的方法和装置 | |
CN114125595A (zh) | Otn网络资源优化方法、装置、计算机设备和介质 | |
CN114339858B (zh) | 终端发包参数调整方法、装置及相关设备 | |
CN115904533A (zh) | 一种基于深度强化学习的边缘计算任务卸载方法 | |
CN112906745B (zh) | 基于边缘协同的诚信智能网络训练方法 | |
CN111813538B (zh) | 一种边缘计算资源分配方法 | |
CN115665867B (zh) | 一种车联网的频谱管理方法及*** |
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 |