Hi,这是第二篇算法简介呀

论文链接:“Continuous control with deep reinforcement learning.” ,2016

文章概述

  这篇文章在确定性策略的基础上,结合Actor-Critic,提出了一种model-free的算法。直接输入原始像素,端到端(end-to-end)学习策略,输出确定动作。
  2000年提出PG(Policy Gradient)算法,通过改变动作的出现概率来优化策略,使得total reward最大化, L ( θ ) = − ∑ log ⁡ π ( a ∣ s , θ ) f ( s , a ) L(\theta)=-\sum \log \pi(a | s, \theta) f(s, a) L(θ)=−∑logπ(a∣s,θ)f(s,a)(损失函数通常需要最小化,所以加一个负号)。其中, f ( s , a ) f(s,a) f(s,a)为评价指标(reward或 Q Q Q或 A A A,或使用TD)。
  2013年提出DQN(Deep Q-Network)算法。
  2014年提出DPG(Deterministic Policy Gradient)算法。PG算法无法解决连续控制的问题,因为PG算法学习得到了随机策略之后,在每一步行为时还需要对得到的最优策略概率分布进行采样,才能获得action的具体值;而action通常是高维的向量,需要耗费大量计算。DPG算法直接对轨迹的价值函数求导,即 ∇ θ v μ θ ( s ) = ∇ θ [ Q μ ( s , μ θ ( s ) ) ] \nabla_{\theta} v_{\mu_{\theta}}(s)=\nabla_{\theta}\left[Q_{\mu}\left(s, \mu_{\theta}(s)\right)\right] ∇θ​vμθ​​(s)=∇θ​[Qμ​(s,μθ​(s))](链式求导可得, ∇ θ v μ ( s ) = ∇ μ θ ( s ) [ Q μ ( s , μ θ ( s ) ) ] ∇ θ μ θ ( s ) \nabla_{\theta} v_{\mu}(s)=\nabla_{\mu_{\theta}(s)}\left[Q_{\mu}\left(s, \mu_{\theta}(s)\right)\right] \nabla_{\theta} \mu_{\theta}(s) ∇θ​vμ​(s)=∇μθ​(s)​[Qμ​(s,μθ​(s))]∇θ​μθ​(s)),因此它不用完成最优动作选取的过程,每一步的动作通过函数 μ μ μ直接获得确定的值。DPG值函数评估采用的是Q-learning的方法,使用TD(0)估计动作值函数并忽略重要性权重,利用replay buffer中随机抽取的数据集对策略进行训练。
  2016年提出DDPG(Deep Deterministic Policy Gradient)算法,是Actor-Critic和DQN的结合,同时加入了BatchNormalization对输入进行预处理。Actor网络对应DPG算法,将特定state映射到特定action,Critic网络则对应Q-learning,使用价值函数对动作进行评估。Target网络的参数使用软更新,而不是直接复制Policy网络的参数,虽然使得学习变化放缓,但是增强了学习的稳定性。为了可以不断地探索空间,在探索策略 μ ′ \mu' μ′通过OU(Ornstein-Uhlenbeck)过程添加噪声样本。

