深度强化学习与DDPG
深度强化学习与DDPG
1. 基本概念
- 折扣回报(discounted return),反映了未来奖励的总和。
- 相邻两个折扣回报之间的关系:,可用于时间差分TD算法
其中 是折扣率,是 时刻环境给的奖励。
- 动作价值函数(Action-value function),等于的期望,可以给动作打分。
- 最优动作价值函数(optimal Action-value function),取所有动作的最优值。
- 状态价值函数(State-value function),可以告诉当前局势的好坏。
-- 离散动作
-- 连续动作 - 一般强化学习的任务就是学习策略 (称策略学习)或者学习价值 函数(称价值学习)。
2. actor-critic method
一种将策略学习(actor)与价值学习(value)结合起来的方法。actor产生决策动作,价值函数再给其评价(critic)。
- 使用策略网络 来近似策略 (actor);价值网络近似来表示(critic)。
- 训练策略网络,让其得分(价值网络给出)越来越高。
- 训练价值网络,让其打分越来越精准。
- 训练两个网络的目的是使 的值增加。
- 网络的更新:
- 通过价值网络的监督,更新策略网络的值 ,使得V的平均值增加。
- 通过环境给的奖励reward的监督, 更新价值网络的参数,使得其打分更精准。从而更好估计未来奖励总和。
- 具体与的更新过程
- 得到状态。
- 根据策略网络,得到。
- 执行,得到新状态与奖励。
- 用时间差分TD算法更新价值网络参数。
- 用策略梯度算法更新策略网络参数。
- 步骤4价值网络的更新过程:
- 计算t时刻得到的未来奖励总和,和t+1时刻得到的未来奖励总和。
- TD target:。参见第一部分折扣回报。
- Loss:,作为监督值
- 随机梯度下降:。
- 步骤5策略网络的更新过程:
-
观察状态。
-
根据策略网络得到动作。
-
计算 用于监督(评价动作)。
-
对策略网络求导 (tensorflow、 pytorch等可以自动求导)
-
近似计算计算策略梯度
策略梯度的非严谨推导
-- 用于离散动作,其中假设不依赖
-- 用于连续动作
对于连续动作,因为神经网络定积分无法积分,可用蒙特卡洛近似(用随机样本来近似总体的期望)。,用随机抽样,近似该策略梯度。 -
随机梯度上升:。
-
3. DDPG 确定性策略梯度
- DDPG算法为代码如下图,伪代码图也如下所示
左侧这套模型是在训练中“干活”(输出动作)的 Main Network(主网络)。右侧这套模型是 Target Network,即目标网络。可以看出DDPG可以是两个A-C模型组成的。下面具体解释流程,按照算法可以分三层。 - 第一层:
- 初始化主网络的critic价值网络与actor策略网络,并复制一个一模一样的目标网络。然后,初始化一个Replay Buffer,用于经验回放。
- 开启一个M次的循环,每次循环都让机器人运行,直到通关或者结束。
- 第二层:对于每次episode,一个机器人启动后要做如下事情
- 取得初始状态
- 开启一个T次的循环,每次迭代都是一个机器人的 Step。这个循环就是第三层。
- 第三层:
- 首先利用主网络actor 输出一个动作,并加上一个噪声,以便扩大取值范围,让输出试探更加丰富。
- 然后存储 到Replay Buffer中,用于价值函数的经验回放。之后主网络 不会做任何事了。
- 从Replay Buffer随机取 条经验。让目标网络 的假装看到了状态 ,并做出一个动作; 再对其动作评估,算出TD target 。以此作为主网络的监督值,得到损失函数 并由此更新critic。
- 用策略梯度,更新主网络actor。是的一个链式求导。也就是得到的折扣回报(评价动作的得分)。
- 最后用主网络更新后的值,软更新目标网络的参数。
参考书目:《白话强化学习与PyTorch》--高杨、《深度强化学习》--王树森
参考视频:
https://www.bilibili.com/video/BV1BE411W7TA
https://www.youtube.com/channel/UC9qKcEgXHPFP2-ywYoA-E0Q
本文作者:Oniisan_Rui
本文链接:https://www.cnblogs.com/oniisan/p/DDPG.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步