Learning Against Non-Stationary Agents withOpponent Modelling & Deep Reinforcement Learning

17年nips beach的文章,这个文章是通过为对手建模,然后更好的切换自己的对战策略的一个方法。

这篇文章,主要是对里面不确定度有了很好的应用,才能正确的在不同的策略之间比较正确的切换。

主要是对两种方式进行了实验:

首先我们针对第一种来设计算法,而本文也是主要针对第一种情况进行的,第二种用来比较

本文提出了SAM算法switching Agent Model

首先我们逐步介绍他的compnents:

SwitchBoard:通过追踪对手model的表现,在自身策略之间进行转换

为了实现这样的目的,需要追踪对手模型,并计算运行时误差。当一个agent改变行为,并随着时间的推移逐渐积累。此时运行时

误差可以用来改变模型的应对策略。

opponent model :  running error:

每一个时间步骤,opponent model 都需要通过Monte Carlo dropout预测对手下一步的动作和预测的不确定性

对手真正的动作为:。于是running error r通过下面的更新公式更新:

如果r小于r max那么running error衰减d(超参),否则的话,更换opponent model,并将r置0

伪代码如下:

 

Response Policies:

这个策略使用的是DDPG,通过对手模型以及当前的obs来response自身要应对的策略

我们的一般策略,由多个子策略组成:,这使得我们可以根据不同的opponent model切换不同的policy

每个策略是通过他们自己的replay buffer来sample训练的。

,其中 Nt表示噪音

Opponent Models:

先上伪代码:

loss function 

其中SIT−1是代理先前观察到的状态,AJT−1是agent执行的真正动作。

整个算法如上,实验部分:

对比了SAM和DDPG对抗一个不稳定的在一段时间内在策略之间切换的对手

为了训练这个对手,我们单独训练了两个agent:

我们的对手通过在这两个学习的策略上进行切换(不在进行学习)

结果如下图:

同时对比了下面对比了

Uncertainty Switching Adversary和Uncertainty Learning Agent:

相比之下learning agent的不确定性度量的准确性要低一些。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值