公式理解

  • 未来折扣回报
    R t = ∑ i = t T γ ( i − t ) r ( s i , a i ) R_{t}=\sum_{i=t}^{T} \gamma^{(i-t)} r\left(s_{i}, a_{i}\right) Rt​=i=t∑T​γ(i−t)r(si​,ai​)
  • 动作值函数
    Q π ( s t , a t ) = E r i ≥ t , s i > t ∼ E , a i > t ∼ π [ R t ∣ s t , a t ] Q^{\pi}\left(s_{t}, a_{t}\right)=\mathbb{E}_{r_{i \geq t}, s_{i>t} \sim E, a_{i>t} \sim \pi}\left[R_{t} | s_{t}, a_{t}\right] Qπ(st​,at​)=Eri≥t​,si>t​∼E,ai>t​∼π​[Rt​∣st​,at​]
  • Bellman方程
    Q π ( s t , a t ) = E r t , s t + 1 ∼ E [ r ( s t , a t ) + γ E a t + 1 ∼ π [ Q π ( s t + 1 , a t + 1 ) ] ] Q^{\pi}\left(s_{t}, a_{t}\right)=\mathbb{E}_{r_{t}, s_{t+1} \sim E}\left[r\left(s_{t}, a_{t}\right)+\gamma \mathbb{E}_{a_{t+1} \sim \pi}\left[Q^{\pi}\left(s_{t+1}, a_{t+1}\right)\right]\right] Qπ(st​,at​)=Ert​,st+1​∼E​[r(st​,at​)+γEat+1​∼π​[Qπ(st+1​,at+1​)]]
  • 确定性策略 μ \mu μ
    Q μ ( s t , a t ) = E r t , s t + 1 ∼ E [ r ( s t , a t ) + γ Q μ ( s t + 1 , μ ( s t + 1 ) ) ] Q^{\mu}\left(s_{t}, a_{t}\right)=\mathbb{E}_{r_{t}, s_{t+1} \sim E}\left[r\left(s_{t}, a_{t}\right)+\gamma Q^{\mu}\left(s_{t+1}, \mu\left(s_{t+1}\right)\right)\right] Qμ(st​,at​)=Ert​,st+1​∼E​[r(st​,at​)+γQμ(st+1​,μ(st+1​))]
  • 函数逼近器(Critic更新目标)
    L ( θ Q ) = E s t ∼ ρ β , a t ∼ β , r t ∼ E [ ( Q ( s t , a t ∣ θ Q ) − y t ) 2 ] L\left(\theta^{Q}\right)=\mathbb{E}_{s_{t} \sim \rho^{\beta}, a_{t} \sim \beta, r_{t} \sim E}\left[\left(Q\left(s_{t}, a_{t} | \theta^{Q}\right)-y_{t}\right)^{2}\right] L(θQ)=Est​∼ρβ,at​∼β,rt​∼E​[(Q(st​,at​∣θQ)−yt​)2]其中, y t = r ( s t , a t ) + γ Q ( s t + 1 , μ ( s t + 1 ) ∣ θ Q ) y_{t}=r\left(s_{t}, a_{t}\right)+\gamma Q\left(s_{t+1}, \mu\left(s_{t+1}\right) | \theta^{Q}\right) yt​=r(st​,at​)+γQ(st+1​,μ(st+1​)∣θQ)。
  • Actor更新目标
    ∇ θ μ J ≈ E s t ∼ ρ β [ ∇ θ μ Q ( s , a ∣ θ Q ) ∣ s = s t , a = μ ( s t ∣ θ μ ) ] = E s t ∼ ρ β [ ∇ a Q ( s , a ∣ θ Q ) ∣ s = s t , a = μ ( s t ) ∇ θ μ μ ( s ∣ θ μ ) ∣ s = s t ] \nabla_{\theta^{\mu}} J \approx \mathbb{E}_{s_{t} \sim \rho^{\beta}}[\left.\nabla_{\theta^{\mu}} Q\left(s, a | \theta^{Q}\right)\right|_{s=s_{t}, a=\mu\left(s_{t} | \theta^{\mu}\right)}]=\mathbb{E}_{s_{t} \sim \rho^{\beta}}[\left.\left.\nabla_{a} Q\left(s, a | \theta^{Q}\right)\right|_{s=s_{t}, a=\mu\left(s_{t}\right)} \nabla_{\theta_{\mu}} \mu\left(s | \theta^{\mu}\right)\right|_{s=s_{t}}] ∇θμ​J≈Est​∼ρβ​[∇θμ​Q(s,a∣θQ)∣∣​s=st​,a=μ(st​∣θμ)​]=Est​∼ρβ​[∇a​Q(s,a∣θQ)∣∣​s=st​,a=μ(st​)​∇θμ​​μ(s∣θμ)∣∣∣​s=st​​]
  • Target网络参数软更新
    θ ′ ← τ θ + ( 1 − τ ) θ ′ \theta^{\prime} \leftarrow \tau \theta+(1-\tau) \theta^{\prime} θ′←τθ+(1−τ)θ′
  • 探索过程中增加噪声
    μ ′ ( s t ) = μ ( s t ∣ θ t μ ) + N \mu^{\prime}\left(s_{t}\right)=\mu\left(s_{t} | \theta_{t}^{\mu}\right)+\mathcal{N} μ′(st​)=μ(st​∣θtμ​)+N

伪代码分析

试验结果分析

代码实现

github传送门:https://github.com/floodsung/DDPG

