论文阅读——Experience-driven Networking: A Deep Reinforcement Learning based Approach

这篇文章将DRL用在了traffic engineering 上,作者不但实现了DDPG算法,而且针对traffic engineering 提出了两方面改进,并最后在随机和代表性的拓扑上进行实验

符号说明:

符号说明
state:将每个session端到端的吞吐量和延迟作为state
$s = [(x1,z_1),(x_2,z_2)….(x_k,z_k)]$
action space:
将每个session_k的每一条path分配到的比例作为动作
$a = [w
{11},w{12},….w{kj},w{k|pk|}]$. 注意哦,$w{k1}$,$w{k2}$到w{k|Pk|}的和为1(这很容易理解,session 总共有|Pk|条路,每一条路走一定比例,但加起来一定是1)
reward:
是所有session总共的利用率。这里用了个作者自定的函数$U(x_k,z_k) = U1(x_k)-\alpha U2(z_k)$

action & reward

1
简单应用DDGP,效果并不好,原因在于1.DDGP没有明确的说明如何探索.2.DDGP在experience replay中采样用的是均一采样的方式。作者对这两方面进行了优化。

Exploration:
作者提出用一个base TE solution 来指导探索。
以概率$\epsilon$,DRL智体选择动作$a{base} + \epsilon \cdot N$,$a{base}$是base TE solution.以$(1 - \epsilon)$的概率选择智体动作$a + \epsilon \cdot N$。$a$是actor network 的输出,$\epsilon$是可调参数,和其他论文中一样,随着episode 衰退。$N$ 是噪声
prioritized experience replay
大体和prioritized experience replay 差不多,优先级公式是:
Prioritized experience replay
具体算法流程:
算法过程
实验:
实验上,作者在两个典型网络上实验,也在随机生成的20个nodes,80条links的拓扑上实验。每个拓扑随机生成20个sessions.每个session选三条最短路径作为备选路径,每条路径100Mbps,包在source node 是柏松分布,但在路径中间点上就不一定了。起初的滑动窗口大小为20Mbps,后期会随着traffic damand增加(we increased the traffic demand by sliding the window with a step size of 5Mbps for each run)用延迟和吞吐量以及utility function 来作为评价标准:
评价标准