CN113079044B - 一种基于强化学习的丢包控制方法和计算机设备 - Google Patents
一种基于强化学习的丢包控制方法和计算机设备 Download PDFInfo
- Publication number
- CN113079044B CN113079044B CN202110326078.2A CN202110326078A CN113079044B CN 113079044 B CN113079044 B CN 113079044B CN 202110326078 A CN202110326078 A CN 202110326078A CN 113079044 B CN113079044 B CN 113079044B
- Authority
- CN
- China
- Prior art keywords
- packet loss
- training
- state information
- value
- determining
- 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
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于强化学习的丢包控制方法和计算机设备,基于强化学习的丢包控制方法包括:每间隔预设控制时长,确定路由器的状态信息,其中,状态信息包括:若干时刻各自分别对应的队列长度值;将状态信息和预设的动作集合作为已训练的网络模型的输入项,通过已训练的网络模型确定TCP丢包概率和无响应丢包概率;设定路由器按照TCP丢包概率和无响应丢包概率进行丢包处理。本发明每间隔预设控制时长确定状态信息,并确定该状态信息下的TCP丢包概率和无响应丢包概率,进而按照TCP丢包概率和无响应丢包概率进行丢包处理,即每间隔预设控制时长均为按照网络的状态信息调整丢包概率,进而可以适用于复杂多变的网络环境。
Description
技术领域
本申请涉及计算机网络领域,特别是涉及一种基于强化学习的丢包控制方法和计算机设备。
背景技术
大多数Internet通信(包括HTTP,FTP,TELNET和电子邮件通信)都由TCP协议承载。TCP由于其拥塞控制机制的成功而被广泛使用。具有TCP功能的终端主机根据网络条件协同调整其传输速率,可以在大量用户之间公平地共享带宽。TCP拥塞控制机制可防止网络过载,并已成为Internet健壮性和稳定性的关键因素。
随着更多终端设备的连接,互联网将变得更加拥挤,已经不能仅依赖TCP拥塞控制机制避免网络拥塞。目前,采用主动队列管理算法可以有效地增强TCP的传输性能,但是主动队列管理算法大多依赖人工选定参数,在复杂多变的网络环境中,无法达到较好的效果。
因此,现有技术有待改进。
发明内容
本发明所要解决的技术问题是,主动队列管理算法无法适应复杂多变的网络环境,提供了一种基于强化学习的丢包控制方法和计算机设备,可以实时根据状态信息确定TCP丢包概率和无响应丢包概率,适用于复杂多变的网络环境。
第一方面,本发明实施例提供了一种基于强化学习的丢包控制方法,包括:
每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;
将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;
设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。
作为进一步的改进技术方案,所述确定路由器的状态信息,具体包括:
将确定路由器的状态信息的时刻作为目标时刻;
基于所述目标时刻、预设的第一时长、预设的第二时长确定第一时刻和第二时刻,其中,所述第一时刻是在所述目标时刻之前,距离所述目标时刻第一预设时长的时刻,所述第二时刻是在所述目标时刻之前,距离所述目标时刻第二预设时长的时刻;
根据所述第一时刻至所述第二时刻之间的每个时刻各自分别对应的队列长度值确定状态信息。
作为进一步的改进技术方案,所述动作集合中包括多个动作,每个动作均为丢包概率;所述将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率,具体包括:
将所述状态信息和所述动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型输出目标价值;
将所述目标价值对应的动作作为TCP丢包概率,并基于所述TCP丢包概率确定无响应丢包概率。
作为进一步的改进技术方案,所述将所述状态信息和所述动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型输出目标价值,具体包括:
对于每个动作,所述已训练的网络模型基于该动作和所述状态信息,确定该动作对应的价值;
在确定得到的所述多个动作各自分别对应的价值中选取最高价值,将所述最高价值作为目标价值并输出。
作为进一步的改进技术方案,所述基于所述TCP丢包概率确定无响应丢包概率,具体包括:
计算所述TCP丢包概率对应的二倍值,并选取所述二倍值和第一预设数值中的最小值,将选取的最小值作为无响应丢包概率。
作为进一步的改进技术方案,所述已训练的网络模型的训练过程包括:
获取初始训练状态信息,以及获取初始网络模型和预设的训练动作集合,其中,所述训练动作集合中包括多个训练动作,训练动作用于反映训练TCP丢包概率;
将所述初始训练状态信息和所述训练动作集合输入所述初始网络模型,通过所述初始网络模型确定目标训练价值,并在所述训练动作集合中确定所述目标训练价值对应的候选动作;
基于所述候选动作确定候选状态信息,并确定所述候选状态信息对应的奖励值和终止状态;
基于所述初始训练状态信息、所述候选动作、所述候选状态信息、所述奖励值和所述终止状态,确定所述初始训练状态信息对应的经验五元组;
将所述候选状态信息作为所述初始训练状态信息,并继续执行将所述初始训练状态信息和所述训练动作集合输入所述初始网络模型的步骤,直至得到第二预设数值个经验五元组;
确定每个经验五元组各自分别对应的目标经验价值,并基于所述每个经验五元组各自分别对应的目标经验价值确定损失值,通过所述损失值修改所述初始网络模型的模型参数,并继续执行所述将所述初始训练状态信息输入所述初始网络模型的步骤,直至满足所述初始网络模型的训练条件,以得到已训练的网络模型。
作为进一步的改进技术方案,所述基于所述多个训练价值,在所述多个训练动作中确定候选动作,具体包括:
对于每个训练动作,若该训练动作是所述目标训练价值对应训练动作,则通过第一规则确定该训练动作的选择概率,若该训练动作不是所述目标训练价值对应的训练动作,则通过第二规则确定该训练动作的选择概率;
根据每个训练动作各自分别对应的选择概率,在所述多个训练动作中确定候选动作。
作为进一步的改进技术方案,所述第一规则包括:
所述第二规则包括:
其中,π为选择概率,m为所述动作集合中训练动作的个数,∈为训练轮次参数。
第二方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;
将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;
设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;
将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;
设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。
与现有技术相比,本发明实施例具有以下优点:
根据本发明实施方式提供的方法,每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。本发明每间隔预设控制时长确定状态信息,并确定该状态信息下的TCP丢包概率和无响应丢包概率,进而按照TCP丢包概率和所述无响应丢包概率进行丢包处理,也就是说,每间隔预设控制时长均为按照网络的状态信息调整丢包概率,进而本发明提供的丢包控制方法可以适用于复杂多变的网络环境。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于强化学习的丢包控制方法的流程示意图;
图2为本发明实施例中,k在几种不同取值下,训练奖励与迭代次数之间的曲线图;
图3为本发明实施例中,对初始网络模型的进行训练,得到已训练的网络模型的流程示意图;
图4为本发明实施例中参数γ在不同的倍数下,训练奖励与迭代次数之间的曲线图;
图5为本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,大多数Internet通信(包括HTTP,FTP,TELNET和电子邮件通信)都由TCP协议承载。TCP由于其拥塞控制机制的成功而被广泛使用。具有TCP功能的终端主机根据网络条件协同调整其传输速率,可以在大量用户之间公平地共享带宽。TCP拥塞控制机制可防止网络过载,并已成为Internet健壮性和稳定性的关键因素。
随着更多终端设备的连接,互联网将变得更加拥挤,已经不能仅依赖TCP拥塞控制机制避免网络拥塞。目前,采用主动队列管理算法可以有效地增强TCP的传输性能,但是主动队列管理算法大多依赖人工选定参数,在复杂多变的网络环境中,无法达到较好的效果。
为了解决上述问题,在本发明实施例中,每间隔预设控制时长获取路由器的队列信息,并基于所述队列信息确定状态信息;将所述状态信息作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。本发明每间隔预设控制时长确定状态信息,并确定该状态信息下的TCP丢包概率和无响应丢包概率,进而按照TCP丢包概率和所述无响应丢包概率进行丢包处理,也就是说,每间隔预设控制时长均为按照网络的状态信息调整丢包概率,进而本发明提供的丢包控制方法可以适用于复杂多变的网络环境。
本申请提供的一种强化学习的丢包控制方法可以应用于电子设备中,其中,所述电子设备可以以各种形式来实现,例如,PC机、服务器、手机、平板电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)等。另外,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述电子设备至少包括处理器和存储介质。
下面结合附图,详细说明本发明的各种非限制性实施方式。
参见图1,示出了本发明实施例中的一种基于强化学习的丢包控制方法。在本实施例中,所述方法例如可以包括以下步骤:
S1、每间隔预设控制时长确定路由器的状态信息。
在本发明实施例中,从路由器开始工作时开始,每间隔预设时长确定路由器的状态信息;状态信息包括路由器在多个时刻下的队列值。
具体的,步骤S1包括:
S11、将确定路由器的状态信息的时刻作为目标时刻;
S12、基于所述目标时刻、预设的第一时长、预设的第二时长确定第一时刻和第二时刻,其中,所述第一时刻是在所述目标时刻之前,距离所述目标时刻第一预设时长的时刻,所述第二时刻是在所述目标时刻之前,距离所述目标时刻第二预设时长的时刻。
在本发明实施例中,将所述第一时长记为k,将所述第二时长记为d。第一时长是指:状态信息对应的时长,也就是说,状态信息包括多个时刻下的队列值,其中,多个时刻中的起始时刻到终止时刻之间的时长为第一时长。第二时长是指:改变路由器的丢包概率,至网络的发送节点根据改变后的丢包概率执行丢包之间所需的时长;将目标时刻记为t,将第一时刻记为t-(k+d),第二时刻记为t-d。
S13、根据所述第一时刻至所述第二时刻之间的每个时刻各自分别对应的队列长度值确定状态信息。
在本发明实施例中,状态信息表示为:st=(qt-(k+d),…,qt-d),其中,qt-(k+d)为第一时刻t-(k+d)路由器队列的长度值,qt-d是第二时刻t-d路由器队列的长度值,st是目标时刻对应的状态信息,1≤d≤5,1≤k≤15。
在本发明实施例中,第一时长k的取值范围是通过多次试验确定的,如图2所示,包括在k=1、k=5、k=15几种情况下,训练奖励与迭代次数之间的曲线图,可见,随着迭代次数增加,这几种情况都可以得到不错的训练奖励。
S2、将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率。
在本发明实施例中,所述动作集合中包括多个动作,每个动作均为丢包概率。所述已训练的网络模型的输入项是状态信息和预设的动作集合,输出项是目标价值,通过目标价值可以确定TCP丢包概率和无响应丢包概率。所述已训练的网络模型是对初始网络模型进行训练得到的,对初始网络模型的进行训练,得到已训练的网络模型的过程会在后文介绍。
具体的,步骤S2包括:
S21、将所述状态信息和所述动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型输出目标价值。
在本发明实施例中,基于所述状态信息、所述动作集合和已训练的网络模型的模型参数得到目标价值,如公式(1)所示。
P=Q(st,A,w) (1)
其中,P是目标价值,Q是已训练的网络模型,st是状态信息,A是所述动作集合,w是已训练的网络模型的模型参数。
在本发明实施例中,对于每个动作,所述已训练的网络模型基于该动作和所述状态信息,确定该动作对应的价值。也就是说,已训练的网络模型每次处理一个动作和状态信息,得到该动作对应的价值,下一次再处理下一个动作和状态信息,得到下一个动作对应的价值,进而得到每个动作各自分别对应的价值。
在确定得到的每个动作各自分别对应的价值中选取最高价值,将所述最高价值作为目标价值并输出。也就是说,已训练的网络在多个价值中确定最高价值为目标价值,并输出目标价值。每个价值均通过数值表示,例如,0.5,0.1。最高价值是指:值最大的价值。
S22、将所述目标价值对应的动作作为TCP丢包概率,并基于所述TCP丢包概率确定无响应丢包概率。
在本发明实施例中,由于多个价值各自分别与多个动作相对应,所述目标价值也有其对应的动作。在一种实现方式中,多个价值和多个动作之间的对应关系可以通过位置标识确定。例如,每个价值均有各自分别对应的第一位置标识,每个动作均有各自分别对应的第二位置标识,所述多个价值通过位置标识与所述多个动作一一对应,当一个动作的第一位置标识与一个价值的第二位置标识相等时,该动作和该价值相对应。
在本发明实施例中,根据多个价值和多个动作之间的对应关系,确定目标价值对应的动作,并将目标价值对应的动作作为TCP丢包概率。
具体的,基于所述TCP丢包概率确定无响应丢包概率,包括:
S221、计算所述TCP丢包概率对应的二倍值,并选取所述二倍值和第一预设数值中的最小值,将所述最小值作为无响应丢包概率。
在本发明实施例中,可以将第一预设数值设置为1,将TCP丢包概率记为PTCP,根据公式(2)确定无响应丢包概率。
Punresponsed=min(2×PTCP,1) (2)
其中,Punresponsed是无响应丢包概率。当最小值为2×PTCP时,则无响应丢包概率为2×PTCP,当最小值为1时,则无响应丢包概率为1。
S3、设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。
在本发明实施例中,路由器分别采用PTCP和Punresponsed两个概率值进行丢包处理,并且持续所述预设控制时长,持续预设控制时长后,再进入步骤S1,进而实现路由器的TCP丢包概率和无响应丢包概率每间隔预设控制时长则根据状态信息进行调整,以适用于复杂多变的网络环境。
参见图3,接下来介绍对初始网络模型的进行训练,得到已训练的网络模型的过程。
M1、获取初始训练状态信息,以及获取初始网络模型和预设的训练动作集合。
在本发明实施例中,所述初始训练状态信息是路由器在训练时刻获取的,将初始训练状态信息记为Et0,具体的,Et0=(qt0-(k+d),…,qt0-d),其中,t0是训练时刻,获取训练时刻对应的初始训练状态信息的具体过程,与步骤S1中确定状态信息st的过程相同,进而,获取初始训练状态信息的过程可以参考步骤S1的说明。
在本发明实施例中,初始网络模型配置有初始化模型参数,初始网络模型记为Q′,初始化模型参数记为w′。设定一个对比网络模型,所述对比网络模型与所述初始网络模型结构一致,模型参数一致,对比网络模型记为Ql,对比网络模型的模型参数记为wl。
预设的训练动作集合包括多个训练动作,训练动作用于反映训练TCP丢包概率。
M2、将所述初始训练状态信息和所述训练动作集合输入所述初始网络模型,通过所述初始网络模型确定目标训练价值,并在所述训练动作集合中确定所述目标训练价值对应的候选动作。
在本发明实施例中,将所述初始训练状态信息和所述训练动作集合作为初始网络模型的输入项,所述初始网络模型输出目标训练价值。具体的,对于每个训练动作,初始网络模型根据该训练动作和初始训练状态信息确定该训练动作对应的训练价值,再在每个训练动作各自分别对应的训练价值中选取最高训练价值,作为目标训练价值。所述初始网络模型根据初始训练状态信息和训练动作集合确定目标训练价值的过程,与步骤S21中,已训练的网络模型根据状态信息和动作集合输出目标价值的过程相同,因此,对于初始网络模型确定目标训练价值的过程,可以参见步骤S21的说明。
在本发明实施例中,通过∈-贪婪法在所述多个训练动作中确定候选动作。具体的,对于每个训练动作,若该训练动作是所述目标训练价值对应训练动作,则通过第一规则确定该训练动作的选择概率,若该训练动作不是所述目标训练价值对应的训练动作,则通过第二规则确定该训练动作的选择概率;根据每个训练动作各自分别对应的选择概率,在所述多个训练动作中确定候选动作。
第一规则如公式(3)所示,第二规则如公式(4)所示。
在确定每个训练动作各自分别对应的选择概率后,可以将所有选择概率中最高的选择概率对应的训练动作作为候选动作,或者,将所有选择概率按照从高到低的顺序排列,得到选择概率队列,获取处于所述选择概率队列中的前h个选择概率,再在所述h个选择概率中随机选取一个选择概率,将随机选取的选择概率所对应的训练动作作为候选动作,将Et0对应的候选动作记为at0。
M3、基于所述候选动作确定候选状态信息,以及确定所述候选状态信息对应的奖励值和终止状态。
在本发明实施例中,基于所述候选动作确定候选状态信息的过程,包括:将所述候选动作作为训练TCP丢包概率,基于所述训练TCP丢包概率确定训练无响应丢包概率,并设定路由器执行所述训练TCP丢包概率和所述训练无响应丢包概率,在路由器按照此设定运行一段时间后,确定候选状态信息Etx。其中,基于所述训练TCP丢包概率确定训练无响应丢包概率的过程,与步骤S223中的过程相同,因此,基于所述训练TCP丢包概率确定训练无响应丢包概率的过程可以参见步骤S223的说明;在路由器按照此设定运行一段时间后,确定候选状态信息的过程,与步骤S1中获取状态信息的过程相同,因此,在路由器按照此设定运行一段时间后,确定候选状态信息的过程可以参见步骤S1的说明。
在本发明实施例中,所述确定所述候选状态信息对应的奖励值的具体公式如公式(5)所示。
rtx=5*throughput-10*latency+100*fairness (5)
其中,rtx是tx时刻的奖励值,tx时刻是确定候选状态信息Etx的时刻,throughput为路由器在tx时刻的网络吞吐量,代表每秒的发包数量,latency为路由器在tx时刻的网络延迟,单位为秒,fairness为路由器在tx时刻的公平性衡量指标。fairness∈[0,1],公平性衡量指标的计算过程如公式(6)所示。
其中,N为tx时刻经过路由器的网络流,xi为第i个网络流tx时刻传输包的总和。
在本发明实施例中,所述终止状态可以直接获取,当路由器中队列长度值为0时,终止状态为真,当路由器中队列长度值不为0时,终止状态为假。
M4、基于所述初始训练状态信息、所述候选动作、所述候选状态信息、所述奖励值和所述终止状态,确定所述初始训练状态信息对应的经验五元组。
在本发明实施例中,将终止状态记为is_end,五元组表示为:{Et0,at0,rtx,Etx,is_end},Et0是初始训练状态信息,at0是Et0对应的候选动作、Etx是候选状态信息、rtx是奖励值,is_end是终止状态。
M5、将所述候选状态信息作为所述初始训练状态信息,并继续执行所述将所述初始训练状态信息输入所述待更新网络模型的步骤,直至得到第二预设数值个经验五元组。
在本发明实施例中,重复执行步骤M1至步骤M4,直至得到第二预设数值个经验五元组,由第二预设数值个经验五元组得到经验回放集合D。将第二预设数值记为n,也就是说,经验回放集合D中包括n个经验五元组。
M6、确定每个经验五元组各自分别对应的目标经验价值,并基于所述每个经验五元组各自分别对应的目标经验价值确定损失值,通过所述损失值修改所述初始网络模型的模型参数,并继续执行所述将所述初始训练状态信息输入所述初始网络模型的步骤,直至满足所述初始网络模型的训练条件,以得到已训练的网络模型。
在本发明实施例中,经验回放集合D的n个经验五元组表示为:{Et0j,at0j,rtxj,Etxj,is_endj},j=1,2,3,…,n。确定每个检验五元组各自分别对应的目标经验价值的过程,如公式(7)所示。
其中,yj是第j个检验五元组的目标经验价值,rj是第j个检验五元组的奖励值,是第j个检验五元组的终止状态,γ是预设的参数,atx是将Etx和训练动作集合输入对比网络模型,得到的最大训练价值对应的候选动作,Ql(Etxj,atxj,wl)表示:将Etx和训练动作集合输入对比网络模型,得到的最大训练价值。公式(7)的意思是,对于第j个检验五元组,若第j个检验五元组的终止状态为真,则将第j个检验五元组的奖励值作为第j个检验五元组的目标经验价值,若第j个检验五元组的终止状态为假,则将的计算结果作为第j个检验五元组的目标经验价值。
在本发明实施例中,在训练时,预设的参数γ在不同的倍数下,训练奖励有不同的表现。如图4所示,包括γ分别在0倍、0.5倍和0.99倍的情况下,训练奖励与迭代次数之间的曲线图,可见,随着迭代次数增加,γ在0.99倍时得到的训练奖励更高。
在本发明实施例中,确定损失值的过程如公式(8)所示。
其中,LOSS是损失值,yj第j个检验五元组的目标经验价值,Q′是初始网络模型,Etx(j-1)是第j-1个检验五元组中的训练状态信息,atx(j-1)第j-1个检验五元组中的候选动作,Q′(Etx(j-1),atx(j-1),w′)表示将Etx(j-1)输入初始网络模型,得到的与第j-1个检验五元组中的候选动作对应的经验价值。
在本发明实施例中,通过损失值修改初始网络模型的模型参数,在一个迭代轮次中,当第j个检验五元组中的终止状态为真,则此轮次训练结束,开始下一个迭代轮次。当迭代轮次满足:i%C=1,则将对比网络模型中的模型参数修改为迭代模型参数,所述迭代模型参数,是当前轮次中初始网络模型的模型参数,其中,i%C是指i除以C的余数,C为一个固定的常数,20≤C≤100。也就是说,每当迭代轮次满足i%C=1时,将对比网络模型的模型参数与当前的初始网络模型的模型参数设置为一致。
在本发明实施例中,所述初始网络模型的训练条件可以是初始网络模型的训练次数达到预设次数,预设次数可以是10000。当初始网络模型的训练次数达到预设次数时,初始网络模型收敛,得到已训练的网络模型,训练次数达到预设次数时的模型参数为已训练的网络模型的模型参数。
在本发明实施例中,每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。本发明每间隔预设控制时长确定状态信息,并确定该状态信息下的TCP丢包概率和无响应丢包概率,进而按照TCP丢包概率和所述无响应丢包概率进行丢包处理,也就是说,每间隔预设控制时长均为按照网络的状态信息调整丢包概率,进而本发明提供的丢包控制方法可以适用于复杂多变的网络环境。
在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于强化学习的丢包控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;
将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;
设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;
将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;
设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
Claims (9)
1.一种基于强化学习的丢包控制方法,其特征在于,所述基于强化学习的丢包控制方法包括:
每间隔预设控制时长,确定路由器的状态信息,其中,所述状态信息包括:若干时刻各自分别对应的队列长度值;
将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率;
设定所述路由器按照所述TCP丢包概率和所述无响应丢包概率进行丢包处理;
所述已训练的网络模型的训练过程包括:
获取初始训练状态信息,以及获取初始网络模型和预设的训练动作集合,其中,所述训练动作集合中包括多个训练动作,训练动作用于反映训练TCP丢包概率;
将所述初始训练状态信息和所述训练动作集合输入所述初始网络模型,通过所述初始网络模型确定目标训练价值,并在所述训练动作集合中确定所述目标训练价值对应的候选动作;
基于所述候选动作确定候选状态信息,并确定所述候选状态信息对应的奖励值和终止状态;
基于所述初始训练状态信息、所述候选动作、所述候选状态信息、所述奖励值和所述终止状态,确定所述初始训练状态信息对应的经验五元组;
将所述候选状态信息作为所述初始训练状态信息,并继续执行将所述初始训练状态信息和所述训练动作集合输入所述初始网络模型的步骤,直至得到第二预设数值个经验五元组;
确定每个经验五元组各自分别对应的目标经验价值,并基于所述每个经验五元组各自分别对应的目标经验价值确定损失值,通过所述损失值修改所述初始网络模型的模型参数,并继续执行所述将所述初始训练状态信息输入所述初始网络模型的步骤,直至满足所述初始网络模型的训练条件,以得到已训练的网络模型。
2.根据权利要求1所述的基于强化学习的丢包控制方法,其特征在于,所述确定路由器的状态信息,具体包括:
将确定路由器的状态信息的时刻作为目标时刻;
基于所述目标时刻、预设的第一时长、预设的第二时长确定第一时刻和第二时刻,其中,所述第一时刻是在所述目标时刻之前,距离所述目标时刻第一预设时长的时刻,所述第二时刻是在所述目标时刻之前,距离所述目标时刻第二预设时长的时刻;
根据所述第一时刻至所述第二时刻之间的每个时刻各自分别对应的队列长度值确定状态信息。
3.根据权利要求1所述的基于强化学习的丢包控制方法,其特征在于,所述动作集合中包括多个动作,每个动作均为丢包概率;所述将所述状态信息和预设的动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型确定TCP丢包概率和无响应丢包概率,具体包括:
将所述状态信息和所述动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型输出目标价值;
将所述目标价值对应的动作作为TCP丢包概率,并基于所述TCP丢包概率确定无响应丢包概率。
4.根据权利要求3所述的基于强化学习的丢包控制方法,其特征在于,所述将所述状态信息和所述动作集合作为已训练的网络模型的输入项,通过所述已训练的网络模型输出目标价值,具体包括:
对于每个动作,所述已训练的网络模型基于该动作和所述状态信息,确定该动作对应的价值;
在确定得到的所述多个动作各自分别对应的价值中选取最高价值,将所述最高价值作为目标价值并输出。
5.根据权利要求3所述的基于强化学习的丢包控制方法,其特征在于,所述基于所述TCP丢包概率确定无响应丢包概率,具体包括:
计算所述TCP丢包概率对应的二倍值,并选取所述二倍值和第一预设数值中的最小值,将选取的最小值作为无响应丢包概率。
6.根据权利要求1所述的基于强化学习的丢包控制方法,其特征在于,所述在所述训练动作集合中确定所述目标训练价值对应的候选动作,具体包括:
对于每个训练动作,若该训练动作是所述目标训练价值对应训练动作,则通过第一规则确定该训练动作的选择概率,若该训练动作不是所述目标训练价值对应的训练动作,则通过第二规则确定该训练动作的选择概率;
根据每个训练动作各自分别对应的选择概率,在所述多个训练动作中确定候选动作。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的基于强化学习的丢包控制方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于强化学习的丢包控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326078.2A CN113079044B (zh) | 2021-03-26 | 2021-03-26 | 一种基于强化学习的丢包控制方法和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326078.2A CN113079044B (zh) | 2021-03-26 | 2021-03-26 | 一种基于强化学习的丢包控制方法和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079044A CN113079044A (zh) | 2021-07-06 |
CN113079044B true CN113079044B (zh) | 2022-04-15 |
Family
ID=76610646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110326078.2A Active CN113079044B (zh) | 2021-03-26 | 2021-03-26 | 一种基于强化学习的丢包控制方法和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079044B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997776B (zh) * | 2010-11-18 | 2013-01-09 | 无锡源清高新技术研究所有限公司 | 基于拥塞辨识的路由器队列控制系统的控制方法 |
WO2019192361A1 (en) * | 2018-04-06 | 2019-10-10 | Huawei Technologies Co., Ltd. | Congestion control in network communications |
CN108881048B (zh) * | 2018-08-23 | 2019-06-14 | 北京理工大学 | 一种基于强化学习的命名数据网络拥塞控制方法 |
CN110213025A (zh) * | 2019-05-22 | 2019-09-06 | 浙江大学 | 基于深度强化学习的专用自组网抗干扰方法 |
CN111756634B (zh) * | 2020-07-15 | 2022-10-14 | 中国舰船研究设计中心 | 一种基于强化学习的舰载网络性能自优化方法 |
-
2021
- 2021-03-26 CN CN202110326078.2A patent/CN113079044B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113079044A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Naeem et al. | A software defined network based fuzzy normalized neural adaptive multipath congestion control for the internet of things | |
Sood et al. | Performance analysis of software-defined network switch using $ M/Geo/1$ model | |
Gheisari et al. | CCCLA: A cognitive approach for congestion control in Internet of Things using a game of learning automata | |
US11411865B2 (en) | Network resource scheduling method, apparatus, electronic device and storage medium | |
US20220286402A1 (en) | Method and apparatus for controlling data packet sending, model training method and apparatus, and system | |
CN112383485B (zh) | 一种网络拥塞控制方法及装置 | |
CN115277581B (zh) | 网络传输的控制方法、装置、计算机设备、存储介质 | |
JP2009278641A (ja) | ネットワークにおける装置のためのデータチャネル資源の最適化 | |
Roselló | Multi-path scheduling with deep reinforcement learning | |
CN113966596A (zh) | 用于数据流量路由的方法和设备 | |
KR20200118686A (ko) | Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법 | |
CN110098976B (zh) | 网络参数的测量方法、装置、计算机设备和存储介质 | |
CN113079044B (zh) | 一种基于强化学习的丢包控制方法和计算机设备 | |
CN112367490A (zh) | 面向交互视频传输质量提升的混合学习方法、装置及设备 | |
CN109922161B (zh) | 动态云内容分发网络的内容分发方法、系统、设备及介质 | |
CN112511448A (zh) | 处理网络拥塞的方法、更新模型的方法和相关装置 | |
CN112491573A (zh) | 一种网络参数配置方法及装置 | |
Sall et al. | Design of a robust digital controller for congestion control in Internet | |
CN109347763B (zh) | 一种基于数据队列长度的数据调度方法、装置及系统 | |
CN109818856B (zh) | 一种多路径数据传输方法及装置 | |
AL-Allaf et al. | RED with reconfigurable maximum dropping probability | |
KR20220097201A (ko) | 연합학습을 이용한 네트워크 혼잡 제어방법 | |
CN114567566A (zh) | 一种报文处理方法、装置、终端设备及存储介质 | |
Govindan et al. | Optimal server selection policy for improved network efficiency in smart phones | |
CN113098782B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230625 Address after: 241002 Building 5, Wuhu Science and Technology Industrial Park, Yijiang District, Wuhu City, Anhui Province Patentee after: Yangtze River delta information intelligence Innovation Research Institute Address before: 430072 Hubei Province, Wuhan city Wuchang District of Wuhan University Luojiashan Patentee before: WUHAN University |