学习内容:DDPG
关键词:记忆库,估计网络,现实网络,Policy Gradient,Value Based,Actor-Critic
简述:
DDPG(Deep Deterministic Policy Gradient)可以概括为两个部分Deep和Deterministic Policy Gradient,其中Deep和DQN类似拥有两套结构相同但是更新频率不同的神经网络,Deterministic Policy Gradient指的是确定性策略梯度.在连续动作上输出一个动作值.
动作估计网络输出实时动作,为actor在现实中实行,动作现实网络用于更新价值网络系统.状态估计网络将actor的动作当做输入,状态现实网络将动作现实网络输出动作与状态值加以分析.
DDPG是基于actor-critic的无模型确定性策略梯度算法,人工智能就是解决无数据预处理,多维度,敏感输入的多目标任务。DQN只能解决低维度的离散输出动作的任务,不能直接解决连续动作任务,DQN及其衍生算法直接扔掉了动作空间中一些可能有用的信息。
DDPG吸收练DQN算法的优点,使用异策略(离线学习)方法,在样本存储缓存区(replay buffer)中采样最小化样本间的相关性,使用Q-network训练,并定时返回参数。
Policy Gradient:
能够在连续区间内挑选动作,并且不通过分析反向误差,而是直接输出行为.是基于整条回合数据的更新和基于策略梯度的更新
DDPG伪代码:
伪代码注释:
随机初始化critic网络和actor网络,并初始化各自参数
初始化上述两个网络对应目标网络
初始化repaly buffer
在M个回合内:
随机初始化分布N用作动作探索
初始化初始状态
在次数T内:
根据当前策略和噪声选择动作
执行动作和得到奖励与下一个状态
将当前状态,当前动作,当前奖励和下一个状态存储在R中
随机采样
根据critic的损失函数更新critic网络
根据actor的梯度更新actor网络
结束循环
结束循环
公式的前半部分表示根据梯度选择奖赏值最大的动作,后半部分表示根据梯度选择选该最大奖赏值动作的策略
Tensorboard 数据图:
接下来展开C-train,C代表critic,在训练价值系统时,需要当前状态s,下一个状态s_,环境奖励R,和策略梯度,其中用到Actor的是eval网络即动作估计网络,来更新价值系统.
再展开TD_error,采用时序差分算法计算现实网络和估计网络的差值,论文采用均方差求解,然后传递给C-train
展开target_q,Q现实现实更新与下一个状态和动作奖励有关
展开Policy Gradient,策略梯度算法与当前状态有关