一种基于DDPG的网络拥塞控制算法的制作方法
未命名
07-27
阅读:91
评论:0
一种基于ddpg的网络拥塞控制算法
技术领域
1.本发明涉及互联网算法,具体是指一种基于ddpg的网络拥塞控制算法。
背景技术:
2.近几十年来,随着互联网的飞速发展,信息的交互变得更方便和快捷。人们借助计算机网络,摆脱了地理位置的束缚,即使在不同的地方也可以享受到网络上的共享资源。而不断出现的新兴计算机网络的应用,使得各种图文信息的传输、存储和处理更为便捷,为用户提供了更好的服务,可以说计算机网络已是现代社会不可或缺的重要组成部分。
3.但是,随着近年来网络用户数量的急剧增加,以及各种通信业务的显著增长,不可避免的给网络带来越来越大的压力。当网络中存在的分组数量超出网络的传输容量时,数据会在交换节点逐渐囤积,直到超出其缓冲区上限,这会使得一部分分组不能及时被转发,就会导致分组的丢失和分组延迟,这种情况如果没有外力干扰就会越来越严重,最终导致网络拥塞的发生。自上个世纪八十年代,appanet(美国国防高级研究计算局网络)首次出现一系列拥塞崩溃现象之后,网络拥塞问题越来越受到人们的关注。
4.当网络某一节点的过多,超出其缓存上限时,它就会丢弃一部分分组,而发送分组的节点会因超时而重传数据包,而发送节点在没有得到确认前,不能丢弃这个分组,导致了缓存的进一步消耗,恶性循环之下,会导致拥塞进一步加重,使得数据分组时延增加、丢包率上升,同时网络的吞吐量下降、上层应用系统的性能降低。且这种影响会逐步向周围的相邻节点扩散,最后严重的可能导致整个网络系统崩溃。另外,虽然大部分网络拥塞的出现都是源于有限的网络资源,但是如果单纯依靠增加网络资源的方式来解决拥塞,不经不能避免拥塞的发生,还会是成本大大提高,而且还会在物理和技术上带来更大的难题。
5.为了应对上述问题带来的挑战,设计一个合理又高效的网络拥塞方法是非常有必要的。完全避免拥塞并不是拥塞控制的目的,当网络中的数据流量较少时,虽然转发节点的缓存队列总是有空余、数据传输的延迟也较小,但是这时候对网络的利用效率也很低,这样反而得不偿失。因此,拥塞控制需要综合考虑网络带宽利用率、传输延迟等综合性能指标,达到总体最优化。
6.为了应对网络拥塞的问题,研究人员提出了拥塞控制方法。拥塞控制方法作为tcp协议的重要组成部分,经过数十年的发展后,在现代互联网中有着广泛的应用。一般而言,拥塞控制方法的功能主要包括控制发送速率、探测带宽以确定最大发送速率以及拥塞避免。根据实现这些功能的方式不同,比如以明确的规则定义、或通过学习得到。
7.传统的拥塞控制算法的主要特点是完全基于设计者预先制定的明确的规则来进行拥塞控制。这类拥塞控制方法在部署较为容易、计算量小的同时,又能达到较好的控制效果,因此得到了广泛的应用。但是由于传统的拥塞控制算法基于一个预定的规则,这使得它们可能在某一个场景中运行良好,但它们无法保证在多数网络场景中的性能,尤其是不稳定的、状态变化频繁的网络场景。
技术实现要素:
8.本发明要解决的技术问题是传统拥塞控制算法受限于预定的规则,难以适应具有不同特点的网络环境,因而提出了基于ddpg的拥塞控制算法,利用深度强化学习能与环境交互的方式不断学习的特点,学习一个更好的拥塞控制策略,以提高吞吐量、降低丢包率为优化目标,提高在常见网络环境下的性能。
9.本发明要解决的技术问题是受限于网络仿真条件等客观因素,难以验证算法在所有网络环境下的性能,以及是否能在真实环境中适应良好。
10.为解决上述技术问题,本发明提供的技术方案为:一种基于ddpg的网络拥塞控制算法,包括:
11.随机初始化critic network q和actor networkμ,并赋值给targetnetworkq’和μ’;
12.初始化replaybufferr;
13.forepisode=1,mdo;
14.随机初始化n步,后得到状态s;
15.fort=1,tdo
16.根据当前策略选取动作a;
17.执行动作a之后得到奖励r和下一步动作s’;
18.将(s,a,r,s’)存入r中;
19.从r中随机采样n个样本;
20.计算tdtarget:yi=ri+γq'(s',μ'(s'|θ
μ
')|θq');
21.通过最小化损失来更新critic network;
22.计算策略梯度来更新actor network;
23.更新targetnetwork:
24.θq'
←
τθq+(1-τ)θq'
25.θ
μ
'
←
τθ
μ
+(1-τ)θ
μ
'
26.end for
27.end for。
28.本发明与现有技术相比的优点在于:基于ddpg算法来进行tcp拥塞控制,ddpg中的经验优先回放能够弱化连续动作之间的相关性,减小动作之间的相互影响,另外,在处理环境的状态信息时,增加了丢包率、时延的统计量和梯度来拓展状态空间,使得模型能够更好的学习到网络状态变化的特征,以便更准确地通过调控拥塞窗口来控制速率。
附图说明
29.图1是本发明的流程示意图。
30.图2是本发明的应用连接示意图。
具体实施方式
31.下面结合附图对本发明做进一步的详细说明。
32.本发明在具体实施时,如图1所示的实施例中,算法具体包括:
33.随机初始化critic network q和actor networkμ,并赋值给targetnetworkq’和μ’;
34.初始化replaybufferr;
35.forepisode=1,mdo;
36.随机初始化n步,后得到状态s;
37.fort=1,tdo
38.根据当前策略选取动作a;
39.执行动作a之后得到奖励r和下一步动作s’;
40.将(s,a,r,s’)存入r中;
41.从r中随机采样n个样本;
42.计算tdtarget:yi=ri+γq'(s',μ'(s'|θ
μ
')|θq');
43.通过最小化损失来更新critic network;
44.计算策略梯度来更新actor network;
45.更新targetnetwork:
46.θq'
←
τθq+(1-τ)θq'
47.θ
μ
'
←
τθ
μ
+(1-τ)θ
μ
'
48.endfor
49.endfor。
50.本发明的工作原理:本算法以ddpg模型为基础,将仿真环境中的输出的网络状态信息(如吞吐量、rtt、丢包率等)作为模型的输入,将对拥塞窗口的改变量(即发送速率的变化)视为动作,将更高的吞吐量和更低的时延和丢包率作为优化目标,在仿真的瓶颈链路网络中进行模型的训练。
51.以上显示和描述了本发明的基本原理和主要特征以及发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
技术特征:
1.一种基于ddpg的网络拥塞控制算法,其特征在于包括:随机初始化criticnetworkq和actornetworkμ,并赋值给targetnetworkq’和μ’;初始化replaybufferr;forepisode=1,mdo;随机初始化n步,后得到状态s;fort=1,tdo根据当前策略选取动作a;执行动作a之后得到奖励r和下一步动作s’;将(s,a,r,s’)存入r中;从r中随机采样n个样本;计算tdtarget:y
i
=r
i
+γq'(s',μ'(s'|θ
μ
')|θ
q
');通过最小化损失来更新critic network;计算策略梯度来更新actor network;更新targetnetwork:θ
q
'
←
τθ
q
+(1-τ)θ
q
'θ
μ
'
←
τθ
μ
+(1-τ)θ
μ
'endforendfor。
技术总结
本发明公开了一种基于DDPG的网络拥塞控制算法。本发明与现有技术相比的优点在于:基于DDPG算法来进行TCP拥塞控制,DDPG中的经验优先回放能够弱化连续动作之间的相关性,在处理环境的状态信息时,增加了丢包率、时延的统计量和梯度来拓展状态空间。计量和梯度来拓展状态空间。计量和梯度来拓展状态空间。
技术研发人员:怀丽敏
受保护的技术使用者:怀丽敏
技术研发日:2023.04.08
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