DDPG(Deep Deterministic Policy Gradient)相关推荐

  1. 深度增强学习DDPG(Deep Deterministic Policy Gradient)算法源码走读

    原文链接:https://blog.csdn.net/jinzhuojun/article/details/82556127 本文是基于OpenAI推出deep reinforcement learn ...

  2. 【强化学习】DDPG(Deep Deterministic Policy Gradient)算法详解

    http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html 引用莫凡老师的素材 https://morvanzhou.github.io/tut ...

  3. 【强化学习】Deep Deterministic Policy Gradient(DDPG)算法详解

    1 DDPG简介 DDPG吸收了Actor-Critic让Policy Gradient 单步更新的精华,而且还吸收让计算机学会玩游戏的DQN的精华,合并成了一种新算法,叫做Deep Deterini ...

  4. 强化学习笔记 DDPG (Deep Deterministic Policy Gradient)

    1 总述 总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay 强化学习笔记 experience replay 经验回放_UQ ...

  5. 强化学习(三)—— 策略学习(Policy-Based)及策略梯度(Policy Gradient)

    强化学习(三)-- 策略学习(Policy-Based)及策略梯度(Policy Gradient) 1. 策略学习 2. 策略梯度 3. 案例 1. 策略学习 Policy Network 通过策略 ...

  6. 【机器学习网络】神经网络与深度学习-6 深度神经网络(deep neural Networks DNN)

    目录 深度神经网络(deep neural Networks DNN) DNN的底层原理 深度学习网络的问题: 案例1:书写数字识别(梯度下降法详解) 男女头发长短区分案例(为什么隐藏层追求深度): ...

  7. 机器学习与高维信息检索 - Note 5 - (深度)前馈神经网络((Deep) Feedforward Neural Networks)及基于CVXOPT的相关实例

    Note 5 - (深度)前馈神经网络((Deep) Feedforward Neural Networks)及相关实例 5.1 FNN的定义和动机 粗略地说,前馈神经网络(FNN)是一种特殊的函数类 ...

  8. 梯度直方图(HOG,Histogram of Gradient)

    1.介绍 HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子,该 ...

  9. 推荐系统(十二)阿里深度兴趣网络(二):DIEN模型(Deep Interest Evolution Network)

    推荐系统(十二)阿里深度兴趣网络(二):DIEN模型(Deep Interest Evolution Network) 推荐系统系列博客: 推荐系统(一)推荐系统整体概览 推荐系统(二)GBDT+LR ...

最新文章

  1. 15、url反向解析和别名及命名空间
  2. Linux基础命令---znew
  3. HDOJ---1257 最少拦截系统[线性DP]+NYOJ---拦截导弹[输出最长单调子序列的长度]
  4. mini2440 裸机编程 -led
  5. C++操作SQLite数据库
  6. HDU 3336 KMP
  7. 算术运算符、数学函数Math、数据类型转换、自增自减运算符、关系逻辑运算符、位运算符、括号及运算符级别
  8. 转:ibatis动态sql
  9. c#将list集合转换为datatable的简单办法
  10. 6张图为你分析Kafka Producer 消息缓存模型
  11. java字符相似_JAVA 获取两个字符串的相似度
  12. js中普通函数与函数对象
  13. 微信公号“架构师之路”学习笔记(六)-互联网一致性架构设计(session一致性,主从一致性,双主一致性,缓存一致性,冗余一致性,消息时序一致性,分布式事务一致性,数据扣减一致性等)
  14. DFT与DTFT的区别?
  15. php网站微博帐号登录代码,微博登录按钮
  16. 什么是网站被黑?网站被黑具体症状表现、网站被黑了怎么办
  17. 计算机网络技术文档心得,计算机网络技术学习心得体会.docx
  18. 个人日记——用来激励自己
  19. 《咸鱼分享》DNS反向解析
  20. MN梦奈宝塔主机系统V1.5版本发布

热门文章

  1. pvr图片格式转png--shell脚本
  2. 买《Python数据分析师:从0基础到数据分析达人》专题视频课程送纸质图书
  3. HDOJ 1290 献给杭电五十周年校庆的礼物
  4. 求解未知数——yjy题库
  5. Android 自定义DatePick 只显示年月,日期选择年月
  6. 企业喜欢用容易被记住的电话号码(树解法)
  7. 服务外包(版本管理与控制工具)实验报告
  8. 翻译:确认中的处理控制(CO1P)
  9. 学微积,用手机;勇于创新,敢于实践
  10. 厦门这个隐藏的高逼格智慧园区终于被扒出来了