CN117097624B - 一种网络拓扑结构增强方法、装置、电子设备及存储介质 - Google Patents
一种网络拓扑结构增强方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117097624B CN117097624B CN202311346769.4A CN202311346769A CN117097624B CN 117097624 B CN117097624 B CN 117097624B CN 202311346769 A CN202311346769 A CN 202311346769A CN 117097624 B CN117097624 B CN 117097624B
- Authority
- CN
- China
- Prior art keywords
- vertex
- network
- network topology
- representation
- topology structure
- 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 84
- 230000009471 action Effects 0.000 claims abstract description 281
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000002787 reinforcement Effects 0.000 claims abstract description 22
- 239000003795 chemical substances by application Substances 0.000 claims description 249
- 238000012549 training Methods 0.000 claims description 81
- 239000013598 vector Substances 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 44
- 230000000977 initiatory effect Effects 0.000 claims description 33
- 238000010586 diagram Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 25
- 238000011156 evaluation Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 22
- 238000013528 artificial neural network Methods 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 21
- 230000002708 enhancing effect Effects 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 16
- 230000033001 locomotion Effects 0.000 claims description 13
- 230000006872 improvement Effects 0.000 claims description 10
- 230000007613 environmental effect Effects 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 7
- 230000008447 perception Effects 0.000 claims description 6
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003014 reinforcing effect Effects 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- PBKSAWGZZXKEBJ-UHFFFAOYSA-N cyclopenta-1,3-diene;4-cyclopenta-2,4-dien-1-ylphenol;iron(2+) Chemical compound [Fe+2].C=1C=C[CH-]C=1.C1=CC(O)=CC=C1[C-]1C=CC=C1 PBKSAWGZZXKEBJ-UHFFFAOYSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/12—Discovery or management of network topologies
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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
- G06N3/092—Reinforcement learning
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- 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/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种网络拓扑结构增强方法、装置、电子设备及存储介质,涉及网络拓扑结构增强领域,可基于强化学习的智能体对待增强网络拓扑结构进行多轮动作决策处理,得到需在待增强网络拓扑结构中增加的多条链路,并利用这多条链路对待增强网络拓扑结构进行增强,其中在每轮动作决策中,智能体均可基于本轮网络拓扑结构对应的、丰富的表示信息对本轮网络拓扑结构进行充分感知,从而可高质量地选择目标设备,并在目标设备与本轮网络拓扑结构中的待连接网络设备间新增链路,或将目标设备标记为本轮网络拓扑结构中新的待连接网络设备;这样可确保智能体可在对待增强网络拓扑结构进行充分感知的前提下,高质量地对待增强网络拓扑结构进行增强。
Description
技术领域
本发明涉及网络拓扑结构增强领域,特别涉及一种网络拓扑结构增强方法、装置、电子设备及存储介质。
背景技术
为增强网络拓扑结构的鲁棒性,相关技术通常可基于强化学习方法,利用智能体在网络拓扑结构中自适应地增加边。然而,相关技术中的智能体从网络拓扑结构中感知到的信息较少,进而难以有效地对网络拓扑结构进行增强。
发明内容
本发明的目的是提供一种网络拓扑结构增强方法、装置、电子设备及存储介质,可丰富从网络拓扑结构中感知到的信息,从而可提升对网络拓扑结构进行增强的可靠性。
为解决上述技术问题,本发明提供一种网络拓扑结构增强方法,包括:
利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路;
利用所述多条链路对所述待增强网络拓扑结构进行增强;
其中,所述智能体在进行每轮所述动作决策时执行:
生成与本轮网络拓扑结构对应的表示信息;所述表示信息记录有所述本轮网络拓扑结构中的各网络设备在所述本轮网络拓扑结构中的设备位置信息、各所述网络设备与其他网络设备间的设备间特征信息以及所述本轮网络拓扑结构的拓扑结构信息,所述本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为所述待增强网络拓扑结构;
根据所述表示信息在所述本轮网络拓扑结构中选择目标设备;
当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备;
将设置后的本轮网络拓扑结构作为下轮网络拓扑结构。
可选地,在利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策之前,还包括:
利用训练网络拓扑结构和预设鲁棒性评价函数对所述智能体进行训练,以使训练后的所述智能体为所述训练网络拓扑结构带来的鲁棒性提升值大于训练前的所述智能体为所述训练网络拓扑结构带来的鲁棒性提升值;所述鲁棒性提升值为增强后的训练网络拓扑结构对应的鲁棒性值与增强前的训练网络拓扑结构对应的鲁棒性值间的差值,所述鲁棒性值由所述预设鲁棒性评价函数为所述训练网络拓扑结构计算得到。
可选地,所述预设鲁棒性评价函数为:
;
其中,表示所述预设鲁棒性评价函数,G表示网络拓扑结构,/>表示期望,/>表示攻击策略,/>表示基于所述攻击策略从所述网络拓扑结构采样得到的网络设备序列,/>表示按照所述网络设备序列/>从所述网络拓扑结构中移除网络设备使得网络拓扑结构剩余的网络设备不连通所需移除的网络设备的比例。
可选地,所述训练网络拓扑结构为所述待增强网络拓扑结构。
可选地,所述生成与本轮网络拓扑结构对应的表示信息,包括:
将所述本轮网络拓扑结构转换为图数据;所述图数据中的顶点和边分别对应所述本轮网络拓扑结构中的网络设备和链路;
确定各所述顶点在所述图数据中的顶点位置信息和各所述顶点与其他顶点间的顶点间特征信息;所述顶点的顶点位置信息和顶点间特征信息表示与所述顶点对应的网络设备的设备位置信息和设备间特征信息;
利用各所述顶点的顶点位置信息和各所述顶点的顶点间特征信息生成各所述顶点的顶点表示;
利用所述图数据的图结构信息构造编码树,并利用所述编码树及各所述顶点表示生成图表示;所述图结构信息表示所述拓扑结构信息;
当所述图数据中存在锚顶点时,将所述锚顶点的顶点表示和所述图表示整合为环境表示,或当所述图数据中不存在锚顶点时,将所述锚顶点的默认表示和所述图表示整合为所述环境表示;所述锚顶点表示所述待连接网络设备;将所述顶点表示和所述环境表示组合为所述表示信息。
可选地,所述利用各所述顶点的顶点位置信息和各所述顶点的顶点间特征信息生成各所述顶点的顶点表示,包括:
将所述顶点的顶点位置信息和所述顶点的顶点间特征信息整合为嵌入向量;
利用各所述顶点的邻居顶点的嵌入向量,对各所述顶点的嵌入向量进行注意力机制处理;
利用所有所述顶点处理后的嵌入向量,对各所述顶点处理后的嵌入向量再次进行所述注意力机制处理,得到各所述顶点对应的顶点表示。
可选地,确定各所述顶点在所述图数据中的顶点位置信息,包括:
获取所述图数据对应的拉普拉斯矩阵;
利用所述拉普拉斯矩阵生成各所述顶点的嵌入坐标,并将所述嵌入坐标设置为各所述顶点的顶点位置信息;所述嵌入坐标为,u为所述顶点,/>和/>分别为所述拉普拉斯矩阵的第2个特征值的特征向量和第3个特征值的特征向量。
可选地,确定各所述顶点与其他顶点间的顶点间特征信息,包括:
确定所述顶点与其邻居顶点间的局部特征;
当所述图数据中存在所述锚顶点时,确定所述顶点与所述锚顶点间的相对特征,或当所述图数据中不存在所述锚顶点时,将所述相对特征设置为默认值;
利用所述局部特征和所述相对特征组成所述顶点的顶点间特征信息。
可选地,所述确定所述顶点与其邻居顶点间的局部特征,包括:
将所述顶点的度数、所述邻居顶点的平均度数和所述顶点与其邻居顶点间的聚类系数中的任一种或多种的组合设置为所述局部特征;所述聚类系数为所述顶点与其邻居顶点间实际形成的三角形数量与所述顶点与其邻居顶点间可形成的三角形数量的比值。
可选地,所述确定所述顶点与所述锚顶点间的相对特征,包括:
将所述顶点与所述锚顶点间的距离、所述顶点的度数与所述锚顶点的度数的乘积、所述顶点与所述锚顶点间的代数距离和所述顶点与所述锚顶点间的相似度中的任一种或多种的组合设置为所述相对特征;所述代数距离为,u为所述顶点,v为所述锚顶点;所述相似度为所述顶点与所述锚顶点间的公共邻居顶点在所述顶点和所述锚顶点两者的所有邻居顶点中的占比。
可选地,所述编码树中的各个节点对应所述图数据中的一个顶点子集,各所述节点中的根节点的顶点子集包含所有所述顶点,各所述节点中的叶子节点的顶点子集包含一个所述顶点,若节点是节点/>的孩子节点,则/>构成/>的一个划分,其中/>、/>、/>分别为节点/>、节点/>、节点/>的顶点子集,/>。
可选地,所述利用所述图数据的图结构信息构造编码树,包括:
利用所述图数据构造初始编码树,并根据所述图数据在所述初始编码树中的结构熵对所述初始编码树进行调整,以使所述结构熵最小,得到所述编码树;所述图结构信息为所述结构熵,所述结构熵表示为:
;
其中,为所述结构熵,G为所述图数据,/>为所述编码树,/>为所述编码树中的任一节点,/>为/>的父亲节点,/>,/>为/>的顶点子集,u为/>中的顶点,/>为顶点u在所述图数据中的度数。
可选地,所述利用所述图数据构造初始编码树,并根据所述图数据在所述初始编码树中的结构熵对所述初始编码树进行调整,以使所述结构熵最小,得到所述编码树,包括:
利用所述图数据构造所述初始编码树;所述初始编码树的高度为2,且所述初始编码树中的每个叶子节点对应所述图数据中的一个顶点;
将对所述初始编码树执行第k次合并后得到的编码树记为,对/>中的任意对兄弟节点/>和/>进行合并处理,得到多个待选编码树;/>,所述合并处理为创建新节点/>,将所述新节点/>设置为/>的父亲节点的孩子节点,并将/>和/>作为所述新节点/>的孩子节点;
计算各个所述待选编码树相较于的结构熵缩小值;
若所述结构熵缩小值中的最大值大于预设阈值,则将所述最大值对应的待选编码树设置为第k+1次合并后得到的编码树;
若所述结构熵缩小值中的最大值不大于所述预设阈值,则将所述第k次合并后得到的编码树设置为所述图数据的编码树。
可选地,所述利用所述编码树及各所述顶点表示生成图表示,包括:
将所述编码树中的第k层节点作为待处理节点;;H为所述编码树的高度;
在确定所述待处理节点为所述叶子节点时,将所述待处理节点对应的顶点所拥有的顶点表示作为所述待处理节点的初始表示,或在确定所述待处理节点为非叶子节点时,将所述待处理节点的孩子节点的最终表示的总和作为所述待处理节点的初始表示;
利用所有所述待处理节点构造有权图;任意的待处理节点和待处理节点/>在所述有权图中有边当且仅当存在顶点/>和顶点/>使得所述顶点u和所述顶点v在所述图数据中有边,所述/>、/>分别为所述待处理节点/>和所述待处理节点/>的顶点子集;
利用所述有权图、各所述待处理节点的初始表示及图神经网络以如下方式生成各所述待处理节点的最终表示:
;
其中,为所述待处理节点/>经第p层图神经网络处理后的初始表示,所述,/>为所述图神经网络的总层数,/>为所述待处理节点/>的最终表示,为第p层图神经网络的参数矩阵,/>为所述待处理节点/>的邻居节点的集合,为所述待处理节点/>和待处理节点/>间的权重,,/>为顶点u和顶点v间的边,G为所述图数据,/>,/>为所述待处理节点/>经第p-1层图神经网络处理后的初始表示,/>。
可选地,所述根据所述表示信息在所述本轮网络拓扑结构中选择目标设备,包括:
根据所述表示信息从所述图数据中选择目标顶点;所述目标顶点表示所述目标设备;
所述当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备,包括:
当本轮动作决策的决策步数为k-1步时,将所述目标顶点标记为所述锚顶点;,l为需在所述网络拓扑结构中增加的边数,2l为所述动作决策的总轮数;
当本轮动作决策的决策步数为k步时,在所述图数据中增加所述目标顶点与所述锚顶点间的边,并清除对所述锚顶点的标记。
可选地,所述根据所述表示信息从所述图数据中选择目标顶点,包括:
以如下方式对所述环境表示进行线性变换得到查询向量:
;
其中,为所述环境表示,/>和/>用于线性变换;
针对所述图数据中的可选择顶点及各所述可选择顶点的顶点表示,以如下方式对各所述可选择顶点的顶点表示进行线性变换得到各候选动作的键/>和值/>:
;
;
其中,所述候选动作为在所述可选择顶点中选择顶点作为所述目标顶点,,/>为所述顶点/>的顶点表示,/>、/>、/>和/>均用于线性变换;
以如下方式利用所述查询向量、所述键/>和所述值/>生成查询向量/>:
;
其中,,/>表示转置运算;
以如下方式对各所述可选择顶点的顶点表示进行线性变换得到各候选动作的键:
;
其中,和/>均用于线性变换;
以如下方式利用所述查询向量及所述键/>确定选择各所述候选动作的概率:
;
;
其中,表示所述候选动作的罗吉特机率,/>表示选择所述候选动作的概率;
将概率最大的候选动作所选择的顶点作为所述目标顶点。
可选地,所述利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路,包括:
利用多个所述智能体分别对所述待增强网络拓扑结构进行多轮所述动作决策,得到各所述智能体产生的初始动作序列;各所述智能体设置有相同的感知模块和不同的决策网络,所述感知模块用于执行所述生成与本轮网络拓扑结构对应的表示信息的步骤,所述决策网络用于执行所述根据所述表示信息在所述本轮网络拓扑结构中选择目标设备的步骤;动作序列顺序记录有所述智能体在每轮动作决策所选出的网络设备;
利用各所述初始动作序列生成最佳动作序列;
对所述最佳动作序列中的网络设备进行顺次连接,得到需在所述待增强网络拓扑结构中增加的多条链路。
可选地,所述智能体的数量为两个,还包括:
利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮所述动作决策,得到所述第一初始智能体产生的第一动作序列和所述第二初始智能体产生的第二动作序列;
分别对所述第一动作序列和所述第二动作序列中的网络设备进行顺次连接,得到第一动作序列对应的第一链路序列和第二动作序列对应的第二链路序列,并分别利用所述第一链路序列和所述第二链路序列对所述训练网络拓扑结构进行增强,得到所述第一初始智能体对应的第一增强网络拓扑结构和所述第二初始智能体对应的第一增强网络拓扑结构;
利用预设鲁棒性评价函数分别确定所述第一增强网络拓扑结构相较于所述训练网络拓扑结构的第一鲁棒性提升值和所述第二增强网络拓扑结构相较于所述训练网络拓扑结构的第二鲁棒性提升值;
利用所述第一动作序列、所述第二动作序列、所述第一鲁棒性提升值和所述第二鲁棒性提升值对所述第一初始智能体的第一策略网络和所述第二初始智能体的第二策略网络进行参数优化,以使所述第一策略网络的参数和所述第二策略网络的参数不同,得到所述第一智能体和第二智能体。
可选地,所述利用所述第一动作序列、所述第二动作序列、所述第一鲁棒性提升值和所述第二鲁棒性提升值对所述第一初始智能体的第一策略网络和所述第二初始智能体的第二策略网络进行参数优化,包括:
以如下方式利用所述第一策略网络、所述第二策略网络确定所述第一动作序列和所述第二动作序列中各个动作对应的奖励值:
;
;
其中,为所述第一动作序列中的第t个动作/>的奖励值,/>为所述第二动作序列中的第t个动作/>的奖励值,/>为第一策略网络,/>表示第二策略网络,/>为在环境/>下第一策略网络选择动作/>的概率,/>为在环境/>下第一策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率;动作表征智能体在每轮动作决策对设备的选择;以如下方式利用所述第一动作序列中各动作的奖励值、所述第二动作序列中各动作的奖励值、所述第一鲁棒性提升值及所述第二鲁棒性提升值分别对所述第一策略网络的参数和所述第二策略网络的参数进行优化:
;
其中,为所述第一策略网络的参数,/>为所述第二策略网络的参数,/>为学习率,/>为所述优化函数,/>,为主优化函数,/>为辅助优化函数,/>表示为:
;
为所述第一鲁棒性提升值,/>为所述第二鲁棒性提升值;表示为:
。
可选地,在利用所述第一动作序列、所述第二动作序列、所述第一鲁棒性提升值和所述第二鲁棒性提升值对所述第一初始智能体的第一策略网络和所述第二初始智能体的第二策略网络进行参数优化之后,还包括:
判断预设训练迭代次数是否耗尽;
若是,则将优化后的第一初始智能体和优化后的第二初始智能体设置为所述第一智能体和所述第二智能体;
若否,则基于所述优化后的第一初始智能体和所述优化后的第二初始智能体进入所述利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮所述动作决策,得到所述第一初始智能体产生的第一动作序列和所述第二初始智能体产生的第二动作序列的步骤。
可选地,所述利用各所述初始动作序列生成最佳动作序列,包括:
基于局部搜索方式,利用所述待增强网络拓扑结构中的网络设备对所述初始动作序列中的网络设备进行替换;
利用预设鲁棒性评价函数确定替换后的各初始动作序列对应的鲁棒性提升值;
将鲁棒性提升值中的最大值对应的初始动作序列设置为所述最佳动作序列。
本发明还提供一种网络拓扑结构增强装置,包括:
智能体模块,用于利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路;
增强模块,用于利用所述多条链路对所述待增强网络拓扑结构进行增强;
其中,所述智能体模块,包括:
感知模块,用于生成与本轮网络拓扑结构对应的表示信息;所述表示信息记录有所述本轮网络拓扑结构中的各网络设备在所述本轮网络拓扑结构中的设备位置信息、各所述网络设备与其他网络设备间的设备间特征信息以及所述本轮网络拓扑结构的拓扑结构信息,所述本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为所述待增强网络拓扑结构;
决策网络,用于根据所述表示信息在所述本轮网络拓扑结构中选择目标设备;
更新模块,用于当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备;
设置模块,用于将设置后的本轮网络拓扑结构作为下轮网络拓扑结构。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的网络拓扑结构增强方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的网络拓扑结构增强方法。
本发明提供一种网络拓扑结构增强方法,包括:利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路;利用所述多条链路对所述待增强网络拓扑结构进行增强;其中,所述智能体在进行每轮所述动作决策时执行:生成与本轮网络拓扑结构对应的表示信息;所述表示信息记录有所述本轮网络拓扑结构中的各网络设备在所述本轮网络拓扑结构中的设备位置信息、各所述网络设备与其他网络设备间的设备间特征信息以及所述本轮网络拓扑结构的拓扑结构信息,所述本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为所述待增强网络拓扑结构;根据所述表示信息在所述本轮网络拓扑结构中选择目标设备;当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备;将设置后的本轮网络拓扑结构作为下轮网络拓扑结构。
可见,本发明可基于强化学习的智能体对待增强网络拓扑结构进行多轮动作决策处理,其中在进行每轮动作决策处理时,智能体可利用本轮网络拓扑结构生成对应的表示信息,并可确保该表示信息记录有本轮网络拓扑结构中的各网络设备在本轮网络拓扑结构中的设备位置信息、各网络设备与其他网络设备间的设备间特征信息以及本轮网络拓扑结构的拓扑结构信息。这样,智能体可基于丰富的表示信息对本轮拓扑结构进行充分感知,从而能够根据表示信息在本轮网络拓扑结构中高质量地选择目标设备。并且,由于首轮网络拓扑结构为待增强网络拓扑结构,且除首轮网络拓扑结构外的其他轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,且智能体根据表示信息在本轮网络拓扑结构中选出的目标设备要么与本轮网络拓扑结构中的待连接网络设备连接,要么作为本轮网络拓扑结构中新增的待连接网络设备,即智能体将基于多轮动作决策层层确定需在待增强网络拓扑结构增加的链路,因此可确保智能体可在对待增强网络拓扑结构进行充分感知的前提下,高质量地确定需在所述待增强网络拓扑结构中增加的多条链路,从而可提升利用这多条链路增强网络拓扑结构鲁棒性的增强效果。本发明还提供一种网络拓扑结构增强装置、电子设备及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种网络拓扑结构增强方法的流程图;
图2为本发明实施例所提供的一种动作决策处理的流程图;
图3为本发明实施例所提供的一种网络鲁棒性增强的示意图;
图4为本发明实施例所提供的一种层次化注意力机制的示意图;
图5为本发明实施例所提供的一种编码树的示意图;
图6为本发明实施例所提供的另一种网络拓扑结构增强的流程图;
图7为本发明实施例所提供的一种网络拓扑结构增强装置的结构框图;
图8为本发明实施例所提供的一种电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现实世界中存在大量的网络化系统,例如,计算机网络、电力网络、航空网络等。这些网络化系统的正常运行为社会经济秩序的稳定发展提供了基础。为确保这些网络化系统能够稳定运行,在设计这些网络的拓扑结构时,通常需考虑对网络鲁棒性进行增强。其中,鲁棒性(Robust)用于评价网络拓扑结构在遭受攻击时保持正常运行的能力。一种常用的网络鲁棒性的度量指标是网络连通性,其定义如下:
;
其中,表示预设鲁棒性评价函数,G为网络拓扑结构,/>表示期望,/>是攻击策略,/>是从该策略中采样所得的节点序列,/>表示按照网络设备序列/>从网络拓扑结构中移除网络设备使得网络拓扑结构剩余的网络设备不连通所需移除的网络设备的比例。若某个网络在大量节点遭受攻击而失效后,剩余节点依然能够组成一个连通图,则该网络具有较高的鲁棒性。
网络鲁棒性增强在众多领域中均有应用,例如,在大规模分布式算力系统中,不同的计算中心(包含多台计算服务器)位于不同的物理位置,将一个计算中心视为一个节点,两个节点之间有边表示这两个计算中心之间有专线来传输任务控制信号、计算结果等信息。倘若某个计算中心产生了故障导致剩余的计算中心无法互联,会降低整个算力系统的处理能力。增强算力系统的鲁棒性,就是通过建立少量额外的专线来提升算力系统的鲁棒性。
相关技术中,为了实现对网络拓扑结构鲁棒性的自动增强,通常可基于强化学习方法,利用智能体对网络拓扑结构进行感知,从而在网络拓扑结构中自适应地增加边。然而,相关技术中的智能体可从网络拓扑结构中感知到的信息较少,进而不能可靠地对网络拓扑结构进行增强。有鉴于此,本发明可提供一种网络拓扑结构增强方法,可丰富智能体可从网络拓扑结构中感知的信息量,从而可提升对网络拓扑结构进行增强的可靠性。
需要说明的是,本发明实施例并不限定具体执行本方法的硬件设备,例如可以为个人电脑、服务器等,可根据实际应用需求进行设置。
请参考图1和图2,图1为本发明实施例所提供的一种网络拓扑结构增强方法的流程图,图2为本发明实施例所提供的一种动作决策处理的流程图。本方法可以包括:
S100、利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在待增强网络拓扑结构中增加的多条链路。
本发明实施例可基于强化学习的智能体方法对待增强网络拓扑结构进行多轮动作决策,以确定需在待增强网络拓扑结构中增加的多条链路。首先需要说明的是,智能体将通过多轮动作决策,逐次确定需在待增强网络拓扑结构中增加的链路,并且智能体需执行两次动作决策才可确定一条链路。例如,通过1、2轮动作决策,智能体可确定需在待增强网络拓扑结构中增加的链路1;通过3、4轮动作决策,智能体可确定需在待增强网络拓扑结构中增加的链路2。针对需执行两次动作决策才可确定一条链路的情况,是由于智能体在每轮动作决策所执行的动作均为在网络拓扑结构中选择一个网络设备,因此在上述例子中,奇数轮所选出的网络设备将作为网络拓扑结构中的待连接网络设备,而偶数轮所选出的网络设备将与网络拓扑结构中的待连接网络设备相连接。换句话说,为了在网络拓扑结构中增加l条边(),智能体需要执行2l次动作决策处理。
此外,还需要说明的是,智能体在进行每轮动作决策时都需要对网络拓扑结构进行感知,以在充分感知网络拓扑结构的基础上给出动作。这是由于随意地添加链路至网络拓扑结构并不能取得较好的增强效果,并且容易导致资源浪费。例如,请参考图3,图3为本发明实施例所提供的一种网络鲁棒性增强的示意图。在原网络G中,仅需移除1个节点就能使得剩余的节点不连通(例如:移除节点2,使得剩余的节点{1,3,4}不连通)。而通过增加边(1,4)得到G1,可确保G1中至少需要移除两个节点(例如:节点1和节点3)才能够使得剩余的节点不连通。因此G1的鲁棒性比G强。然而,若增加边(1,3)得到G2,和G相比,G2的鲁棒性并未得到提升(移除节点3,剩余的节点{1,2,4}不连通)。因此,对边(1,3)的增加显然属于网络资源浪费。因此,较好的网络鲁棒性增强方式应当能在给定的资源约束下(限定可以添加的边数)尽可能地提升网络鲁棒性。而智能体在进行每轮动作决策时都需要对网络拓扑结构进行感知,这样可在充分感知网络拓扑结构的基础上给出动作,进而可尽避免给出较差动作,从而可提升网络拓扑结构鲁棒性增强的可靠性。
此外,还需要说明的是,智能体每轮感知的网络拓扑结构均为上轮已调整后的网络拓扑结构。例如,通过第1轮动作决策,智能体在待增强网络拓扑结构中确定了待连接的网络设备1,因此在第2轮动作决策中,智能体需感知的网络拓扑结构相较于待增强网络拓扑结构增加了待连接网络设备1。又例如,通过第2轮动作决策,智能体在待增强网络拓扑结构中的网络设备2与网络设备1间设置了链路1,因此在第3轮动作决策中,智能体需感知的网络拓扑结构相较于第2轮动作决策的网络拓扑结构减少了待连接的网络设备1并新增了链路1。又例如,通过第3轮动作决策,智能体在待增强网络拓扑结构中确定了待连接的网络设备3,因此在第4轮动作决策中,智能体需感知的网络拓扑结构相较于第3轮动作决策的网络拓扑结构新增了待连接的网络设备3,以此类推。即简单来讲,智能体将通过多轮动作决策,逐次对待增强网络拓扑结构进行增强,且每轮均在上轮增强的基础上进一步增强。
其中,智能体在进行每轮动作决策时执行:
S101、生成与本轮网络拓扑结构对应的表示信息;表示信息记录有本轮网络拓扑结构中的各网络设备在本轮网络拓扑结构中的设备位置信息、各网络设备与其他网络设备间的设备间特征信息以及本轮网络拓扑结构的拓扑结构信息,本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为待增强网络拓扑结构。
如上所述,由于在完成动作决策处理之后,网络拓扑结构都发生了改变,即本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,因此在执行每轮动作决策处理时,智能体都需要对增强改变后的网络拓扑结构进行重新感知。进一步,为实现对本轮网络拓扑结构的感知,智能体可生成本轮网络拓扑结构对应的表示信息,即可对本轮网络拓扑结构进行编码,并可基于该表示信息对本轮网络拓扑结构进行感知。为达到较好的感知效果,本发明实施例特别对智能体编码网络拓扑结构的方式进行了改进,以使网络拓扑结构对应的表示信息可记录更多内容。具体的,本发明实施例中的表示信息可记录有本轮网络拓扑结构中的各网络设备在本轮网络拓扑结构中的设备位置信息、各网络设备与其他网络设备间的设备间特征信息以及本轮网络拓扑结构的拓扑结构信息,其中该位置信息反映记录各网络设备在本轮网络拓扑结构中的全局位置,设备间特征信息反映网络设备与其他网络设备间的连接关系特征、距离特征、相似程度特征,而结构信息反映本轮网络拓扑结构的整体结构。换句话说,本发明实施例中的表示信息涵盖了各网络设备在本轮网络拓扑结构中的位置特征、网络设备间的小范围特征及本轮网络拓扑结构的整体特征,以确保智能体可基于该表示信息对本轮网络拓扑结构进行有效感知,从而可提升智能体给出动作的可靠性。
S102、根据表示信息在本轮网络拓扑结构中选择目标设备。
需要说明的是,本发明实施例并不限定智能体如何根据该表示信息在本轮网络拓扑结构中选择目标设备,可参考强化学习的智能体所包含的策略网络的相关技术。
S103、当确定本轮网络拓扑结构中存在待连接网络设备时,在目标设备与待连接网络设备间设置链路,并清除对待连接网络设备的标记,或当确定本轮网络拓扑结构中不存在待连接网络设备时,将目标设备标记为待连接网络设备。
如上所述,智能体需执行两次动作决策才可确定一条链路,其中智能体在前一动作决策所选出的网络设备将作为待连接网络设备,而在后一动作决策所选出的网络设备与待连接网络设备间将设置链路。因此,当智能体确定本轮网络拓扑结构中不存在待连接网络设备时,将目标设备标记为待连接网络设备,而在确定本轮网络拓扑结构中存在待连接网络设备时,可在目标设备与待连接网络设备间设置链路,并清除对待连接网络设备的标记。
S104、将设置后的本轮网络拓扑结构作为下轮网络拓扑结构。
S200、利用多条链路对待增强网络拓扑结构进行增强。
如上所述,由于智能体在每轮动作决策处理均可在充分感知网络拓扑结构之后给出高质量的动作,因此本发明实施例可基于智能体在进行多轮动作决策后提供的多条链路对待增强网络拓扑结构进行高质量增强,从而可提升对网络拓扑结构的增强可靠性。
基于上述实施例,本发明可基于强化学习的智能体对待增强网络拓扑结构进行多轮动作决策处理,其中在进行每轮动作决策处理时,智能体可利用本轮网络拓扑结构生成对应的表示信息,并可确保该表示信息记录有本轮网络拓扑结构中的各网络设备在本轮网络拓扑结构中的设备位置信息、各网络设备与其他网络设备间的设备间特征信息以及本轮网络拓扑结构的拓扑结构信息。这样,智能体可基于丰富的表示信息对本轮拓扑结构进行充分感知,从而能够根据表示信息在本轮网络拓扑结构中高质量地选择目标设备。并且,由于首轮网络拓扑结构为待增强网络拓扑结构,且除首轮网络拓扑结构外的其他轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,且智能体根据表示信息在本轮网络拓扑结构中选出的目标设备要么与本轮网络拓扑结构中的待连接网络设备连接,要么作为本轮网络拓扑结构中新增的待连接网络设备,即智能体将基于多轮动作决策层层确定需在待增强网络拓扑结构增加的链路,因此可确保智能体可在对待增强网络拓扑结构进行充分感知的前提下,高质量地确定需在所述待增强网络拓扑结构中增加的多条链路,从而可提升利用这多条链路增强网络拓扑结构鲁棒性的增强效果。
基于上述实施例,下面将对智能体的训练过程进行简单介绍。在利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策之前,还可利用训练网络拓扑结构和预设鲁棒性评价函数对智能体进行训练,以使训练后的智能体为训练网络拓扑结构带来的鲁棒性提升值大于训练前的智能体为训练网络拓扑结构带来的鲁棒性提升值;鲁棒性提升值为增强后的训练网络拓扑结构对应的鲁棒性值与增强前的训练网络拓扑结构对应的鲁棒性值间的差值,鲁棒性值由预设鲁棒性评价函数为训练网络拓扑结构计算得到。
换句话说,本发明实施例将利用预设鲁棒性评价函数引导智能体进行训练,使得训练后的智能体能够为训练网络拓扑结构带来鲁棒性提升值。值得指出的是,预设鲁棒性评价函数为:
;
其中,表示预设鲁棒性评价函数,G表示网络拓扑结构,/>表示期望,/>表示给定的攻击策略,/>表示基于攻击策略从网络拓扑结构采样得到的网络设备序列,表示按照网络设备序列/>从网络拓扑结构中移除网络设备使得网络拓扑结构剩余的网络设备不连通所需移除的网络设备的比例。换句话说,智能体已基于给定的攻击策略条件进行了训练,这使得待增强网络拓扑结构在根据智能体所提供的多条链路增强后,能够有效抵御该攻击策略对应的网络攻击,从而能够进一步提升对网络拓扑结构进行增强的可靠性。
需要说明的是,本发明实施例并不限定具体的攻击策略,可选择最有可能发生的或最强的攻击策略,从而达到较好的增强效果,例如在未知外部攻击者时,该策略可以为随机损坏,也可以选择最强的攻击策略;又例如在已知外部攻击者时,也可以选择外部攻击者最有可能采取的攻击策略,可根据实际应用需求进行设定。
需要说明的是,本发明实施例并不限定具体的训练网络拓扑结构,可根据实际应用需求进行设定。值得指出的是,为达到最好的增强效果,该训练网络拓扑结构也可以为待增强网络拓扑结构。换句话说,智能体可在预设鲁棒性评价函数的引导下在待增强网络拓扑结构中进行诸多次尝试。当确定智能体能够为待增强网络拓扑结构提供较好的增强方案时,本发明再利用该智能体对待增强网络拓扑结构进行增强。
基于上述实施例,下面对表示信息的生成方式进行详细介绍。在一种可能的情况中,生成与本轮网络拓扑结构对应的表示信息,可以包括:
S1011、将本轮网络拓扑结构转换为图数据;图数据中的顶点和边分别对应本轮网络拓扑结构中的网络设备和链路。
图数据包含有顶点集和边集,其中顶点集用于记录图数据中的顶点,而边集用于记录顶点之间的边;而网络拓扑结构记录有网络设备与网络设备间的通信链路,与图数据的形式近似,因此本发明实施例可利用图数据形式化代表网络拓扑结构,其中图数据中的顶点对应网络拓扑结构中的网络设备,而数据中的边对应网络拓扑结构中通信链路。还需特别指出的是,图数据中的锚顶点为一种特殊的顶点,用于表示网络拓扑结构中的待连接网络设备。
S1012、确定各顶点在图数据中的顶点位置信息和各顶点与其他顶点间的顶点间特征信息;顶点的顶点位置信息和顶点间特征信息表示与顶点对应的网络设备的设备位置信息和设备间特征信息。
在本发明实施例中,顶点位置信息表示顶点在图数据中的全局位置,其可代表对应的网络设备在网络拓扑结构中对应的位置信息。为得到这一位置信息,可将图数据嵌入至二维平面上,并基于各顶点在二维平面中的坐标信息确定各顶点的位置信息。而为了缩小图数据中相邻顶点在二维平面上的欧式距离,使得相邻顶点在二维平面中也更靠近,本发明实施例还可使用图数据对应的拉普拉斯矩阵(Laplacian)生成各顶点的位置信息,其中拉普拉斯矩阵L可利用图数据的度矩阵D和邻接矩阵A生成,具体可表示为:。可记L的n个特征值为/>,记/>对应的特征向量为/>,则为达到缩小图数据中相邻顶点在二维平面上的欧式距离的效果,本发明实施例可利用该拉普拉斯矩阵生成各顶点的嵌入坐标/>,其中u为顶点,/>和/>分别为拉普拉斯矩阵的第2个特征值的特征向量和第3个特征值的特征向量。
基于此,确定各顶点在图数据中的顶点位置信息,可以包括:
步骤1:获取图数据对应的拉普拉斯矩阵;
步骤2:利用拉普拉斯矩阵生成各顶点的嵌入坐标,并将嵌入坐标设置为各顶点的顶点位置信息;嵌入坐标为,u为顶点,/>和/>分别为拉普拉斯矩阵的第2个特征值的特征向量和第3个特征值的特征向量。
进一步,在本发明实施例中,顶点间的顶点间特征信息用于代表网络设备间的设备间特征信息。顶点间特征信息既可以是顶点与其邻居顶点间的局部特征(如顶点与邻居顶点间的连接特征、局部网络特征等),也可以是顶点与锚顶点间的相对特征(如顶点与锚顶点间的距离特征、相似度特征等)。换句话说,在本发明实施例中,智能体既可以感知到顶点与其邻居顶点间的局部特征,也可以感知到顶点与锚顶点间的相对特征,从而能够更加充分地感知各个顶点及其邻域内的特征。当然,需要指出的是,图数据中不一定包含锚顶点,此时顶点与锚顶点间的相对特征可利用预设的默认值进行替代。
基于此,确定各所述顶点与其他顶点间的顶点间特征信息,可以包括:
步骤1:确定顶点与其邻居顶点间的局部特征;
步骤2:当图数据中存在锚顶点时,确定顶点与锚顶点间的相对特征,或当图数据中不存在锚顶点时,将相对特征设置为默认值;
步骤3:利用局部特征和相对特征组成顶点的顶点间特征信息。
需要说明的是,本发明实施例并不限定局部特征中具体包含哪些信息,例如可将顶点的度数作为上述局部特征,也可将顶点的邻居顶点的平均度数作为上述局部特征,也可将顶点与其邻居顶点间的聚类系数作为上述局部特征,其中聚类系数为顶点与其邻居顶点间实际形成的三角形数量与顶点与其邻居顶点间可形成的三角形数量的比值,例如当顶点a具有三个邻居顶点b、c、d时,顶点a与其邻居顶点可形成的三角形数量为3(当a与b、c、d之间均有边且b、c、d间也均有边时),假若a与b、c、d之间均有边,但在b、c、d间仅有b和c之间有边时,顶点a与其邻居顶点间实际形成的三角形数量为1,进而顶点a与其邻居顶点间的聚类系数为1/3。当然,局部特征也可包含以上三种信息中任多种的组合。
基于此,确定顶点与其邻居顶点间的局部特征,可以包括:
步骤1:将顶点的度数、邻居顶点的平均度数和顶点与其邻居顶点间的聚类系数中的任一种或多种的组合设置为局部特征;聚类系数为顶点与其邻居顶点间实际形成的三角形数量与顶点与其邻居顶点间可形成的三角形数量的比值。
进一步,本发明实施例也不限定相对特征中具体包含哪些信息,例如将顶点与锚顶点间的距离作为上述相对特征,也可将顶点的度数与锚顶点的度数的乘积作为上述相对特征,也可将顶点与锚顶点间的代数距离作为上述相对特征,也可将顶点与锚顶点间的相似度作为上述相对特征,其中上述代数距离为,u为顶点,v为锚顶点,/>为图数据的拉普拉斯矩阵的第2个特征值的特征向量;上述相似度为顶点与锚顶点间的公共邻居顶点在顶点和锚顶点两者的所有邻居顶点中的占比,可表示为:
;
其中表示包含有顶点u的邻居顶点的集合。当然,相对特征也可包含以上四种信息中任多种的组合。
基于此,确定顶点与锚顶点间的相对特征,可以包括:
步骤1:将顶点与锚顶点间的距离、顶点的度数与锚顶点的度数的乘积、顶点与锚顶点间的代数距离和顶点与锚顶点间的相似度中的任一种或多种的组合设置为相对特征;代数距离为,u为顶点,v为锚顶点;相似度为顶点与锚顶点间的公共邻居顶点在顶点和锚顶点两者的所有邻居顶点中的占比。
S1013、利用各顶点的顶点位置信息和各顶点的顶点间特征信息生成各顶点的顶点表示。
在得到各顶点的位置信息和顶点间特征信息之后,本发明实施例还可采用注意力机制对各顶点的信息进行相互交互,以提升顶点间的关联性。本发明实施例具体设计了层次化的注意力机制,在该机制中,可由小到大逐渐扩大注意力的范围,以在凸显局部结构的基础上实现远距离节点之间的信息交互。下面对注意力机制的处理过程进行详细介绍。
基于此,利用各顶点的顶点位置信息和各顶点的顶点间特征信息生成各顶点的顶点表示,包括:
步骤1:将顶点的顶点位置信息和顶点的顶点间特征信息整合为嵌入向量。
具体的,将顶点的位置信息和顶点间特征信息整合为状态向量,并通过线性变换对各顶点的状态向量进行如下交叉:
;
其中,u为顶点,为嵌入向量,/>为状态向量,/>为对/>中所有维度的特征进行线性组合的矩阵,/>为线性组合后添加的偏置。
步骤2:利用各顶点的邻居顶点的嵌入向量,对各顶点的嵌入向量进行注意力机制处理。
具体的,基于各顶点的邻居顶点的嵌入向量,采用层多头注意力模块(MHA,Multi-Head Attention)以如下方式增强/>:
;
其中,为包含顶点u的邻居顶点的集合,v为顶点u的邻居顶点,/>。
多头注意力模块具体的工作方式如下:
MHA的第一个输入为向量e,第二个输入为向量集合E。记有O个头,记第1≤o≤O个头上的四个投影矩阵为,/>,/>,/>。/>的计算过程如下:
;
其中,注意力权重的计算过程如下:
,/>表示转置运算;
得到每个头o上的表示后,将所有的表示聚合如下:
;
其中,为/>的输出。
步骤3:利用所有顶点处理后的嵌入向量,对各顶点处理后的嵌入向量再次进行注意力机制处理,得到各顶点对应的顶点表示。
具体的,本步骤中的MHA算子利用所有的节点的信息来增强顶点u的表示,而非仅利用顶点u的邻域中的顶点表示。采用层多头注意力模块(MHA,Multi-Head Attention)以如下方式增强/>:
;
;
;
其中,BatchNorm算子用于对一个批次中多个节点的表示进行归一化,其含有可学习的参数来自适应调整归一化后的尺度。BatchNorm 1 和BatchNorm 2 中可学习的参数是独立的。FF表示一个两层的前馈神经网络,其计算过程如下:
;
其中,和/>为第一层中的线性变换的参数,/>和/>为第二层中的线性变换的参数。
应当指出的是,在以上计算步骤中,步骤2和步骤3构成了层次化的注意力机制:首先,将注意力限制在局部范围中,以凸显局部的结构特征;其次,采用全局的注意力机制以进行远距离的信息交互。请参考图4,图4为本发明实施例所提供的一种层次化注意力机制的示意图,层次化注意力机制对节点进行编码,其的输入为顶点的嵌入向量,输出为顶点的隐表示。
S1014、利用图数据的图结构信息构造编码树,并利用编码树及各顶点表示生成图表示;图结构信息表示拓扑结构信息。
在得到各顶点的顶点表示之后,本发明实施例还可基于图数据的图结构信息构造编码树,并利用编码树及各顶点表示生成图表示。由于图结构特征可表示本轮网络拓扑结构的拓扑结构信息,因此本发明实施例可综合拓扑结构信息及各顶点的顶点表示得到全面反映本轮网络拓扑结构特征的图表示。
具体的,在本发明实施例中,编码树中的各个节点对应图数据中的一个顶点子集,各节点中的根节点的顶点子集包含所有顶点,各节点中的叶子节点的顶点子集包含一个顶点,若节点是节点/>的孩子节点,则/>构成/>的一个划分,/>、/>、分别为节点/>、节点/>、节点/>的顶点子集,/>。请参考图5,图5为本发明实施例所提供的一种编码树的示意图。需要说明的是,本发明实施例并不限定如何构造编码树,只要其能够记录图数据的结构信息即可,例如本发明实施例可基于最小化结构熵的方式构造编码树。具体的,图数据在编码树中的结构熵可表示为:
;
其中,为结构熵,G为图数据,/>为编码树,/>为编码树中的任一节点,/>为/>的父亲节点,/>,/>为/>的顶点子集,u为/>中的顶点,/>为顶点u在图数据中的度数。本发明实施例仅需将该结构熵作为图数据的图结构信息,并通过最小化结构熵的方式优化编码树,即可得到最能准确反映图数据结构特征(即本轮网络拓扑结构特征)的编码树。
基于此,利用图数据的结构信息构造编码树,可以包括:
步骤1:利用图数据构造初始编码树,并根据图数据在初始编码树中的结构熵对初始编码树进行调整,以使结构熵最小,得到编码树;图结构信息为结构熵,结构熵表示为:
;
其中,为结构熵,G为图数据,/>为编码树,/>为编码树中的任一节点,/>为/>的父亲节点,/>,/>为/>的顶点子集,u为/>中的顶点,/>为顶点u在图数据中的度数。
需要说明的是,本发明实施例并不限定如何优化编码树,使得图数据在编码树中的结构熵最小,可参考最小化结构熵的相关技术。下面以一种具体的实现方式简单介绍编码树的优化方式。
基于此,利用图数据构造初始编码树,并根据图数据在初始编码树中的结构熵对初始编码树进行调整,以使结构熵最小,得到编码树,包括:
步骤1:利用图数据构造初始编码树;初始编码树的高度为2,且初始编码树中的每个叶子节点对应图数据中的一个顶点。
步骤2:将对初始编码树执行第k次合并后得到的编码树记为,对/>中的任意对兄弟节点/>和/>进行合并处理,得到多个待选编码树;/>,合并处理为创建新节点/>,将新节点/>设置为/>的父亲节点的孩子节点,并将/>和/>作为新节点/>的孩子节点。
合并处理可形式化表示为:令,并令/>,/>,。
步骤3:计算各个待选编码树相较于的结构熵缩小值;
步骤4:若结构熵缩小值中的最大值大于预设阈值,则将最大值对应的待选编码树设置为第k+1次合并后得到的编码树;
步骤5:若结构熵缩小值中的最大值不大于预设阈值,则将第k次合并后得到的编码树设置为图数据的编码树。
具体的,步骤4和步骤5可形式化表示为:令。若,则/>,否则,输出/>。
进一步,在得到编码树之后,本发明实施例便可利用编码树及各顶点表示生成图表示。本发明实施例具体可从编码树底部逐层计算各个节点的表示,最后汇聚至根节点,得到所需的图表示。
基于此,利用编码树及各顶点表示生成图表示,可以包括:
将编码树中的第k层节点作为待处理节点;;H为编码树的高度;
步骤1:在确定待处理节点为叶子节点时,将待处理节点对应的顶点所拥有的顶点表示作为待处理节点的初始表示,或在确定待处理节点为非叶子节点时,将待处理节点的孩子节点的最终表示的总和作为待处理节点的初始表示;
步骤2:利用所有待处理节点构造有权图;任意的待处理节点和待处理节点/>在有权图中有边当且仅当存在顶点/>和顶点/>使得顶点u和顶点v在图数据中有边,/>、/>分别为待处理节点/>和待处理节点/>的顶点子集;
步骤3:利用有权图、各待处理节点的初始表示及图神经网络以如下方式生成各待处理节点的最终表示:
;
其中,为待处理节点/>经第p层图神经网络处理后的初始表示,,/>为图神经网络的总层数,/>为待处理节点/>的最终表示,/>为第p层图神经网络的参数矩阵,/>为待处理节点/>的邻居节点的集合,/>为待处理节点/>和待处理节点/>间的权重,/>,/>为顶点u和顶点v间的边,G为图数据,/>,/>为待处理节点/>经第p-1层图神经网络处理后的初始表示,/>。
S1015、当所述图数据中存在锚顶点时,将所述锚顶点的顶点表示和所述图表示整合为环境表示,或当所述图数据中不存在锚顶点时,将所述锚顶点的默认表示和所述图表示整合为所述环境表示;所述锚顶点表示所述待连接网络设备;
若锚节点为u,则采用作为锚节点的表示;若锚节点为空,则采用锚节点的默认表示/>,其中/>是智能体中一个可学习的向量参数。环境的表示为,其中Concate表示连接两个向量的操作。
S1016、将顶点表示和环境表示组合为表示信息。
基于上述实施例,下面对根据表示信息进行动作决策的具体步骤进行详细介绍。在一种可能的情况中,根据表示信息进行动作决策,并利用得到的动作对图数据进行更新,可以包括:
S1021、根据表示信息从图数据中选择目标顶点;所述目标顶点表示所述目标设备。
需要说明的是,本发明实施例并不限定如何根据表示信息从图数据中选择目标顶点,可参考强化学习的相关技术。下面以一种具体的例子介绍选择目标顶点的具体过程。具体的,根据表示信息从图数据中选择目标顶点,可以包括:
步骤1:以如下方式对环境表示进行线性变换得到查询向量:
;
其中,为环境表示,/>和/>用于线性变换。
步骤2:针对图数据中的可选择顶点及各可选择顶点的顶点表示,以如下方式对各可选择顶点的顶点表示进行线性变换得到各候选动作的键/>和值/>:
;
;
其中,候选动作为在可选择顶点中选择顶点作为目标顶点,/>,/>为顶点/>的顶点表示,/>、/>、/>和/>均用于线性变换。
步骤3:以如下方式利用查询向量、键/>和值/>生成查询向量/>:/>
;
其中,,/>表示转置运算;
步骤4:以如下方式对各可选择顶点的顶点表示进行线性变换得到各候选动作的键:
;
其中,和/>均用于线性变换。
步骤4:以如下方式利用查询向量及键/>确定选择各候选动作的概率:
;
;
其中,表示候选动作的罗吉特机率,/>表示选择候选动作的概率。
步骤5:将概率最大的候选动作所选择的顶点作为目标顶点。
当确定本轮网络拓扑结构中存在待连接网络设备时,在目标设备与待连接网络设备间设置链路,并清除对待连接网络设备的标记,或当确定本轮网络拓扑结构中不存在待连接网络设备时,将目标设备标记为待连接网络设备,可以包括:
S1031、当本轮动作决策的决策步数为k-1步时,将目标顶点标记为锚顶点图数据;,l为需在网络拓扑结构中增加的边数,2l为动作决策的总轮数。
如上所述,为了在网络拓扑结构中增加一条边,需要执行两轮动作决策处理,得到两个动作,第一个动作用于选择待连接网络设备(即锚顶点),第二个动作用于选择与待连接网络设备连接的网络设备。因此,当确定本轮动作决策的决策步数为k-1步,即确定本轮动作决策处理需决策两个动作中的前一个动作时,本发明实施例可将决策出的目标顶点标记为锚顶点,即将本轮网络拓扑结构中与目标顶点对应的目标设备标记为待连接网络设备。
S1032、当本轮动作决策的决策步数为k步时,在图数据中增加目标顶点与锚顶点间的边,并清除图数据对锚顶点的标记。
同样的,当确定本轮动作决策处理的决策步数为k步,即确定本轮动作决策处理需决策两个动作中的后一个动作时,本发明实施例可将决策出的目标顶点与图数据已有的锚顶点进行连接,即将本轮决策出的目标设备与本轮网络拓扑结构中的待连接网络设备连接,以在本轮网络拓扑结构中增加链路。随后,需并清除对图数据中锚顶点的标记,即清除对本轮网络拓扑结构中待连接网络设备的标记。
基于上述实施例,为方便理解,请参考图6,图6为本发明实施例所提供的另一种网络拓扑结构增强的流程图。本方法具体可包含4个主要流程,分别为:1、基于领域知识构造环境状态信息,以引入领域知识以充分刻画环境状态;2、基于层次化注意力机制的节点表示,以在提取节点表示的过程中设计了层次化的注意力机制,逐步扩大信息交互的范围,以充分凸显局部的特性以及利用远距离节点的信息;3、基于结构信息熵的环境表示,以基于编码树和各节点的表示求出整个网络的层次化表示;4、决策网络决策。
基于上述实施例,为了进一步提升得到更优的多条链路的可能性,本发明实施例还可使用多个智能体对待增强网络拓扑结构分别进行多轮动作决策,其中这些智能体设置有相同的感知模块,以及设置有不同的决策网络,以利用多个智能体生成多组不同的、顺序记录有智能体在每轮动作决策所选出的网络设备的初始动作序列,并可利用这些初始动作序列确定增强效果最佳的最佳动作序列,从而可基于该最佳动作序列得到增强效果更优的多条链路。基于此,利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在待增强网络拓扑结构中增加的多条链路,可以包括:
S300、利用多个智能体分别对待增强网络拓扑结构进行多轮动作决策,得到各智能体产生的初始动作序列;各智能体设置有相同的感知模块和不同的决策网络,感知模块用于执行生成与本轮网络拓扑结构对应的表示信息的步骤,决策网络用于执行根据表示信息在本轮网络拓扑结构中选择目标设备的步骤;动作序列顺序记录有智能体在每轮动作决策所选出的网络设备。
在本发明实施例中,可使用多个智能体分别对待增强网络拓扑结构进行多轮动作决策,以生成多组初始动作序列,其中该动作序列顺序记录有智能体在每轮动作决策所选出的网络设备,因此仅需对动作序列中的网络设备顺次连接,便可得到需在待增强网络拓扑结构中增加的链路。由于各智能体设置有相同的感知模块,以及设置有不同的决策网络,因此各智能体可采用相同的方式对网络拓扑结构进行感知,但可基于不同的决策网络给出不同的动作决策。如上所述,由于强化学习的智能体需根据上一轮动作对环境的改变情况来决定本轮采取何种动作,因此在决策网络不同的情况下,各智能体给出的动作序列将存在显著差异。这为丰富初始动作序列的种类、基于多种初始动作序列得到效果更优的最佳动作序列并进而得到增强效果更优的多条链路提供了便利。
需要说明的是,本发明实施例并不限定智能体的数量,可根据实际应用需求进行设定。本发明实施例也不限定各智能体决策网络的差异点,例如各决策网络可具有相同的网络结构但具有不同的网络参数,当然也可不同的网络结构及不同的网络参数,可根据实际应用需求进行设定。为方便智能体训练,在本发明实施例中,各智能体的决策网络可仅在网络参数上存在差异,而具有相同的网络结构。
S400、利用各初始动作序列生成最佳动作序列。
在得到初始动作序列之后,本发明实施例可直接将对应最高鲁棒性提升值的初始动作序列作为最佳动作序列,其中鲁棒性提升值可基于预设鲁棒性评价函数生成。当然,除此以外,本发明实施例还可基于局部搜索的方法,利用网络拓扑结构的原始图数据对各初始动作序列进行优化,具体可基于局部搜索方式,利用待增强网络拓扑结构中的网络设备对初始动作序列中的网络设备进行替换,并确定各优化后的初始动作序列的鲁棒性提升值;随后,可将对应最高鲁棒性提升值的、优化后的初始动作序列作为最佳动作序列,从而进一步提升发现增强效果更优的动作序列的可能性。
基于此,利用各初始动作序列生成最佳动作序列,可以包括:
步骤401:基于局部搜索方式,利用待增强网络拓扑结构中的网络设备对初始动作序列中的网络设备进行替换;
步骤402:利用预设鲁棒性评价函数确定替换后的各初始动作序列对应的鲁棒性提升值;
步骤403:将鲁棒性提升值中的最大值对应的初始动作序列设置为最佳动作序列。
需要说明的是,本发明实施例并不限定如何基于局部搜索方式,利用原始图数据对各初始动作序列进行优化,可参考局部搜索算法的相关技术。
下面对局部搜索算法的过程进行简单介绍。局部搜索算法的过程如下:
输入:初始解;滑动窗口的大小w;滑动步长step。其中初始解可来自一组初始动作序列。
Step 0:初始化滑动窗口的初始位置i=0;初始化best_sol = None,best_imp =—∞,end = None;
Step 1:若i与end不相等,则:
利用任意的(/>由可从待增强网络拓扑结构中提取出的网络设备节点组成),对窗口中的顶点进行替换:
;
记替换后得到的解为sol。若sol为可行解,则计算该可行解的鲁棒性提升量imp。若 imp>best_imp,则令best_sol←sol,best_imp←imp,end←i;i←(i+step)%2l;
Step 2:返回提升后的解。
S500、对最佳动作序列中的网络设备进行顺次连接,得到需在待增强网络拓扑结构中增加的多条链路。
如上所述,由于动作序列顺序记录有智能体在每轮动作决策所选出的网络设备,因此在得到最佳动作序列之后,仅需对最佳动作序列中的网络设备顺次连接,便可得到需在待增强网络拓扑结构中增加的链路。例如,对于动作序列{设备1、设备2、设备3、设备4},可将设备1与设备2连接,设备3与设备4连接。
下面对多智能体的训练方式进行详细介绍。为方便介绍,本发明实施例将基于两个智能体介绍训练过程。
基于此,本方法还可以包括:
S600、利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮动作决策,得到第一初始智能体产生的第一动作序列和第二初始智能体产生的第二动作序列。
第一初始智能体和第二初始智能体为训练前的智能体,而训练网络拓扑结构为训练这两个智能体的训练数据。需要说明的是,本发明实施例并不限定具体的训练网络拓扑结构,但由于智能体中的决策网络参数与网络拓扑结构的相关性较强,即训练后的决策网络在训练该决策网络的网络拓扑结构上决策效果最好,因此训练网络拓扑结构可以为实际要增强的网络拓扑结构本身。
进一步,第一初始智能体和第二初始智能体生成动作序列的具体过程与上述实施例中的描述一致,此处不再赘述。
S700、分别对第一动作序列和第二动作序列中的网络设备进行顺次连接,得到第一动作序列对应的第一链路序列和第二动作序列对应的第二链路序列,并分别利用第一链路序列和第二链路序列对训练网络拓扑结构进行增强,得到第一初始智能体对应的第一增强网络拓扑结构和第二初始智能体对应的第一增强网络拓扑结构。
S800、利用预设鲁棒性评价函数分别确定第一增强网络拓扑结构相较于训练网络拓扑结构的第一鲁棒性提升值和第二增强网络拓扑结构相较于训练网络拓扑结构的第二鲁棒性提升值。
具体的,第一鲁棒性提升值和第二鲁棒性值可表示为:
;
;
其中,表示预设鲁棒性评价函数,/>为第一鲁棒性提升值,/>为第二鲁棒性值,/>为第一增强网络拓扑结构,/>为第二增强网络拓扑结构,G为训练网络拓扑结构。
S900、利用第一动作序列、第二动作序列、第一鲁棒性提升值和第二鲁棒性提升值对第一初始智能体的第一策略网络和第二初始智能体的第二策略网络进行参数优化,以使第一策略网络的参数和第二策略网络的参数不同,得到第一智能体和第二智能体。
为使得第一智能体和第二智能体所生成的动作序列存在显著差异,本发明特别利用利用第一动作序列、第二动作序列、第一鲁棒性提升值和第二鲁棒性提升值对第一初始智能体的第一策略网络和第二初始智能体的第二策略网络进行参数优化,具体可基于第一策略网络生成第一动作序列和第二策略网络生成第一动作序列间的概率差异,以及第一策略网络生成第二动作序列和第二策略网络生成第二动作序列间的概率差异来引导第一策略网络和第二策略网络的网络参数进行更新,从而确保第一策略网络和第二策略网络的网络参数存在显著差异,并可基于相同网络拓扑结构产出存在显著差异的两组动作序列。
当然,需要指出的是,步骤S500至S800可迭代执行。具体的,可预设一个训练迭代次数,若该次数未耗尽,则可继续对第一初始智能体和第二初始智能体进行训练,反之则可将将优化后的第一初始智能体和优化后的第二初始智能体设置为第一智能体和第二智能体。
基于此,在利用第一动作序列、第二动作序列、第一鲁棒性提升值和第二鲁棒性提升值对第一初始智能体的第一策略网络和第二初始智能体的第二策略网络进行参数优化之后,还包括:
S1000、判断预设训练迭代次数是否耗尽;若是,则进入步骤S1100;若否,则进入步骤S1200;
S1100、将优化后的第一初始智能体和优化后的第二初始智能体设置为第一智能体和第二智能体;
S1200、基于优化后的第一初始智能体和优化后的第二初始智能体进入利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构对应的训练图数据进行多轮动作决策处理,得到第一初始智能体产生的第一动作序列和第二初始智能体产生的第二动作序列的步骤。
下面将对对第一策略网络和第二策略网络进行参数优化的过程进行介绍。基于此,利用第一动作序列、第二动作序列、第一鲁棒性提升值和第二鲁棒性提升值对第一初始智能体的第一策略网络和第二初始智能体的第二策略网络进行参数优化,包括:
步骤901:以如下方式利用第一策略网络、第二策略网络确定第一动作序列和第二动作序列中各个动作对应的奖励值:
;
;
其中,为第一动作序列中的第t个动作/>的奖励值,/>为第二动作序列中的第t个动作/>的奖励值,/>为第一策略网络,/>表示第二策略网络,为在环境/>下第一策略网络选择动作/>的概率,/>为在环境下第一策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率;动作表征智能体在每轮动作决策对设备的选择。
本发明实施例首先提供了一种奖励值的计算方式。具体的,本发明实施例可基于第一策略网络和第二策略网络在相同环境条件下给出相同动作的概率差异来确定奖励值。进而,只要上述概率差异越大,则奖励越大,这样便能够引导第一策略网络和第二策略网络的参数朝向增大差异的方向进行优化。
步骤902:以如下方式利用第一动作序列中各动作的奖励值、第二动作序列中各动作的奖励值、第一鲁棒性提升值及第二鲁棒性提升值分别对第一策略网络的参数和第二策略网络的参数进行优化:
;
其中,为第一策略网络的参数,/>为第二策略网络的参数,/>为学习率,为优化函数,/>,为主优化函数,/>为辅助优化函数,/>表示为:/>
;
为第一鲁棒性提升值,/>为第二鲁棒性提升值;
表示为:
。
进一步,本发明还提供了两种优化函数,即主优化函数和辅助优化函数。其中,设置主优化函数的目的是在提升第一初始智能体A和第二初始智能体B求解质量的同时,鼓励二者学习出不同的策略;而辅助优化函数是在增加智能体A和B间的差异性。通过设置上述两种优化函数,并利用这两种优化函数对第一初始智能体和第二初始智能体的决策网络参数进行优化,本发明实施例不仅可提升其二者所产生的动作序列的质量,同时还能进一步增大二者所产生的动作序列间的差异性,以为丰富初始动作序列提供便利。
下面对本发明实施例提供的网络拓扑结构增强装置、电子设备及计算机可读存储介质进行介绍,下文描述的网络拓扑结构增强装置、电子设备及计算机可读存储介质与上文描述的网络拓扑结构增强方法可相互对应参照。
请参考图7,图7为本发明实施例所提供的一种网络拓扑结构增强装置的结构框图,该装置可以包括:
智能体模块710,用于利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在待增强网络拓扑结构中增加的多条链路;
增强模块720,用于利用多条链路对待增强网络拓扑结构进行增强;
其中,智能体模块710,包括:
感知模块711,用于生成与本轮网络拓扑结构对应的表示信息;表示信息记录有本轮网络拓扑结构中的各网络设备在本轮网络拓扑结构中的设备位置信息、各网络设备与其他网络设备间的设备间特征信息以及本轮网络拓扑结构的拓扑结构信息,本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为待增强网络拓扑结构;
决策网络712,用于根据表示信息在本轮网络拓扑结构中选择目标设备;
更新模块713,用于当确定本轮网络拓扑结构中存在待连接网络设备时,在目标设备与待连接网络设备间设置链路,并清除对待连接网络设备的标记,或当确定本轮网络拓扑结构中不存在待连接网络设备时,将目标设备标记为待连接网络设备;
设置模块,用于将设置后的本轮网络拓扑结构作为下轮网络拓扑结构。
可选地,该装置还可以包括:
单智能体训练模块,用于利用训练网络拓扑结构和预设鲁棒性评价函数对智能体进行训练,以使训练后的智能体为训练网络拓扑结构带来的鲁棒性提升值大于训练前的智能体为训练网络拓扑结构带来的鲁棒性提升值;鲁棒性提升值为增强后的训练网络拓扑结构对应的鲁棒性值与增强前的训练网络拓扑结构对应的鲁棒性值间的差值,鲁棒性值由预设鲁棒性评价函数为训练网络拓扑结构计算得到。
可选地,预设鲁棒性评价函数为:
;
其中,表示预设鲁棒性评价函数,G表示网络拓扑结构,/>表示期望,/>表示攻击策略,/>表示基于攻击策略从网络拓扑结构采样得到的网络设备序列,/>表示按照网络设备序列/>从网络拓扑结构中移除网络设备使得网络拓扑结构剩余的网络设备不连通所需移除的网络设备的比例。
可选地,训练网络拓扑结构为待增强网络拓扑结构。
可选地,感知模块711,可以包括:
转换子模块,用于将本轮网络拓扑结构转换为图数据;图数据中的顶点和边分别对应本轮网络拓扑结构中的网络设备和链路;
信息确定子模块,用于确定各顶点在图数据中的顶点位置信息和各顶点与其他顶点间的顶点间特征信息;顶点的顶点位置信息和顶点间特征信息表示与顶点对应的网络设备的设备位置信息和设备间特征信息;
顶点表示生成子模块,用于利用各顶点的顶点位置信息和顶点间特征信息生成各顶点的顶点表示;
图表示生成子模块,用于利用图数据的图结构信息构造编码树,并利用编码树及各顶点表示生成图表示;图结构信息表示拓扑结构信息;
环境表示生成子模块,用于当图数据中存在锚顶点时,将锚顶点的顶点表示和图表示整合为环境表示,或当图数据中不存在锚顶点时,将锚顶点的默认表示和图表示整合为环境表示;锚顶点表示待连接网络设备;
表示信息整合子模块,用于将顶点表示和环境表示组合为表示信息。
可选的,顶点表示生成子模块,可以包括:
嵌入单元,用于将顶点的顶点位置信息和顶点间特征信息整合为嵌入向量;
局部注意力处理单元,用于利用各顶点的邻居顶点的嵌入向量,对各顶点的嵌入向量进行注意力机制处理;
全局注意力处理单元,用于利用所有顶点处理后的嵌入向量,对各顶点处理后的嵌入向量再次进行注意力机制处理,得到各顶点对应的顶点表示。
可选地,顶点表示生成子模块,还可以包括:
拉普拉斯矩阵获取单元,用于获取图数据对应的拉普拉斯矩阵;
嵌入坐标生成单元,用于利用拉普拉斯矩阵生成各顶点的嵌入坐标,并将嵌入坐标设置为各顶点的顶点位置信息;嵌入坐标为,u为顶点,/>和/>分别为拉普拉斯矩阵的第2个特征值的特征向量和第3个特征值的特征向量。
可选地,顶点表示生成子模块,还可以包括:
局部特征确定单元,用于确定顶点与其邻居顶点间的局部特征;
相对特征确定单元,用于当图数据中存在锚顶点时,确定顶点与锚顶点间的相对特征,或当图数据中不存在锚顶点时,将相对特征设置为默认值;
顶点间特征信息组合单元,用于利用局部特征和相对特征组成顶点的顶点间特征信息。
可选地,局部特征确定单元,可以用于:
将顶点的度数、邻居顶点的平均度数和顶点与其邻居顶点间的聚类系数中的任一种或多种的组合设置为局部特征;聚类系数为顶点与其邻居顶点间实际形成的三角形数量与顶点与其邻居顶点间可形成的三角形数量的比值。
可选地,相对特征确定单元,可以用于:
将顶点与锚顶点间的距离、顶点的度数与锚顶点的度数的乘积、顶点与锚顶点间的代数距离和顶点与锚顶点间的相似度中的任一种或多种的组合设置为相对特征;代数距离为,u为顶点,v为锚顶点;相似度为顶点与锚顶点间的公共邻居顶点在顶点和锚顶点两者的所有邻居顶点中的占比。
可选地,编码树中的各个节点对应图数据中的一个顶点子集,其中根节点的顶点子集包含所有顶点,叶子节点的顶点子集包含一个顶点,若节点是节点/>的孩子节点,则/>构成/>的一个划分,其中/>、/>、/>分别为节点/>、节点/>、节点/>的顶点子集,/>。
可选地,图表示生成子模块,可以包括:
编码树生成单元,用于利用图数据构造初始编码树,并根据图数据在初始编码树中的结构熵对初始编码树进行调整,以使结构熵最小,得到编码树;图结构信息为结构熵,结构熵表示为:
;
其中,为结构熵,G为图数据,/>为编码树,/>为编码树中的任一节点,/>为/>的父亲节点,/>,/>为/>的顶点子集,u为/>中的顶点,/>为顶点u在图数据中的度数。
可选地,编码树生成单元,具体用于:
利用图数据构造初始编码树;初始编码树的高度为2,且初始编码树中的每个叶子节点对应图数据中的一个顶点;
将对初始编码树执行第k次合并后得到的编码树记为,对/>中的任意对兄弟节点/>和/>进行合并处理,得到多个待选编码树;/>,合并处理为创建新节点/>,将新节点/>设置为/>的父亲节点的孩子节点,并将/>和/>作为新节点/>的孩子节点;
计算各个待选编码树相较于的结构熵缩小值;/>
若结构熵缩小值中的最大值大于预设阈值,则将最大值对应的待选编码树设置为第k+1次合并后得到的编码树;
若结构熵缩小值中的最大值不大于预设阈值,则将第k次合并后得到的编码树设置为图数据的编码树。
可选地,图表示生成子模块,可以包括:
图表示生成单元,具体用于:将编码树中的第k层节点作为待处理节点;;H为编码树的高度;
在确定待处理节点为叶子节点时,将待处理节点对应的顶点所拥有的顶点表示作为待处理节点的初始表示,或在确定待处理节点为非叶子节点时,将待处理节点的孩子节点的最终表示的总和作为待处理节点的初始表示;
利用所有待处理节点构造有权图;任意的待处理节点和待处理节点/>在有权图中有边当且仅当存在顶点/>和顶点/>使得顶点u和顶点v在图数据中有边,/>、/>分别为待处理节点/>和待处理节点/>的顶点子集;
利用有权图、各待处理节点的初始表示及图神经网络以如下方式生成各待处理节点的最终表示:
;
其中,为待处理节点/>经第p层图神经网络处理后的初始表示,,/>为图神经网络的总层数,/>为待处理节点/>的最终表示,/>为第p层图神经网络的参数矩阵,/>为待处理节点/>的邻居节点的集合,/>为待处理节点/>和待处理节点/>间的权重,/>,为顶点u和顶点v间的边,G为图数据,/>,/>为待处理节点/>经第p-1层图神经网络处理后的初始表示,/>。
可选地,决策网络712,可以包括:
决策子模块,用于根据表示信息从本轮图数据中选择目标顶点;目标顶点表示目标设备;
更新模块713,可以包括:
第一更新子模块,用于当本轮动作决策的决策步数为k-1步时,将目标顶点标记为锚顶点;,l为需在网络拓扑结构中增加的边数,2l为动作决策的总轮数;
第二更新子模块,用于当本轮动作决策的决策步数为k步时,在图数据中增加目标顶点与锚顶点间的边,并清除对锚顶点的标记。
可选地,决策子模块,具体用于:
以如下方式对环境表示进行线性变换得到查询向量:
;
其中,为环境表示,/>和/>用于线性变换;
针对图数据中的可选择顶点及各可选择顶点的顶点表示,以如下方式对各可选择顶点的顶点表示进行线性变换得到各候选动作的键/>和值/>:
;
;
其中,候选动作为在可选择顶点中选择顶点作为目标顶点,/>,/>为顶点/>的顶点表示,/>、/>、/>和/>均用于线性变换;
以如下方式利用查询向量、键/>和值/>生成查询向量/>:
;
其中,,/>表示转置运算;
以如下方式对各可选择顶点的顶点表示进行线性变换得到各候选动作的键:
;
其中,和/>均用于线性变换;
以如下方式利用查询向量及键/>确定选择各候选动作的概率:
;
;
其中,表示候选动作的罗吉特机率,/>表示选择候选动作的概率;/>
将概率最大的候选动作所选择的顶点作为目标顶点。
可选地,智能体模块710,可以包括:
多智能体子模块,用于利用多个智能体分别对待增强网络拓扑结构进行多轮动作决策,得到各智能体产生的初始动作序列;各智能体设置有相同的感知模块和不同的决策网络,感知模块用于执行生成与本轮网络拓扑结构对应的表示信息的步骤,决策网络用于执行根据表示信息在本轮网络拓扑结构中选择目标设备的步骤动作序列顺序记录有智能体在每轮动作决策所选出的网络设备;
最佳动作序列生成子模块,用于利用各初始动作序列生成最佳动作序列;
链路确定子模块,用于对最佳动作序列中的网络设备进行顺次连接,得到需在待增强网络拓扑结构中增加的多条链路。
可选地,智能体的数量为两个,本装置还可以包括:
多智能体训练模块,具体用于:利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮动作决策,得到第一初始智能体产生的第一动作序列和第二初始智能体产生的第二动作序列;
分别对第一动作序列和第二动作序列中的网络设备进行顺次连接,得到第一动作序列对应的第一链路序列和第二动作序列对应的第二链路序列,并分别利用第一链路序列和第二链路序列对训练网络拓扑结构进行增强,得到第一初始智能体对应的第一增强网络拓扑结构和第二初始智能体对应的第一增强网络拓扑结构;
利用预设鲁棒性评价函数分别确定第一增强网络拓扑结构相较于训练网络拓扑结构的第一鲁棒性提升值和第二增强网络拓扑结构相较于训练网络拓扑结构的第二鲁棒性提升值;
利用第一动作序列、第二动作序列、第一鲁棒性提升值和第二鲁棒性提升值对第一初始智能体的第一策略网络和第二初始智能体的第二策略网络进行参数优化,以使第一策略网络的参数和第二策略网络的参数不同,得到第一智能体和第二智能体。
可选地,多智能体训练模块,还可以用于:
以如下方式利用第一策略网络、第二策略网络确定第一动作序列和第二动作序列中各个动作对应的奖励值:
;
;
其中,为第一动作序列中的第t个动作/>的奖励值,/>为第二动作序列中的第t个动作/>的奖励值,/>为第一策略网络,/>表示第二策略网络,为在环境/>下第一策略网络选择动作/>的概率,/>为在环境下第一策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率;动作表征智能体在每轮动作决策对设备的选择;/>
以如下方式利用第一动作序列中各动作的奖励值、第二动作序列中各动作的奖励值、第一鲁棒性提升值及第二鲁棒性提升值分别对第一策略网络的参数和第二策略网络的参数进行优化:
;
其中,为第一策略网络的参数,/>为第二策略网络的参数,/>为学习率,为优化函数,/>,为主优化函数,/>为辅助优化函数,/>表示为:
;
为第一鲁棒性提升值,/>为第二鲁棒性提升值;/>表示为:
。
可选地,训练模块,还可以用于:
判断预设训练迭代次数是否耗尽;
若是,则将优化后的第一初始智能体和优化后的第二初始智能体设置为第一智能体和第二智能体;
若否,则基于优化后的第一初始智能体和优化后的第二初始智能体进入利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮动作决策,得到第一初始智能体产生的第一动作序列和第二初始智能体产生的第二动作序列的步骤。
可选地,最佳动作序列生成子模块,可以包括:
优化单元,用于基于局部搜索方式,利用待增强网络拓扑结构中的网络设备对初始动作序列中的网络设备进行替换;
提升值确定单元,用于利用预设鲁棒性评价函数确定替换后的各初始动作序列对应的鲁棒性提升值;
设置单元,用于将鲁棒性提升值中的最大值对应的初始动作序列设置为最佳动作序列。
请参考图8,图8为本发明实施例所提供的一种电子设备的结构框图,本发明实施例提供了一种电子设备80,包括处理器81和存储器82;其中,所述存储器82,用于保存计算机程序;所述处理器81,用于在执行所述计算机程序时执行前述实施例提供的网络拓扑结构增强方法。
关于上述网络拓扑结构增强方法的具体过程可以参考前述实施例中提供的相应内容,在此不再进行赘述。
并且,所述存储器82作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备80还包括电源83、通信接口84、输入输出接口85和通信总线86;其中,所述电源83用于为所述电子设备80上的各硬件设备提供工作电压;所述通信接口84能够为所述电子设备80创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口85,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的网络拓扑结构增强方法的步骤。
由于计算机可读存储介质部分的实施例与网络拓扑结构增强方法部分的实施例相互对应,因此存储介质部分的实施例请参见网络拓扑结构增强方法部分的实施例的描述,这里不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种网络拓扑结构增强方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (23)
1.一种网络拓扑结构增强方法,其特征在于,包括:
利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路;
利用所述多条链路对所述待增强网络拓扑结构进行增强;
其中,所述智能体在进行每轮所述动作决策时执行:
生成与本轮网络拓扑结构对应的表示信息;所述表示信息记录有所述本轮网络拓扑结构中的各网络设备在所述本轮网络拓扑结构中的设备位置信息、各所述网络设备与其他网络设备间的设备间特征信息以及所述本轮网络拓扑结构的拓扑结构信息,所述本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为所述待增强网络拓扑结构;
根据所述表示信息在所述本轮网络拓扑结构中选择目标设备;
当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备;
将设置后的本轮网络拓扑结构作为下轮网络拓扑结构;
所述生成与本轮网络拓扑结构对应的表示信息,包括:
将所述本轮网络拓扑结构转换为图数据;所述图数据中的顶点和边分别对应所述本轮网络拓扑结构中的网络设备和链路;
确定各所述顶点在所述图数据中的顶点位置信息和各所述顶点与其他顶点间的顶点间特征信息;所述顶点的顶点位置信息和顶点间特征信息表示与所述顶点对应的网络设备的设备位置信息和设备间特征信息;
利用各所述顶点的顶点位置信息和各所述顶点的顶点间特征信息生成各所述顶点的顶点表示;
利用所述图数据的图结构信息构造编码树,并利用所述编码树及各所述顶点表示生成图表示;所述图结构信息表示所述拓扑结构信息;
当所述图数据中存在锚顶点时,将所述锚顶点的顶点表示和所述图表示整合为环境表示,或当所述图数据中不存在锚顶点时,将所述锚顶点的默认表示和所述图表示整合为所述环境表示;所述锚顶点表示所述待连接网络设备;
将所述顶点表示和所述环境表示组合为所述表示信息。
2.根据权利要求1所述的网络拓扑结构增强方法,其特征在于,在利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策之前,还包括:
利用训练网络拓扑结构和预设鲁棒性评价函数对所述智能体进行训练,以使训练后的所述智能体为所述训练网络拓扑结构带来的鲁棒性提升值大于训练前的所述智能体为所述训练网络拓扑结构带来的鲁棒性提升值;所述鲁棒性提升值为增强后的训练网络拓扑结构对应的鲁棒性值与增强前的训练网络拓扑结构对应的鲁棒性值间的差值,所述鲁棒性值由所述预设鲁棒性评价函数为所述训练网络拓扑结构计算得到。
3.根据权利要求2所述的网络拓扑结构增强方法,其特征在于,所述预设鲁棒性评价函数为:
;
其中,表示所述预设鲁棒性评价函数,G表示网络拓扑结构,/>表示期望,/>表示攻击策略,/>表示基于所述攻击策略从所述网络拓扑结构采样得到的网络设备序列,表示按照所述网络设备序列/>从所述网络拓扑结构中移除网络设备使得网络拓扑结构剩余的网络设备不连通所需移除的网络设备的比例。
4.根据权利要求2所述的网络拓扑结构增强方法,其特征在于,所述训练网络拓扑结构为所述待增强网络拓扑结构。
5.根据权利要求1所述的网络拓扑结构增强方法,其特征在于,所述利用各所述顶点的顶点位置信息和各所述顶点的顶点间特征信息生成各所述顶点的顶点表示,包括:
将所述顶点的顶点位置信息和所述顶点的顶点间特征信息整合为嵌入向量;
利用各所述顶点的邻居顶点的嵌入向量,对各所述顶点的嵌入向量进行注意力机制处理;
利用所有所述顶点处理后的嵌入向量,对各所述顶点处理后的嵌入向量再次进行所述注意力机制处理,得到各所述顶点对应的顶点表示。
6.根据权利要求1所述的网络拓扑结构增强方法,其特征在于,确定各所述顶点在所述图数据中的顶点位置信息,包括:
获取所述图数据对应的拉普拉斯矩阵;
利用所述拉普拉斯矩阵生成各所述顶点的嵌入坐标,并将所述嵌入坐标设置为各所述顶点的顶点位置信息;所述嵌入坐标为,u为所述顶点,/>和/>分别为所述拉普拉斯矩阵的第2个特征值的特征向量和第3个特征值的特征向量。
7.根据权利要求6所述的网络拓扑结构增强方法,其特征在于,确定各所述顶点与其他顶点间的顶点间特征信息,包括:
确定所述顶点与其邻居顶点间的局部特征;
当所述图数据中存在所述锚顶点时,确定所述顶点与所述锚顶点间的相对特征,或当所述图数据中不存在所述锚顶点时,将所述相对特征设置为默认值;
利用所述局部特征和所述相对特征组成所述顶点的顶点间特征信息。
8.根据权利要求7所述的网络拓扑结构增强方法,其特征在于,所述确定所述顶点与其邻居顶点间的局部特征,包括:
将所述顶点的度数、所述邻居顶点的平均度数和所述顶点与其邻居顶点间的聚类系数中的任一种或多种的组合设置为所述局部特征;所述聚类系数为所述顶点与其邻居顶点间实际形成的三角形数量与所述顶点与其邻居顶点间可形成的三角形数量的比值。
9.根据权利要求7所述的网络拓扑结构增强方法,其特征在于,所述确定所述顶点与所述锚顶点间的相对特征,包括:
将所述顶点与所述锚顶点间的距离、所述顶点的度数与所述锚顶点的度数的乘积、所述顶点与所述锚顶点间的代数距离和所述顶点与所述锚顶点间的相似度中的任一种或多种的组合设置为所述相对特征;所述代数距离为,u为所述顶点,v为所述锚顶点;所述相似度为所述顶点与所述锚顶点间的公共邻居顶点在所述顶点和所述锚顶点两者的所有邻居顶点中的占比。
10.根据权利要求1所述的网络拓扑结构增强方法,其特征在于,所述编码树中的各个节点对应所述图数据中的一个顶点子集,各所述节点中的根节点的顶点子集包含所有所述顶点,各所述节点中的叶子节点的顶点子集包含一个所述顶点,若节点是节点的孩子节点,则/>构成/>的一个划分,/>、/>、/>分别为节点/>、节点/>、节点/>的顶点子集,/>。
11.根据权利要求10所述的网络拓扑结构增强方法,其特征在于,所述利用所述图数据的图结构信息构造编码树,包括:
利用所述图数据构造初始编码树,并根据所述图数据在所述初始编码树中的结构熵对所述初始编码树进行调整,以使所述结构熵最小,得到所述编码树;所述图结构信息为所述结构熵,所述结构熵表示为:
;
其中,为所述结构熵,G为所述图数据,/>为所述编码树,/>为所述编码树中的任一节点,/>为/>的父亲节点,/>,/>为/>的顶点子集,u为/>中的顶点,/>为顶点u在所述图数据中的度数。
12.根据权利要求11所述的网络拓扑结构增强方法,其特征在于,所述利用所述图数据构造初始编码树,并根据所述图数据在所述初始编码树中的结构熵对所述初始编码树进行调整,以使所述结构熵最小,得到所述编码树,包括:
利用所述图数据构造所述初始编码树;所述初始编码树的高度为2,且所述初始编码树中的每个叶子节点对应所述图数据中的一个顶点;
将对所述初始编码树执行第k次合并后得到的编码树记为,对/>中的任意对兄弟节点/>和/>进行合并处理,得到多个待选编码树;/>,所述合并处理为创建新节点/>,将所述新节点/>设置为/>的父亲节点的孩子节点,并将/>和/>作为所述新节点/>的孩子节点;
计算各个所述待选编码树相较于的结构熵缩小值;
若所述结构熵缩小值中的最大值大于预设阈值,则将所述最大值对应的待选编码树设置为第k+1次合并后得到的编码树;
若所述结构熵缩小值中的最大值不大于所述预设阈值,则将所述第k次合并后得到的编码树设置为所述图数据的编码树。
13.根据权利要求10所述的网络拓扑结构增强方法,其特征在于,所述利用所述编码树及各所述顶点表示生成图表示,包括:
将所述编码树中的第k层节点作为待处理节点;
;H为所述编码树的高度;
在确定所述待处理节点为所述叶子节点时,将所述待处理节点对应的顶点所拥有的顶点表示作为所述待处理节点的初始表示,或在确定所述待处理节点为非叶子节点时,将所述待处理节点的孩子节点的最终表示的总和作为所述待处理节点的初始表示;
利用所有所述待处理节点构造有权图;任意的待处理节点和待处理节点/>在所述有权图中有边当且仅当存在顶点/>和顶点/>使得所述顶点u和所述顶点v在所述图数据中有边,所述/>、/>分别为所述待处理节点/>和所述待处理节点/>的顶点子集;
利用所述有权图、各所述待处理节点的初始表示及图神经网络以如下方式生成各所述待处理节点的最终表示:
;
其中,为所述待处理节点/>经第p层图神经网络处理后的初始表示,,/>为所述图神经网络的总层数,/>为所述待处理节点/>的最终表示,为第p层图神经网络的参数矩阵,/>为所述待处理节点/>的邻居节点的集合,为所述待处理节点/>和待处理节点/>间的权重,,/>为顶点u和顶点v间的边,G为所述图数据,/>,/>为所述待处理节点/>经第p-1层图神经网络处理后的初始表示,/>。
14.根据权利要求1所述的网络拓扑结构增强方法,其特征在于,所述根据所述表示信息在所述本轮网络拓扑结构中选择目标设备,包括:
根据所述表示信息从所述图数据中选择目标顶点;所述目标顶点表示所述目标设备;
所述当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备,包括:
当本轮动作决策的决策步数为k-1步时,将所述目标顶点标记为所述锚顶点;,l为需在所述网络拓扑结构中增加的边数,2l为所述动作决策的总轮数;
当本轮动作决策的决策步数为k步时,在所述图数据中增加所述目标顶点与所述锚顶点间的边,并清除对所述锚顶点的标记。
15.根据权利要求14所述的网络拓扑结构增强方法,其特征在于,所述根据所述表示信息从所述图数据中选择目标顶点,包括:
以如下方式对所述环境表示进行线性变换得到查询向量:
;
其中,为所述环境表示,/>和/>用于线性变换;
针对所述图数据中的可选择顶点及各所述可选择顶点的顶点表示,以如下方式对各所述可选择顶点的顶点表示进行线性变换得到各候选动作的键/>和值/>:
;
;
其中,所述候选动作为在所述可选择顶点中选择顶点作为所述目标顶点,,/>为所述顶点/>的顶点表示,/>、/>、/>和/>均用于线性变换;
以如下方式利用所述查询向量、所述键/>和所述值/>生成查询向量/>:
;
其中,,/>表示转置运算;
以如下方式对各所述可选择顶点的顶点表示进行线性变换得到各候选动作的键:
;
其中,和/>均用于线性变换;
以如下方式利用所述查询向量及所述键/>确定选择各所述候选动作的概率:
;
;
其中,表示所述候选动作的罗吉特机率,/>表示选择所述候选动作的概率;
将概率最大的候选动作所选择的顶点作为所述目标顶点。
16.根据权利要求1至15任一项所述的网络拓扑结构增强方法,其特征在于,所述利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路,包括:
利用多个所述智能体分别对所述待增强网络拓扑结构进行多轮所述动作决策,得到各所述智能体产生的初始动作序列;各所述智能体设置有相同的感知模块和不同的决策网络,所述感知模块用于执行所述生成与本轮网络拓扑结构对应的表示信息的步骤,所述决策网络用于执行所述根据所述表示信息在所述本轮网络拓扑结构中选择目标设备的步骤;动作序列顺序记录有所述智能体在每轮动作决策所选出的网络设备;
利用各所述初始动作序列生成最佳动作序列;
对所述最佳动作序列中的网络设备进行顺次连接,得到需在所述待增强网络拓扑结构中增加的多条链路。
17.根据权利要求16所述的网络拓扑结构增强方法,其特征在于,所述智能体的数量为两个,还包括:
利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮所述动作决策,得到所述第一初始智能体产生的第一动作序列和所述第二初始智能体产生的第二动作序列;
分别对所述第一动作序列和所述第二动作序列中的网络设备进行顺次连接,得到第一动作序列对应的第一链路序列和第二动作序列对应的第二链路序列,并分别利用所述第一链路序列和所述第二链路序列对所述训练网络拓扑结构进行增强,得到所述第一初始智能体对应的第一增强网络拓扑结构和所述第二初始智能体对应的第一增强网络拓扑结构;
利用预设鲁棒性评价函数分别确定所述第一增强网络拓扑结构相较于所述训练网络拓扑结构的第一鲁棒性提升值和所述第二增强网络拓扑结构相较于所述训练网络拓扑结构的第二鲁棒性提升值;
利用所述第一动作序列、所述第二动作序列、所述第一鲁棒性提升值和所述第二鲁棒性提升值对所述第一初始智能体的第一策略网络和所述第二初始智能体的第二策略网络进行参数优化,以使所述第一策略网络的参数和所述第二策略网络的参数不同,得到第一智能体和第二智能体。
18.根据权利要求17所述的网络拓扑结构增强方法,其特征在于,所述利用所述第一动作序列、所述第二动作序列、所述第一鲁棒性提升值和所述第二鲁棒性提升值对所述第一初始智能体的第一策略网络和所述第二初始智能体的第二策略网络进行参数优化,包括:
以如下方式利用所述第一策略网络、所述第二策略网络确定所述第一动作序列和所述第二动作序列中各个动作对应的奖励值:
;
;
其中,为所述第一动作序列中的第t个动作/>的奖励值,/>为所述第二动作序列中的第t个动作/>的奖励值,/>为第一策略网络,/>表示第二策略网络,为在环境/>下第一策略网络选择动作/>的概率,/>为在环境下第一策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率,/>为在环境/>下第二策略网络选择动作/>的概率;动作表征智能体在每轮动作决策对设备的选择;以如下方式利用所述第一动作序列中各动作的奖励值、所述第二动作序列中各动作的奖励值、所述第一鲁棒性提升值及所述第二鲁棒性提升值分别对所述第一策略网络的参数和所述第二策略网络的参数进行优化:
;
其中,为所述第一策略网络的参数,/>为所述第二策略网络的参数,/>为学习率,为优化函数,/>,为主优化函数,/>为辅助优化函数,/>表示为:
;
为所述第一鲁棒性提升值,/>为所述第二鲁棒性提升值;/>表示为:
。
19.根据权利要求17所述的网络拓扑结构增强方法,其特征在于,在利用所述第一动作序列、所述第二动作序列、所述第一鲁棒性提升值和所述第二鲁棒性提升值对所述第一初始智能体的第一策略网络和所述第二初始智能体的第二策略网络进行参数优化之后,还包括:
判断预设训练迭代次数是否耗尽;
若是,则将优化后的第一初始智能体和优化后的第二初始智能体设置为所述第一智能体和所述第二智能体;
若否,则基于所述优化后的第一初始智能体和所述优化后的第二初始智能体进入所述利用第一初始智能体和第二初始智能体分别对训练网络拓扑结构进行多轮所述动作决策,得到所述第一初始智能体产生的第一动作序列和所述第二初始智能体产生的第二动作序列的步骤。
20.根据权利要求16所述的网络拓扑结构增强方法,其特征在于,所述利用各所述初始动作序列生成最佳动作序列,包括:
基于局部搜索方式,利用所述待增强网络拓扑结构中的网络设备对所述初始动作序列中的网络设备进行替换;
利用预设鲁棒性评价函数确定替换后的各初始动作序列对应的鲁棒性提升值;
将鲁棒性提升值中的最大值对应的初始动作序列设置为所述最佳动作序列。
21.一种网络拓扑结构增强装置,其特征在于,包括:
智能体模块,用于利用强化学习的智能体对待增强网络拓扑结构进行多轮动作决策,得到需在所述待增强网络拓扑结构中增加的多条链路;
增强模块,用于利用所述多条链路对所述待增强网络拓扑结构进行增强;
其中,所述智能体模块,包括:
感知模块,用于生成与本轮网络拓扑结构对应的表示信息;所述表示信息记录有所述本轮网络拓扑结构中的各网络设备在所述本轮网络拓扑结构中的设备位置信息、各所述网络设备与其他网络设备间的设备间特征信息以及所述本轮网络拓扑结构的拓扑结构信息,所述本轮网络拓扑结构相较于上轮网络拓扑结构增加了待连接网络设备或链路,首轮网络拓扑结构为所述待增强网络拓扑结构;
决策网络,用于根据所述表示信息在所述本轮网络拓扑结构中选择目标设备;
更新模块,用于当确定所述本轮网络拓扑结构中存在所述待连接网络设备时,在所述目标设备与所述待连接网络设备间设置链路,并清除对所述待连接网络设备的标记,或当确定所述本轮网络拓扑结构中不存在所述待连接网络设备时,将所述目标设备标记为所述待连接网络设备;
设置模块,用于将设置后的本轮网络拓扑结构作为下轮网络拓扑结构;
所述感知模块,包括:
转换子模块,用于将所述本轮网络拓扑结构转换为图数据;所述图数据中的顶点和边分别对应所述本轮网络拓扑结构中的网络设备和链路;
信息确定子模块,用于确定各所述顶点在所述图数据中的顶点位置信息和各所述顶点与其他顶点间的顶点间特征信息;所述顶点的顶点位置信息和顶点间特征信息表示与所述顶点对应的网络设备的设备位置信息和设备间特征信息;
顶点表示生成子模块,用于利用各所述顶点的顶点位置信息和各所述顶点的顶点间特征信息生成各所述顶点的顶点表示;
图表示生成子模块,用于利用所述图数据的图结构信息构造编码树,并利用所述编码树及各所述顶点表示生成图表示;所述图结构信息表示所述拓扑结构信息;
环境表示生成子模块,用于当所述图数据中存在锚顶点时,将所述锚顶点的顶点表示和所述图表示整合为环境表示,或当所述图数据中不存在锚顶点时,将所述锚顶点的默认表示和所述图表示整合为所述环境表示;所述锚顶点表示所述待连接网络设备;
表示信息整合子模块,用于将所述顶点表示和所述环境表示组合为所述表示信息。
22.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至20任一项所述的网络拓扑结构增强方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至20任一项所述的网络拓扑结构增强方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311346769.4A CN117097624B (zh) | 2023-10-18 | 2023-10-18 | 一种网络拓扑结构增强方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311346769.4A CN117097624B (zh) | 2023-10-18 | 2023-10-18 | 一种网络拓扑结构增强方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117097624A CN117097624A (zh) | 2023-11-21 |
CN117097624B true CN117097624B (zh) | 2024-02-09 |
Family
ID=88777139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311346769.4A Active CN117097624B (zh) | 2023-10-18 | 2023-10-18 | 一种网络拓扑结构增强方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097624B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019000340A1 (zh) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | 网络拓扑结构映射方法及装置、终端、存储介质 |
CN116132353A (zh) * | 2022-12-28 | 2023-05-16 | 重庆邮电大学 | 基于ddqn的tsn路由选择方法 |
CN116170327A (zh) * | 2023-03-01 | 2023-05-26 | 西安电子科技大学 | 基于图神经网络和强化学习的分段路由网络增量部署方法 |
CN116319355A (zh) * | 2023-02-23 | 2023-06-23 | 北京理工大学 | 一种基于深度强化学习的卫星网络拓扑生成方法 |
WO2023116422A1 (zh) * | 2021-12-20 | 2023-06-29 | 中兴通讯股份有限公司 | 网络资源处理方法、存储介质及电子装置 |
CN116647459A (zh) * | 2023-05-29 | 2023-08-25 | 天津大学 | 一种多智能体协同进化的物联网拓扑鲁棒优化方法 |
-
2023
- 2023-10-18 CN CN202311346769.4A patent/CN117097624B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019000340A1 (zh) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | 网络拓扑结构映射方法及装置、终端、存储介质 |
WO2023116422A1 (zh) * | 2021-12-20 | 2023-06-29 | 中兴通讯股份有限公司 | 网络资源处理方法、存储介质及电子装置 |
CN116132353A (zh) * | 2022-12-28 | 2023-05-16 | 重庆邮电大学 | 基于ddqn的tsn路由选择方法 |
CN116319355A (zh) * | 2023-02-23 | 2023-06-23 | 北京理工大学 | 一种基于深度强化学习的卫星网络拓扑生成方法 |
CN116170327A (zh) * | 2023-03-01 | 2023-05-26 | 西安电子科技大学 | 基于图神经网络和强化学习的分段路由网络增量部署方法 |
CN116647459A (zh) * | 2023-05-29 | 2023-08-25 | 天津大学 | 一种多智能体协同进化的物联网拓扑鲁棒优化方法 |
Non-Patent Citations (2)
Title |
---|
Dealing With Changes: Resilient Routing via Graph Neural Networks and Multi-Agent Deep Reinforcement Learning;BHAVANASI, Sai Shreyas等;IEEE Transactions on Network and Service Management ( Volume: 20, Issue: 3, September 2023);全文 * |
基于深度图强化学习的低轨卫星网络动态路由算法;汪昊等;重庆邮电大学学报( 自然科学版);第35卷(第4期);第596-605页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117097624A (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108854B (zh) | 城市路网链路预测方法、系统及存储介质 | |
CN110866190B (zh) | 训练用于表征知识图谱的图神经网络模型的方法及装置 | |
CN108399428B (zh) | 一种基于迹比准则的三元组损失函数设计方法 | |
CN112714032B (zh) | 无线网络协议知识图谱构建分析方法、系统、设备及介质 | |
CN110704636B (zh) | 一种改进的基于Node2vec的知识图谱向量表示方法 | |
CN113159239B (zh) | 一种量子图卷积神经网络处理图数据的方法 | |
CN113610146A (zh) | 基于中间层特征提取增强的知识蒸馏实现图像分类的方法 | |
CN113627479B (zh) | 一种基于半监督学习的图数据异常检测方法 | |
CN112417289A (zh) | 一种基于深度聚类的资讯信息智能推荐方法 | |
CN113194493B (zh) | 基于图神经网络的无线网络数据缺失属性恢复方法及装置 | |
CN114528971A (zh) | 一种基于异质图神经网络的图谱频繁关系模式挖掘方法 | |
CN117097624B (zh) | 一种网络拓扑结构增强方法、装置、电子设备及存储介质 | |
CN117194742A (zh) | 一种工业软件组件推荐方法及系统 | |
CN116298699A (zh) | 基于小波优化和图卷积神经网络的配电网故障辨识方法 | |
CN116543259A (zh) | 一种深度分类网络噪声标签建模与纠正方法、系统及存储介质 | |
CN110705704A (zh) | 一种基于相关性分析的神经网络自组织遗传进化算法 | |
CN114254117A (zh) | 一种基于数据增强和自适应负采样技术的知识图谱推理方法 | |
CN115131605A (zh) | 一种基于自适应子图的结构感知图对比学习方法 | |
CN115035304A (zh) | 一种基于课程学习的图像描述生成方法及系统 | |
CN116975311B (zh) | 一种农业病虫害知识图谱优化方法、系统及计算机 | |
CN116610820B (zh) | 一种知识图谱实体对齐方法、装置、设备及存储介质 | |
CN114880492A (zh) | 一种基于图卷积神经网络的bow图匹配方法及系统 | |
CN118228836A (zh) | 模型更新方法、模型更新装置以及计算机存储介质 | |
CN117762418A (zh) | 二进制函数的嵌入生成方法、装置、电子设备和介质 | |
CN117591720A (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 |