现代RL算法:DQN到PG,再到DPG

 1.DQN

在传统RL算法中,依靠的是Policy和Value的协同迭代优化agent。

而现代,

DQN等value-based类算法弱化了Policy的存在,Policy成了Value的附属;

ReinforcePG,DPG,DDPG等policy-based类算法弱化了Value的存在。agent依赖于PolicyNetwork,只做一个从State到Action的映射。

DQN在干嘛?从(s,a)到Q(s,a)的映射

训练DQN的时候在训练的什么?Q(s,a;serta)的参数serta

DQN如何训练?

首先agent与env交互,采样,训练样本为(s,a,r,s'),存储在experience_replay里。

然后采用反向传播方法优化神经网络的参数serta。

误差为

借助tensorflow实现DQN代码:

https://github.com/Dynmi/RL_study/blob/master/agent/agent_DQN.py

2. PG

这是OPENAI的人在DQN之后提出来的,它不聚焦于Value,而聚焦于Policy本身。建立一个从s到A的映射pai。此时跟DQN相同,还是面对的离散动作空间,用一个softmax来输出选择每个action的概率。监督学习的label使用state value。所以在PG这里还是需要Value的,MC_PG方法对待Value还是传统方法用一个表存state-value。算法优化过程在于优化神经网络pai的参数。

3. QAC

从PG往前一步,把Value也神经网络化,也就是说,算法训练的时候对两个神经网络进行参数优化,一个是Qvalue Network,一个是PolicyNetwork。

一直到这里应对的还是离散行为空间。

4. DDPG ( 2016ICLR )

Deterministic Policy Gradient

从DPG开始就研究连续行为空间了。

原文地址:https://www.cnblogs.com/dynmi/p/12341635.html