当深度强化学习(DRL)遇见图神经网络(GNN)
1 图神经网络(GNN)
将图神经网络(GNN)与深度强化学习(DRL)相结合。新的DRL+GNN体系结构能够在任意网络拓扑图上学习、操作和生成。
图神经网络(Graph Neural Networks,GNN)是一种新型的神经网络,用于对图结构信息进行操作。它们的基本形式是将一些初始状态与图中的不同元素相关联,然后结合这些元素在图中的相互关系。迭代算法更新状态元素并使用最终状态产生输出.
2 深度强化学习(DRL)
DRL算法的目标是学习一种策略,使优化问题的累积报酬最大化。
该学习过程由一组动作A和一组状态S组成。给定一个状态s∈S,Agent将执行一个a∈A的动作,该动作产生一个新的状态s∈S的转换,并提供一个奖励r,这个优化问题可以被建模为一个马尔可夫决策过程(MDP)。然而,对于MDP的解决方案,需要评估状态-动作对的所有可能组合。
3 DRL训练伪代码
提出了DRL+GNN智能体,智能体实现了DQN算法,其中Q值函数是用GNN建模的。伪代码如下:
//Algorithm 1 DRL Agent Training algorithm
for it in Iterations do
for episode in Training_eps do
s, d,src,dst <– env.reset_env()
reward – 0
while TRUE do
a, s' <– agt.act(s, d, src, dst)
r, done, d', src', dst' <– env.step(s')
agt.rmb(s,d,src,dst, a,r,s',d',src',dst')
reward <– reward + r
If done == TRUE : break
If len(agt.mem) > batch_size : agt.replay()
d <- d',s <- s', dst <- dst'
for episode in Evaluation_eps do
s, d, src,dst <– env.reset_env()
reward – 0
while TRUE do
a, s' <– agt.act(s, d, src, dst)
r, done,d',src', dst' – env.step(s')
reward – reward + r
If done then break
4 结论与展望
提出了一种基于GNNs的DRL体系结构,能够推广到不可见的网络拓扑。使用GNNs对网络环境建模,允许DRL智能体在不同网络中操作,而不是只在用于训练的网络中。
缺乏泛化是阻碍在生产网络中部署现有的基于DRL的解决方案的主要障碍。因此,所提出的体系结构是开发新一代基于DRL的网络产品的第一步。