目录

深度强化学习目录

简述

深度强化学习(Deep Reinforcement Learning)分为深度和强化两个部分。深度学习的好处是更深,更抽象的学习;而强化学习则是通过与环境产生互动来采取行动。下面主要对强化学习作出概述。

强化学习

强化学习主要由两个主体、四个部分组成。

两个主体

Agent:代理人,即采取行动的个体,如玩家。
Environment:环境,能对行动产生反馈,如游戏规则。

四个部分

<A, S, R, P>
Action space : A
State space : S
Reward: R
Policy: P
  1. A:动作空间,即Agent采取行动的所有动作空间。如对于贪吃蛇游戏,就是上下左右的离散操作空间;而对于驾驶类游戏,则是向左向右和液氮加速等的连续空间。
  2. S:状态空间,对于Agent采取行动后的反馈状态。贪吃蛇的身体长度位置、卡丁车的速度位置等,都是State。
  3. R:奖励,实数值,顾名思义,就是奖赏或惩罚。
  4. P:策略,即Agent在状态s∈Ss\in Ss∈S下会采取什么行动a∈Aa\in Aa∈A。有时候会用Actor表示策略,这两者在语义上等价。

深度强化学习,就是在环境E下,由Agent根据状态S采取动作A,为了获得最大奖励R而不断训练生成策略P的过程。

稍进一步

在以上的描述中我们可以看出,我们研究的重点在于策略P。而生成策略P的方法大致可以分成两种,即基于策略的(Policy-based)和基于值的(Value-based)。

如图所示,这两种方法并非完全互斥,可以共同使用。
我知道乍一看这两个名词会感到不明所以,下面我会用我的语言大致介绍下这两个是什么东西。而在此之前,我需要先介绍一下相关符号。

符号

  • π\piπ:函数符号,表示策略(Policy)函数,参数常为环境返回的状态,输出为一个具体的动作,可知a=π(s)∈Aa =\pi (s) \in Aa=π(s)∈A。
  • rrr:采取动作a后获得的即时奖励。
  • GGG:累积奖赏,GtG_tGt​表示从时刻t开始到游戏结束的累积奖赏。
    Gt=∑T=t∞rtG_t=\sum_{T=t}^{\infty}{r_t}Gt​=T=t∑∞​rt​
  • Qπ(s,a)Q_\pi (s,a)Qπ​(s,a):状态-动作值函数(state-action value function),有时也简称动作值函数。即在t时刻,状态s下,采取动作a,使用策略π\piπ预计获得的累积奖赏的期望值
    Qπ(s,a)=E[Gt∣St=s,At=a]Q_\pi (s,a)=\mathbb{E}[G_t\vert S_t = s,A_t = a]Qπ​(s,a)=E[Gt​∣St​=s,At​=a]
  • Vπ(s)V_\pi (s)Vπ​(s):状态值函数(state value function),即在t时刻,状态s下使用策略π\piπ预计获得的累积奖赏的期望值
    Vπ(s)=E[Gt∣St=s]V_\pi (s)=\mathbb{E}[G_t\vert S_t = s]Vπ​(s)=E[Gt​∣St​=s]

Value-based(基于值)

先讲Value-based。
我们已经定义了两个value function,分别是Vπ(s)V_\pi (s)Vπ​(s)和Qπ(s,a)Q_\pi (s,a)Qπ​(s,a)。Value-based方法就是根据这两个函数,求出最大化奖赏的策略π\piπ。即:π∗=argmax⁡πVπ(s)\pi_*=arg \max_\pi V_\pi (s)π∗​=argπmax​Vπ​(s)
或者:π∗=argmax⁡πQπ(s,a)\pi_*=arg \max_\pi Q_\pi (s,a)π∗​=argπmax​Qπ​(s,a)
也就是说,遍历所有的状态和动作,找到最大化值函数QV的策略。具体如何操作?有以下的方法:

  1. Dynamic Programming:动态规划
  2. Monte-Carlo Methods:蒙特卡洛算法
  3. Temporal-Difference Learning:时间差分学习
    这里着重展开的是第三种,时间差分学习包括Q-learning,DQN,Sarsa,具体的优化方法我会在之后的学习中展开讨论。

