学习笔记:DDPG

学习内容: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,策略梯度算法与当前状态有关



猜你喜欢

转载自blog.csdn.net/qq_31239495/article/details/80313803