DDPG算法原理
DDPG采用了AC框架,与普通AC不同的是,DDPG的actor采用的是确定性策略梯度下降法得出确定的行为,而不是行为概率分布,而critic则引用了DQN的经历回放策略,使RL学习收敛更快。
DDPG的组成
离线策略学习,与DQN类似,有target网络(拷贝),则actor和critic共4个网络:
critic_target_net
critic_eval_net
actor_target_net
actor_eval_net
1) critic_eval_net参数更新
依据TD_error更新:
critic_target_net输入包括:下一个状态s_t+1和来自actor_target_net的动作输出值
μ(s_t+1);
critic_eval_net输入包括:当前状态s_t和由actor_eval_net给出的行为
2) actor_eval_net参数更新
依据确定性策略梯度上升更新:
基本思想:critic告诉actor,做这个行为a的话,梯度比较大,所以你的参数朝着这个行为梯度方向更新准没错;因此梯度因子中包括行为值函数对行为的梯度和行为策略对参数的梯度。
actor_eval_net输入包括:当前状态s_t
actor_target_net输入包括:下一状态s_t+1
具体更新时包括两个部分:actor_eval_net输出的当前状态s_t下的行为a对actor_eval_net参数的梯度;critic_eval_net输出的Q(s_t,a_t)对行为a的梯度