总之,基于值的方法,就是基于值函数来学习策略的方法。

Policy-based(基于策略)

Value-based的所有方法,最终都是通过值函数来学习的,这些值函数可能和动作或状态有关。而Policy-based的方法则是用梯度的方法直接学习策略。
在V-B(Value-based,下同)的方法中,策略是π(s)\pi(s)π(s),只和状态相关,我们通过值函数的反馈修改策略,再根据性的策略来计算值函数。
在P-B(Policy-based,下同)的方法中,策略是π(s∣a,θ)\pi(s\vert a,\theta)π(s∣a,θ),添加了一组参数θ\thetaθ。我们的目的就不再是基于VQ函数去间接地优化π(s)\pi(s)π(s),而是通过优化参数θ\thetaθ直接对策略πθ\pi_\thetaπθ​进行优化。
而众所周知,想要优化学习目标,必须要有一个Loss function,下面我们介绍两种空间中的损失函数。

离散空间

离散状态下的Loss函数为:
J(θ)=Vπθ(S1)=E[V1]J(\theta)=V_{\pi_\theta}(S_1)=\mathbb{E}[V_1]J(θ)=Vπθ​​(S1​)=E[V1​]其中S1S_1S1​代表的是初始状态,而V1V_1V1​则是从初始状态开始到结束能得到的所有累积奖赏。换言之,Loss函数由于在每一盘游戏中都是固定θ\thetaθ的,因此只看看到初始的状态S1S_1S1​,他就能知道在这组参数下的策略能获得多少奖励。但由于一些游戏对行动的采取并非确定性的,而是添加一些随机性(比如同样的state和action,游戏自身会生成一些噪音来阻碍出现相同的结果),因此这里的loss function是期望值。
我们要做的事情,就是通过学习这组参数θ\thetaθ,来最大化这个J(θ)J(\theta)J(θ),这就是基于策略的方法所要做的事情。

连续空间

而对于连续空间的Loss函数,有:J(θ)=∑s∈Sdπθ(s)Vπθ(s)=∑s∈S(dπθ(s)∑a∈Aπ(a∣s,θ)Qπ(s,a))J(\theta)=\sum_{s\in S}d_{\pi_\theta}(s)V_{\pi_\theta}(s)=\sum_{s\in S}(d_{\pi_\theta}(s)\sum_{a\in A}{\pi(a\vert s,\theta)Q_{\pi}(s,a)})J(θ)=s∈S∑​dπθ​​(s)Vπθ​​(s)=s∈S∑​(dπθ​​(s)a∈A∑​π(a∣s,θ)Qπ​(s,a))
其中dπθ(s)d_{\pi_\theta}(s)dπθ​​(s)是马尔科夫链中关于π(θ)\pi(\theta)π(θ)的一个稳定分布(stationary distribution)。有关稳定分布的概念比较麻烦,这里就简单地理解为J(θ)J(\theta)J(θ)是各种状态下V值的期望值就行。
那么具体怎么实现呢?比较多的是采用policy gradient方法,这里就不展开了。

再形象一点

V-B方法是对每一个状态下的行为进行打分,像是在训练一个裁判员(critic),根据这个裁判员对状态行为的评分,选择最高分,从而达到优化的结果。
P-B方法则不去管什么状态动作的评分,专心于优化自身。P-B方法就像是一个演员(actor),他只要把自己的参数学习好,自然就知道了什么状态下该选择什么动作。

P-B和V-B的总结

实际的训练中,P-B方法也会运用到V(s)V(s)V(s)或者Q(s,a)Q(s,a)Q(s,a),但在真正选择动作的时候却不依赖于这两个函数,这就是P-B方法和V-B方法的区别。
那么有没有一种方法是结合两者的?当然有,就是Actor-Critic方法,在之后的学习中我会去展开讨论。
本文主要是概述,讲的有点浅,如果有说错的地方还请指正。

