CN112104563A - 一种拥塞控制方法及装置 - Google Patents
一种拥塞控制方法及装置 Download PDFInfo
- Publication number
- CN112104563A CN112104563A CN202010805888.1A CN202010805888A CN112104563A CN 112104563 A CN112104563 A CN 112104563A CN 202010805888 A CN202010805888 A CN 202010805888A CN 112104563 A CN112104563 A CN 112104563A
- Authority
- CN
- China
- Prior art keywords
- time point
- model
- state data
- network
- submodel
- 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.)
- Granted
Links
Images
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
-
- 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
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种拥塞控制方法及装置,该方法包括:对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型;根据训练好的强化学习模型,对目标网络进行拥塞控制。本申请实施例,可以适用于多个网络环境,提高了使用的灵活性。
Description
技术领域
本申请涉及技术领域,尤其涉及一种拥塞控制方法及装置。
背景技术
目前,计算机网络正得到迅猛的发展,网络用户规模也急剧上升,随之而来的网络拥塞问题越来越普遍。
之所以出现这种问题,主要是由于在一定时间段内到达网络设备的数据包过多,网络设备无法及时处理这些数据包,都堆积在缓冲区内导致的。一旦出现这种问题,会造成网络传输时延增加,网络传输效率急剧下降,严重时还可能出现死锁现象,导致网络瘫痪。
所以,在传输过程中,对网络进行拥塞控制是很必要的。在现有的一种实现方式中,可以采用QTCP(Q-learning based TCP,基于Q-learning的TCP拥塞控制协议)算法对网络进行拥塞控制,但是,这种控制方式仅适用于单一的网络环境下,进而导致使用的灵活性较差。
发明内容
为克服相关技术中存在的问题,本申请提供了一种拥塞控制方法及装置。
根据本申请实施例的第一方面,提供一种拥塞控制方法,所述方法包括:
对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型;
根据训练好的强化学习模型,对目标网络进行拥塞控制;
其中,通过以下方式得到训练好的强化学习模型:
针对设定的迭代轮次中的每一轮次,均执行以下操作:
针对目标强化学习模型对应的结构与其相同的每个子模型,将该子模型中的Actor网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,将该子模型中的Critic网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数;
根据该轮次中获取的该子模型对应的网络环境中的指定网络设备的状态数据、和针对该子模型设置的单次迭代的时间点集合中的时间点的总个数,确定该子模型中的Actor网络模型的梯度数据以及该子模型中的Critic网络模型的梯度数据,其中,不同的子模型对应的网络环境不同;
基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,以及基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数;
将最后一轮次得到的具有最新模型参数的目标强化学习模型,确定为训练好的强化学习模型。
根据本申请实施例的第二方面,提供一种拥塞控制装置,所述装置包括:
训练模块,用于对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型;
控制模块,用于根据训练好的强化学习模型,对目标网络进行拥塞控制;
其中,所述训练模块通过以下方式得到训练好的强化学习模型:
针对设定的迭代轮次中的每一轮次,均执行以下操作:
针对目标强化学习模型对应的结构与其相同的每个子模型,将该子模型中的Actor网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,将该子模型中的Critic网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数;
根据该轮次中获取的该子模型对应的网络环境中的指定网络设备的状态数据、和针对该子模型设置的单次迭代的时间点集合中的时间点的总个数,确定该子模型中的Actor网络模型的梯度数据以及该子模型中的Critic网络模型的梯度数据,其中,不同的子模型对应的网络环境不同;
基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,以及基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数;
将最后一轮次得到的具有最新模型参数的目标强化学习模型,确定为训练好的强化学习模型。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,为用于对网络进行拥塞控制的目标强化学习模型设置对应于不同网络环境的子模型,通过并行训练这些与对应的网络环境交互的子模型,可以快速完成对目标强化学习模型的训练,并依据训练好的强化学习模型,对目标网络进行拥塞控制,以及时调整数据包的发送速率。这种控制方式,可以适用于多个网络环境,提高了使用的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种拥塞控制方法的流程示意图;
图2为本申请实施例提供的一种拥塞控制装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种拥塞控制方法,如图1所示,该方法可以包括如下步骤:
S11、对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型。
S12、根据训练好的强化学习模型,对目标网络进行拥塞控制。
具体地,在本申请实施例中,可以通过以下方式实现上述步骤S11:
针对设定的迭代轮次中的每一轮次,均执行以下操作:
针对目标强化学习模型对应的结构与其相同的每个子模型,将该子模型中的Actor网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,将该子模型中的Critic网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数;
根据该轮次中获取的该子模型对应的网络环境中的指定网络设备的状态数据、和针对该子模型设置的单次迭代的时间点集合中的时间点的总个数,确定该子模型中的Actor网络模型的梯度数据以及该子模型中的Critic网络模型的梯度数据,其中,不同的子模型对应的网络环境不同;
基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,以及基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数;
将最后一轮次得到的具有最新模型参数的目标强化学习模型,确定为训练好的强化学习模型。
需要说明的是,上述方法可以由用于执行拥塞控制的设备执行,该设备可以为网络设备、服务器等。
在本申请实施例中,初始时,目标强化学习模型中的Actor网络模型的模型参数可以与其对应的所有子模型中的Actor网络模型的模型参数相同,也可以不同;相应地,目标强化学习模型中的Critic网络模型的模型参数可以与其对应的所有子模型中的Critic网络模型的模型参数相同,也可以不同。
在迭代训练过程中,由于不同的子模型对应不同的网络环境,可以并行确定每个子模型中的Actor网络模型的梯度数据以及每个子模型中的Critic网络模型的梯度数据,以快速训练适用于不同网络环境的目标强化学习模型。
在首轮次的迭代训练中,对于任一子模型而言,该子模型中的Actor网络模型的当前模型参数被赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,这里的最新模型参数实际上是指目标强化学习模型中的Actor网络模型的初始模型参数。
相应地,该子模型中的Critic网络模型的当前模型参数被赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数,这里的最新模型参数实际上是指目标强化学习模型中的Critic网络模型的初始模型参数。
在非首轮次的迭代训练中,对于任一子模型而言,该子模型中的Actor网络模型的模型参数被赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,这里的最新模型参数实际上是指经过上一轮次的迭代训练之后的目标强化学习模型所具有的模型参数。
相应地,该子模型中的Critic网络模型的模型参数被赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数,这里的最新模型参数实际上是指经过上一轮次的迭代训练之后的目标强化学习模型所具有的模型参数。
另外,在本申请实施例中,上述状态数据至少可以包括:指定网络设备在指定时间段内发送数据包的数量与接收到对应的响应数据包的数量的比值、指定网络设备在指定时间段内接收到的数据包的平均延迟值与在历史的指定时间段内接收到的数据包的最小平均延迟值的比值、以及指定网络设备在指定时间段内接收到的数据包的延迟梯度。
当然,上述状态数据也可以是使用现有QTCP算法时的状态数据,还可以是其他数据,在此不做具体限定。
具体地,在上述操作流程中,可以通过以下方式确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据:
从获取的状态数据中,获取时间点集合中的首个时间点的状态数据,其中,时间点集合中各个时间点之间的间隔时长相同;
将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中,得到速率变化率,将获取的首个时间点的状态数据输入至该子模型中的Critic网络模型中,得到获取的首个时间点的状态数据对应的状态价值;
根据得到的速率变化率,利用预设算法计算首个时间点的发送速率,并将计算出的发送速率作为针对首个时间点的状态数据选择的动作,指示指定网络设备按照间隔时长执行动作,即,指示网络设备在间隔时长内按照计算出的发送速率发送数据包;
再次获取指定网络设备在执行动作的时长达到间隔时长时产生的状态数据,将再次获取到的状态数据作为时间点集合中的下一个时间点的状态数据,并根据该网络环境在间隔时长内的网络吞吐量、网络时延和网络丢包率,计算动作对应的奖励值;
将下一个时间点的状态数据作为首个时间点的状态数据,返回执行将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中的步骤,直到得到时间点集合中的最后一个时间点的下一个时间点的状态数据对应的状态价值,并将得到的状态价值作为针对最后一个时间点的状态数据选择的动作对应的动作价值,其中,最后一个时间点的下一个时间点为与最后一个时间点间隔该间隔时长的时间点;
根据针对最后一个时间点的状态数据选择的动作对应的动作价值、和针对时间点集合中的每个时间点的状态数据选择的动作对应的奖励值,计算针对时间点集合中的每个时间点的状态数据选择的动作对应的动作价值;
针对时间点集合中的每个时间点,根据预设的策略函数、策略函数的熵项、针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Actor网络模型在该时间点的梯度,以及根据针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Critic网络网络模型在该时间点的梯度;
将该子模型中的Actor网络模型在所有时间点的梯度进行累加,得到该子模型中Actor网络模型的梯度数据;以及将该子模型中的Critic网络模型在所有时间点的梯度进行累加,得到该子模型中Critic网络模型的梯度数据。
更具体地,在确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据的过程中,可以通过以下公式一计算时间点集合中的每个时间点的发送速率:
其中,α为用于抑制震荡的比例因子;
at为第t个时间点的发送速率;
at-1为第t-1个时间点的发送速率;
在t=1时,at-1为初始发送速率。
在确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据的过程中,具体可以通过以下公式二计算针对时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
公式二:rt=d*throughput-e*latency-f*loss
其中,rt为针对第t个时间点的状态数据选择的动作对应的奖励值;
d、e和f为已知常量;
throughput为该网络环境在间隔时长内的网络吞吐量;
latency为该网络环境在间隔时长内的网络时延;
loss为该网络环境在间隔时长内的网络丢包率。
在确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据的过程中,在根据针对最后一个时间点的状态数据选择的动作对应的动作价值、和针对时间点集合中的每个时间点的状态数据选择的动作对应的奖励值,计算针对时间点集合中的每个时间点的状态数据选择的动作对应的动作价值时,针对时间点集合中的时间点,按照从后往前的顺序,依次通过以下公式三计算针对时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
公式三:Q(s,t)=rt+γQ(s,t+1)
其中,Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值,γ为衰减因子;
rt为针对第t个时间点的状态数据s选择的动作对应的奖励值;
Q(s,t+1)为针对第t+1个时间点的状态数据s选择的动作对应的动作价值。
在确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据的过程中,在计算该子模型中的Actor网络模型在时间点集合中的每个时间点的梯度时,具体可以通过以下公式四计算得到:
其中,dθ′为该子模型中使用的模型参数为θ′和ω′的Actor网络模型在第t个时间点的梯度;
α为步长参数,c为熵系数;
πθ′(st,at)为策略函数;
Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值;
V(st,ω′)为第t个时间点的状态数据s对应的状态价值;
在确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据的过程中,在计算该子模型中的Critic网络模型在时间点集合中的每个时间点的梯度时,具体可以通过以下公式五计算得到:
其中,β为步长参数;
公式五中的Q(s,t)的含义与公式四中的Q(s,t)的含义相同;
公式五中的V(st,ω′)的含义与公式四中的V(st,ω′)的含义相同。
需要说明的是,在本申请实施例中,在任一轮次的迭代训练中,在基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数时,具体可以对所有子模型中的Actor网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数;
相应地,在基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数时,具体可以对所有子模型中的Critic网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数。
由以上技术方案可以看出,在本申请实施例中,为用于对网络进行拥塞控制的目标强化学习模型设置对应于不同网络环境的子模型,通过并行训练这些与对应的网络环境交互的子模型,可以快速完成对目标强化学习模型的训练,并依据训练好的强化学习模型,对目标网络进行拥塞控制,以及时调整数据包的发送速率。这种控制方式,可以适用于多个网络环境,提高了使用灵活性。
基于同一发明构思,本申请还提供了一种拥塞控制装置,其结构示意图如图2所示,具体包括:
训练模块21,用于对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型;
控制模块22,用于根据训练好的强化学习模型,对目标网络进行拥塞控制;
其中,所述训练模块21通过以下方式得到训练好的强化学习模型:
针对设定的迭代轮次中的每一轮次,均执行以下操作:
针对目标强化学习模型对应的结构与其相同的每个子模型,将该子模型中的Actor网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,将该子模型中的Critic网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数;
根据该轮次中获取的该子模型对应的网络环境中的指定网络设备的状态数据、和针对该子模型设置的单次迭代的时间点集合中的时间点的总个数,确定该子模型中的Actor网络模型的梯度数据以及该子模型中的Critic网络模型的梯度数据,其中,不同的子模型对应的网络环境不同;
基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,以及基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数;
将最后一轮次得到的具有最新模型参数的目标强化学习模型,确定为训练好的强化学习模型。
优选地,所述状态数据至少包括:所述指定网络设备在指定时间段内发送数据包的数量与接收到对应的响应数据包的数量的比值、所述指定网络设备在所述指定时间段内接收到的数据包的平均延迟值与在历史的所述指定时间段内接收到的数据包的最小平均延迟值的比值、以及所述指定网络设备在所述指定时间段内接收到的数据包的延迟梯度。
优选地,所述训练模块,具体用于:
通过以下方式确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据:
从获取的状态数据中,获取所述时间点集合中的首个时间点的状态数据,其中,所述时间点集合中各个时间点之间的间隔时长相同;
将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中,得到速率变化率,将获取的首个时间点的状态数据输入至该子模型中的Critic网络模型中,得到获取的首个时间点的状态数据对应的状态价值;
根据得到的速率变化率,利用预设算法计算首个时间点的发送速率,并将计算出的发送速率作为针对首个时间点的状态数据选择的动作,指示所述指定网络设备按照所述间隔时长执行所述动作;
再次获取所述指定网络设备在执行所述动作的时长达到所述间隔时长时产生的状态数据,将再次获取到的状态数据作为所述时间点集合中的下一个时间点的状态数据,并根据该网络环境在所述间隔时长内的网络吞吐量、网络时延和网络丢包率,计算所述动作对应的奖励值;
将下一个时间点的状态数据作为首个时间点的状态数据,返回执行将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中的步骤,直到得到所述时间点集合中的最后一个时间点的下一个时间点的状态数据对应的状态价值,并将得到的状态价值作为针对最后一个时间点的状态数据选择的动作对应的动作价值,其中,最后一个时间点的下一个时间点为与最后一个时间点间隔所述间隔时长的时间点;
根据针对最后一个时间点的状态数据选择的动作对应的动作价值、和针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值,计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值;
针对所述时间点集合中的每个时间点,根据预设的策略函数、所述策略函数的熵项、针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Actor网络模型在该时间点的梯度,以及根据针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Critic网络网络模型在该时间点的梯度;
将该子模型中的Actor网络模型在所有时间点的梯度进行累加,得到该子模型中Actor网络模型的梯度数据;以及将该子模型中的Critic网络模型在所有时间点的梯度进行累加,得到该子模型中Critic网络模型的梯度数据。
优选地,所述训练模块,具体用于:
通过以下方式计算所述时间点集合中的每个时间点的发送速率:
通过以下公式一计算所述时间点集合中的每个时间点的发送速率:
其中,α为用于抑制震荡的比例因子;
at为第t个时间点的发送速率;
at-1为第t-1个时间点的发送速率;
在t=1时,at-1为初始发送速率。
优选地,所述训练模块,具体用于:
通过以下方式计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
通过以下公式二计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
公式二:rt=d*throughput-e*latency-f*loss
其中,rt为针对第t个时间点的状态数据选择的动作对应的奖励值;
d、e和f为已知常量;
throughput为该网络环境在所述间隔时长内的网络吞吐量;
latency为该网络环境在所述间隔时长内的网络时延;
loss为该网络环境在所述间隔时长内的网络丢包率;
通过以下方式计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
针对所述时间点集合中的时间点,按照从后往前的顺序,依次通过以下公式三计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
公式三:Q(s,t)=rt+γQ(s,t+1)
其中,Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值,γ为衰减因子;
rt为针对第t个时间点的状态数据s选择的动作对应的奖励值;
Q(s,t+1)为针对第t+1个时间点的状态数据s选择的动作对应的动作价值。
优选地,所述训练模块,具体用于:
通过以下方式计算该子模型中的Actor网络模型在所述时间点集合中的每个时间点的梯度:
通过以下公式四计算该子模型中的Actor网络模型在所述时间点集合中的每个时间点的梯度:
其中,dθ′为该子模型中使用的模型参数为θ′和ω′的Actor网络模型在第t个时间点的梯度;
α为步长参数,c为熵系数;
πθ′(st,at)为策略函数;
Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值;
V(st,ω′)为第t个时间点的状态数据s对应的状态价值;
通过以下方式计算该子模型中的Critic网络模型在所述时间点集合中的每个时间点的梯度:
通过以下公式五计算该子模型中的Critic网络模型在所述时间点集合中的每个时间点的梯度:
其中,β为步长参数;
公式五中的Q(s,t)的含义与公式四中的Q(s,t)的含义相同;
公式五中的V(st,ω′)的含义与公式四中的V(st,ω′)的含义相同。
优选地,所述训练模块,具体用于:
对所有子模型中的Actor网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数;
基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数,具体包括:
对所有子模型中的Critic网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数。
由以上技术方案可以看出,在本申请实施例中,为用于对网络进行拥塞控制的目标强化学习模型设置对应于不同网络环境的子模型,通过并行训练这些与对应的网络环境交互的子模型,可以快速完成对目标强化学习模型的训练,并依据训练好的强化学习模型,对目标网络进行拥塞控制,以及时调整数据包的发送速率。这种控制方式,可以适用于多个网络环境,提高了使用灵活性。
本申请实施例还提供了一种电子设备,如图3所示,包括处理器31和机器可读存储介质32,所述机器可读存储介质32存储有能够被所述处理器31执行的机器可执行指令,所述处理器31被所述机器可执行指令促使:实现上述拥塞控制方法的步骤。
上述的机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述拥塞控制方法的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种拥塞控制方法,其特征在于,所述方法包括:
对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型;
根据训练好的强化学习模型,对目标网络进行拥塞控制;
其中,通过以下方式得到训练好的强化学习模型:
针对设定的迭代轮次中的每一轮次,均执行以下操作:
针对目标强化学习模型对应的结构与其相同的每个子模型,将该子模型中的Actor网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,将该子模型中的Critic网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数;
根据该轮次中获取的该子模型对应的网络环境中的指定网络设备的状态数据、和针对该子模型设置的单次迭代的时间点集合中的时间点的总个数,确定该子模型中的Actor网络模型的梯度数据以及该子模型中的Critic网络模型的梯度数据,其中,不同的子模型对应的网络环境不同;
基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,以及基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数;
将最后一轮次得到的具有最新模型参数的目标强化学习模型,确定为训练好的强化学习模型。
2.根据权利要求1所述的方法,其特征在于,所述状态数据至少包括:所述指定网络设备在指定时间段内发送数据包的数量与接收到对应的响应数据包的数量的比值、所述指定网络设备在所述指定时间段内接收到的数据包的平均延迟值与在历史的所述指定时间段内接收到的数据包的最小平均延迟值的比值、以及所述指定网络设备在所述指定时间段内接收到的数据包的延迟梯度。
3.根据权利要求1或2所述的方法,其特征在于,通过以下方式确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据:
从获取的状态数据中,获取所述时间点集合中的首个时间点的状态数据,其中,所述时间点集合中各个时间点之间的间隔时长相同;
将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中,得到速率变化率,将获取的首个时间点的状态数据输入至该子模型中的Critic网络模型中,得到获取的首个时间点的状态数据对应的状态价值;
根据得到的速率变化率,利用预设算法计算首个时间点的发送速率,并将计算出的发送速率作为针对首个时间点的状态数据选择的动作,指示所述指定网络设备按照所述间隔时长执行所述动作;
再次获取所述指定网络设备在执行所述动作的时长达到所述间隔时长时产生的状态数据,将再次获取到的状态数据作为所述时间点集合中的下一个时间点的状态数据,并根据该网络环境在所述间隔时长内的网络吞吐量、网络时延和网络丢包率,计算所述动作对应的奖励值;
将下一个时间点的状态数据作为首个时间点的状态数据,返回执行将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中的步骤,直到得到所述时间点集合中的最后一个时间点的下一个时间点的状态数据对应的状态价值,并将得到的状态价值作为针对最后一个时间点的状态数据选择的动作对应的动作价值,其中,最后一个时间点的下一个时间点为与最后一个时间点间隔所述间隔时长的时间点;
根据针对最后一个时间点的状态数据选择的动作对应的动作价值、和针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值,计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值;
针对所述时间点集合中的每个时间点,根据预设的策略函数、所述策略函数的熵项、针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Actor网络模型在该时间点的梯度,以及根据针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Critic网络网络模型在该时间点的梯度;
将该子模型中的Actor网络模型在所有时间点的梯度进行累加,得到该子模型中Actor网络模型的梯度数据;以及将该子模型中的Critic网络模型在所有时间点的梯度进行累加,得到该子模型中Critic网络模型的梯度数据。
5.根据权利要求3所述的方法,其特征在于,通过以下方式计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
通过以下公式二计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
公式二:rt=d*throughput-e*latency-f*loss
其中,rt为针对第t个时间点的状态数据选择的动作对应的奖励值;
d、e和f为已知常量;
throughput为该网络环境在所述间隔时长内的网络吞吐量;
latency为该网络环境在所述间隔时长内的网络时延;
loss为该网络环境在所述间隔时长内的网络丢包率;
通过以下方式计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
针对所述时间点集合中的时间点,按照从后往前的顺序,依次通过以下公式三计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
公式三:Q(s,t)=rt+γQ(s,t+1)
其中,Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值,γ为衰减因子;
rt为针对第t个时间点的状态数据s选择的动作对应的奖励值;
Q(s,t+1)为针对第t+1个时间点的状态数据s选择的动作对应的动作价值。
6.根据权利要求5所述的方法,其特征在于,通过以下方式计算该子模型中的Actor网络模型在所述时间点集合中的每个时间点的梯度:
通过以下公式四计算该子模型中的Actor网络模型在所述时间点集合中的每个时间点的梯度:
其中,dθ′为该子模型中使用的模型参数为θ′和ω′的Actor网络模型在第t个时间点的梯度;
α为步长参数,c为熵系数;
πθ′(st,at)为策略函数;
Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值;
V(st,ω′)为第t个时间点的状态数据s对应的状态价值;
通过以下方式计算该子模型中的Critic网络模型在所述时间点集合中的每个时间点的梯度:
通过以下公式五计算该子模型中的Critic网络模型在所述时间点集合中的每个时间点的梯度:
其中,β为步长参数;
公式五中的Q(s,t)的含义与公式四中的Q(s,t)的含义相同;
公式五中的V(st,ω′)的含义与公式四中的V(st,ω′)的含义相同。
7.根据权利要求1所述的方法,其特征在于,基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,具体包括:
对所有子模型中的Actor网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数;
基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数,具体包括:
对所有子模型中的Critic网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数。
8.一种拥塞控制装置,其特征在于,所述装置包括:
训练模块,用于对包括有Actor网络模型和Critic网络模型、且用于对网络进行拥塞控制的目标强化学习模型进行迭代训练,得到训练好的强化学习模型;
控制模块,用于根据训练好的强化学习模型,对目标网络进行拥塞控制;
其中,所述训练模块通过以下方式得到训练好的强化学习模型:
针对设定的迭代轮次中的每一轮次,均执行以下操作:
针对目标强化学习模型对应的结构与其相同的每个子模型,将该子模型中的Actor网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Actor网络模型的最新模型参数,将该子模型中的Critic网络模型的当前模型参数赋为该轮次中目标强化学习模型中的Critic网络模型的最新模型参数;
根据该轮次中获取的该子模型对应的网络环境中的指定网络设备的状态数据、和针对该子模型设置的单次迭代的时间点集合中的时间点的总个数,确定该子模型中的Actor网络模型的梯度数据以及该子模型中的Critic网络模型的梯度数据,其中,不同的子模型对应的网络环境不同;
基于所有子模型中的Actor网络模型的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数,以及基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数;
将最后一轮次得到的具有最新模型参数的目标强化学习模型,确定为训练好的强化学习模型。
9.根据权利要求8所述的装置,其特征在于,所述状态数据至少包括:所述指定网络设备在指定时间段内发送数据包的数量与接收到对应的响应数据包的数量的比值、所述指定网络设备在所述指定时间段内接收到的数据包的平均延迟值与在历史的所述指定时间段内接收到的数据包的最小平均延迟值的比值、以及所述指定网络设备在所述指定时间段内接收到的数据包的延迟梯度。
10.根据权利要求8或9所述的装置,其特征在于,所述训练模块,具体用于:
通过以下方式确定该子模型中Actor网络模型的梯度数据以及每个子模型中Critic网络模型的梯度数据:
从获取的状态数据中,获取所述时间点集合中的首个时间点的状态数据,其中,所述时间点集合中各个时间点之间的间隔时长相同;
将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中,得到速率变化率,将获取的首个时间点的状态数据输入至该子模型中的Critic网络模型中,得到获取的首个时间点的状态数据对应的状态价值;
根据得到的速率变化率,利用预设算法计算首个时间点的发送速率,并将计算出的发送速率作为针对首个时间点的状态数据选择的动作,指示所述指定网络设备按照所述间隔时长执行所述动作;
再次获取所述指定网络设备在执行所述动作的时长达到所述间隔时长时产生的状态数据,将再次获取到的状态数据作为所述时间点集合中的下一个时间点的状态数据,并根据该网络环境在所述间隔时长内的网络吞吐量、网络时延和网络丢包率,计算所述动作对应的奖励值;
将下一个时间点的状态数据作为首个时间点的状态数据,返回执行将获取的首个时间点的状态数据输入至该子模型中的Actor网络模型中的步骤,直到得到所述时间点集合中的最后一个时间点的下一个时间点的状态数据对应的状态价值,并将得到的状态价值作为针对最后一个时间点的状态数据选择的动作对应的动作价值,其中,最后一个时间点的下一个时间点为与最后一个时间点间隔所述间隔时长的时间点;
根据针对最后一个时间点的状态数据选择的动作对应的动作价值、和针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值,计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值;
针对所述时间点集合中的每个时间点,根据预设的策略函数、所述策略函数的熵项、针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Actor网络模型在该时间点的梯度,以及根据针对该时间点的状态数据选择的动作对应的动作价值和该时间点的状态数据对应的状态价值,计算该子模型中的Critic网络网络模型在该时间点的梯度;
将该子模型中的Actor网络模型在所有时间点的梯度进行累加,得到该子模型中Actor网络模型的梯度数据;以及将该子模型中的Critic网络模型在所有时间点的梯度进行累加,得到该子模型中Critic网络模型的梯度数据。
12.根据权利要求10所述的装置,其特征在于,所述训练模块,具体用于:
通过以下方式计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
通过以下公式二计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的奖励值:
公式二:rt=d*throughput-e*latency-f*loss
其中,rt为针对第t个时间点的状态数据选择的动作对应的奖励值;
d、e和f为已知常量;
throughput为该网络环境在所述间隔时长内的网络吞吐量;
latency为该网络环境在所述间隔时长内的网络时延;
loss为该网络环境在所述间隔时长内的网络丢包率;
通过以下方式计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
针对所述时间点集合中的时间点,按照从后往前的顺序,依次通过以下公式三计算针对所述时间点集合中的每个时间点的状态数据选择的动作对应的动作价值:
公式三:Q(s,t)=rt+γQ(s,t+1)
其中,Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值,γ为衰减因子;
rt为针对第t个时间点的状态数据s选择的动作对应的奖励值;
Q(s,t+1)为针对第t+1个时间点的状态数据s选择的动作对应的动作价值。
13.根据权利要求12所述的装置,其特征在于,所述训练模块,具体用于:
通过以下方式计算该子模型中的Actor网络模型在所述时间点集合中的每个时间点的梯度:
通过以下公式四计算该子模型中的Actor网络模型在所述时间点集合中的每个时间点的梯度:
其中,dθ′为该子模型中使用的模型参数为θ′和ω′的Actor网络模型在第t个时间点的梯度;
α为步长参数,c为熵系数;
πθ′(st,at)为策略函数;
Q(s,t)为针对第t个时间点的状态数据s选择的动作对应的动作价值;
V(st,ω′)为第t个时间点的状态数据s对应的状态价值;
通过以下方式计算该子模型中的Critic网络模型在所述时间点集合中的每个时间点的梯度:
通过以下公式五计算该子模型中的Critic网络模型在所述时间点集合中的每个时间点的梯度:
其中,β为步长参数;
公式五中的Q(s,t)的含义与公式四中的Q(s,t)的含义相同;
公式五中的V(st,ω′)的含义与公式四中的V(st,ω′)的含义相同。
14.根据权利要求8所述的装置,其特征在于,所述训练模块,具体用于:
对所有子模型中的Actor网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Actor网络模型的模型参数;
基于所有子模型中的Critic网络模型的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数,具体包括:
对所有子模型中的Critic网络模型的梯度数据进行累加,根据累加后的梯度数据,更新该轮次中目标强化学习模型中的Critic网络模型的模型参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805888.1A CN112104563B (zh) | 2020-08-12 | 2020-08-12 | 一种拥塞控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805888.1A CN112104563B (zh) | 2020-08-12 | 2020-08-12 | 一种拥塞控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104563A true CN112104563A (zh) | 2020-12-18 |
CN112104563B CN112104563B (zh) | 2022-08-30 |
Family
ID=73753504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010805888.1A Active CN112104563B (zh) | 2020-08-12 | 2020-08-12 | 一种拥塞控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104563B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079104A (zh) * | 2021-03-22 | 2021-07-06 | 新华三技术有限公司 | 一种网络拥塞控制方法、装置及设备 |
CN113872877A (zh) * | 2021-09-27 | 2021-12-31 | 中国电信股份有限公司 | 网络拥塞控制方法及装置、存储介质及电子设备 |
CN115412437A (zh) * | 2022-08-17 | 2022-11-29 | Oppo广东移动通信有限公司 | 数据处理方法及装置、设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110134751A1 (en) * | 2007-11-08 | 2011-06-09 | Radu Victor Balan | Method for Congestion Detection in Packet Transmission Networks |
CN107171842A (zh) * | 2017-05-22 | 2017-09-15 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN110278149A (zh) * | 2019-06-20 | 2019-09-24 | 南京大学 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111416774A (zh) * | 2020-03-17 | 2020-07-14 | 深圳市赛为智能股份有限公司 | 网络拥塞控制方法、装置、计算机设备及存储介质 |
-
2020
- 2020-08-12 CN CN202010805888.1A patent/CN112104563B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110134751A1 (en) * | 2007-11-08 | 2011-06-09 | Radu Victor Balan | Method for Congestion Detection in Packet Transmission Networks |
CN107171842A (zh) * | 2017-05-22 | 2017-09-15 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN110278149A (zh) * | 2019-06-20 | 2019-09-24 | 南京大学 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111416774A (zh) * | 2020-03-17 | 2020-07-14 | 深圳市赛为智能股份有限公司 | 网络拥塞控制方法、装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079104A (zh) * | 2021-03-22 | 2021-07-06 | 新华三技术有限公司 | 一种网络拥塞控制方法、装置及设备 |
CN113079104B (zh) * | 2021-03-22 | 2022-09-30 | 新华三技术有限公司 | 一种网络拥塞控制方法、装置及设备 |
CN113872877A (zh) * | 2021-09-27 | 2021-12-31 | 中国电信股份有限公司 | 网络拥塞控制方法及装置、存储介质及电子设备 |
CN115412437A (zh) * | 2022-08-17 | 2022-11-29 | Oppo广东移动通信有限公司 | 数据处理方法及装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112104563B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112104563B (zh) | 一种拥塞控制方法及装置 | |
CN111092823B (zh) | 一种自适应调节拥塞控制初始窗口的方法和系统 | |
US20230153124A1 (en) | Edge network computing system with deep reinforcement learning based task scheduling | |
CN113259255B (zh) | 一种网络拥塞控制方法、装置、终端及存储介质 | |
CN113568727A (zh) | 一种基于深度强化学习的移动边缘计算任务分配方法 | |
CN110519816B (zh) | 一种无线漫游控制方法、装置、存储介质及终端设备 | |
CN113015219B (zh) | 基于策略梯度的网络资源选择方法、装置以及存储介质 | |
EP2399202A1 (en) | Method and system for calculating value of website visitor | |
CN111142942A (zh) | 窗口数据的处理方法、装置、服务器及存储介质 | |
US20210334128A1 (en) | Asynchronous quantum information processing | |
CN112383485B (zh) | 一种网络拥塞控制方法及装置 | |
WO2013075489A1 (zh) | 检测报文心跳周期的自适应方法和装置 | |
CN114866489A (zh) | 拥塞控制方法和装置及拥塞控制模型的训练方法和装置 | |
CN113762527A (zh) | 一种数据处理方法、系统、存储介质及电子设备 | |
CN116055406B (zh) | 拥塞窗口预测模型的训练方法及装置 | |
CN115174419A (zh) | 截止时延约束下基于信息年龄的工业物联网调度方法 | |
CN111340192A (zh) | 网络路径分配模型训练方法、路径分配方法、以及装置 | |
CN113452546A (zh) | 深度学习训练通信的动态服务质量管理 | |
CN112491736A (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
CN116055489A (zh) | 一种基于ddpg算法选择车辆的异步联邦优化方法 | |
WO2019081756A1 (en) | AUTOMATIC LEARNING SYSTEM | |
CN113079044B (zh) | 一种基于强化学习的丢包控制方法和计算机设备 | |
CN115220818A (zh) | 基于深度强化学习的实时依赖型任务卸载方法 | |
CN113312169B (zh) | 一种计算资源的分配方法及装置 | |
CN113556780A (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 |