0.强化学习概述+policy based+value based相关推荐

  1. 强化学习笔记-强化学习概述

    强化学习笔记-强化学习概述 机器学习分类 强化学习与监督学习的异同点 强化学习基本原理 强化学习解决的是什么样的问题 强化学习分类 请分别解释随机性策略和确定性策略 回报.值函数.行为值函数三个指标的 ...

  2. 强化学习 --- 概述

    C. 人工智能 - 强化学习 - 概述 概述 思路 Agent -> Action -> Environment Environment -> Reward -> Agent ...

  3. 增强学习or强化学习概述

    增强学习or强化学习概述 强化学习是一个非常与众不同的"巨兽".它的学习系统(在强化学习语境中,一般称作智能体)能够观察环境,做出选择,执行操作,并获得回报(reward),或者以 ...

  4. 强化学习笔记1:强化学习概述

    七个字概括强化学习适用的问题:多序列决策问题 1 agent和environment         强化学习讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的环境(environment) ...

  5. 【强化学习】Policy Gradient算法详解

    DeepMind公开课https://sites.google.com/view/deep-rl-bootcamp/lectures David Silver教程 http://www0.cs.ucl ...

  6. 【学习笔记】强化学习1——强化学习概述

    强化学习概述 机器学习主要分为监督学习.非监督学习.强化学习.强化学习的训练样本没有标记,根据训练样本学习迭代获得最优策略,强化学习需要与环境不断地交互学习. 强化学习的基本原理是智能体从环境中接收一 ...

  7. 【强化学习】强化学习概述

    文章目录 1 强化学习 1.1 强化学习定义 1.2 马尔可夫决策过程 1.3 强化学习的目标函数 1.3.1 总回报 1.3.1 目标函数 1.4 值函数 1.4.1 状态值函数 1.4.2 状态- ...

  8. 百度强化学习之Policy learning

    强化学习初探 1.代码 1.1.导入依赖 1.2.设置超参 1.3.搭建Model.Algorithm.Agent架构 1.4.Algorithm 1.5.Agent 1.6.Training &am ...

  9. 深度强化学习系列(1): 深度强化学习概述

    机器学习是人工智能的一个分支,在近30多年已发展为一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.计算复杂性理论等的学科.强化学习(RL)作为机器学习的一个子领域,其灵感来源于心理学中的行为主 ...

  10. 强化学习——强化学习概述

    文章目录 1. 强化学习 2. 序列决策(Sequential decision making) 3. 动作空间 4. 智能体的组成和类型 4.1 策略 问题:比较随机性策略和确定性策略的优缺点 4. ...

最新文章

  1. 番茄工作法发明人作序推荐《番茄工作法图解》
  2. wordpress 内网安装插件_Wordpress安装后必做的优化操作
  3. Gym 100431E Word Cover 题解:KMP上跑dp
  4. Android开源框架——图表MPAndroidChart
  5. 纪中A组模拟赛总结(2021.7.16)
  6. u-boot向linux内核传递启动参数
  7. java redis 流水线,Redis系列(1) —— 流水线
  8. saas- -m ihrm 项目_Convertlab等企业入选腾讯SaaS加速器二期名单
  9. BZOJ4627 前缀和 + 权值线段树
  10. echarts自定义y轴刻度信息
  11. Vue、 React比较
  12. 文本文档怎么改格式html,设置电脑更改文本文档格式,怎么更改文本文档格式-
  13. html判断安装没安装qq,QQ提示安装路径无效您没有权限怎么办 QQ2015提示安装路径无效您没有权限的解决方法...
  14. 360桌面隐藏应用 android代码,360手机桌面上的隐藏应用怎么设置?
  15. 手机数字雨_cmd命令数字雨教程
  16. Excel如何分组排序
  17. hihocoder-1498-Diligent Robots
  18. adm怎么下bt连接_【使用教程】序列模式——福禄克BT系列电池测试仪
  19. fsck|xfs_repair 磁盘修复
  20. 可以当零食吃的排骨——椒盐排骨

热门文章

  1. 直流电阻测量方法介绍
  2. 数据库迁移测试——功能测试
  3. matlab irandon函数,CT系统参数标定和图像重建
  4. 随笔-人生第一份工作离职了
  5. QT之隐藏任务栏图标
  6. mac画图工具 OmniGraffle (四)化繁为简
  7. 学生如何提高专业英文阅读能力(转自施一公博客)
  8. iPhone加码“独立王国” 有可能成摆设?
  9. .bss段和.data段引起的文件大小增加
  10. Flash音乐暂停播放按钮