强化学习数学基础:基本概念

  • 初识强化学习
  • 基本概念
    • `State`(状态)和`State Space`(状态空间)
    • `Action`(动作)与`Action Space`(动作空间)
    • `State transition`(状态转移)
    • `Forbidden area`
    • `Tabular representation`(表格化表示)
    • `State transition probability`(状态转移概率)
    • `Policy`(策略)
    • Reward(奖励)
    • Trajectory and return
    • Discounted return
    • Episode
  • Markov decision process (MDP)
    • MDP的关键要素
  • 总结
  • 补充
  • 参考内容

初识强化学习

强化学习是机器通过与环境交互来实现目标的一种计算方法。机器与环境的一轮交互是指,机器在环境的一个状态下做一个动作决策,把这个动作作用到环境当中,这个环境发生相应的改变并且将相应的奖励反馈和下一轮状态传回机器。这种交互是迭代进行的,机器的目标是最大化在多轮交互过程中获得的累积奖励的期望。

一个网络世界的示例:

强化学习用智能体(agent)来表示决策的机器,它不但可以感知周围的环境信息,还可以通过做决策来直接改变这个环境。
智能体有3种关键要素:感知、决策和奖励

  • 感知。agent在某种程度上感知环境的状态,从而指导自己所处的现状。
  • 决策:agent根据当前的状态计算出达到目标需要采取的动作的过程叫做决策。
  • 奖励:环境根据状态和agent采取的动作,产生一个标量信号作为奖励反馈。

强化学习中智能体学习的优化目标定义为价值(value)。

另外,从数据层面看,强化学习中,数据是在智能体与环境交互的过程中得到的,如果agent不采取某个决策动作,那么该动作对应的数据就永远无法被观测到,所以当前智能体的训练数据来自之前智能体的决策结果。而对于有监督学习任务,则是建立在给定的数据分布中采样得到的训练数据集上,通过优化在训练数据集中设定的目标函数(如最小化预测误差)找到模型的最优参数。这里的训练数据集背后的数据分布是完全不变的。

具体而言,强化学习中有一个关于数据分布的概念,称为占用度量(occupancy measure)。归一化的占用度量用于衡量在一个智能体决策与一个动态环境的交互过程,采样得到一个具体的状态动作对(state-action pair)的概率分布。

占用度量的一个重要性质:给定两个策略及其与一个动态环境交互得到的两个占用度量,那么当且仅当这两个占用度量相同时,这两个策略相同。也就是说,如果一个智能体的策略有所改变,那么它和环境交互得到的占用度量也会相应改变。

基本概念

State(状态)和State Space(状态空间)

Action(动作)与Action Space(动作空间)

State transition(状态转移)

Forbidden area

在状态s5, 如果我们选择动作a2,也就是向右走,那么下一个状态是什么?
- 情况1:这个黄色区域(Forbidden area)是可达区域,但是会有惩罚;
- 情况2:这个forbidden area是不可达区域,也就是说这个区域是被封闭的;

Tabular representation(表格化表示)

用一个表格描述状态转移的情况。如下所示

第一行表示动作,第一列表示当前位置,表格中的元素表示在当前位置选择动作执行后的状态。但是这种表格只能表示确定性的情况。

State transition probability(状态转移概率)

使用概率表述状态转移。

这种方式尽管也是确定性的情况,但是也可以描述随机性(stochastic)的情况。

Policy(策略)

告诉agent在某个state应该采取什么action。

基于上面的策略,可以得到在不同起始点的路径:

数学方式表示(Methematical representation):使用条件概率,如下,对于状态s1,有:
π ( a 1 ∣ s 1 ) = 0 \pi (a_1|s_1)=0 π(a1​∣s1​)=0
π ( a 2 ∣ s 1 ) = 1 \pi (a_2|s_1)=1 π(a2​∣s1​)=1
π ( a 3 ∣ s 1 ) = 0 \pi (a_3|s_1)=0 π(a3​∣s1​)=0
π ( a 4 ∣ s 1 ) = 0 \pi (a_4|s_1)=0 π(a4​∣s1​)=0
π ( a 5 ∣ s 1 ) = 0 \pi (a_5|s_1)=0 π(a5​∣s1​)=0
显然,这是一个确定性的策略。显然,还有一个随机性的策略,如下:

在这种策略下,对于s1,有:
π ( a 1 ∣ s 1 ) = 0 \pi (a_1|s_1)=0 π(a1​∣s1​)=0
π ( a 2 ∣ s 1 ) = 0.5 \pi (a_2|s_1)=0.5 π(a2​∣s1​)=0.5
π ( a 3 ∣ s 1 ) = 0.5 \pi (a_3|s_1)=0.5 π(a3​∣s1​)=0.5
π ( a 4 ∣ s 1 ) = 0 \pi (a_4|s_1)=0 π(a4​∣s1​)=0
π ( a 5 ∣ s 1 ) = 0 \pi (a_5|s_1)=0 π(a5​∣s1​)=0
同理,使用表格的形式描述该策略的状态,如下所示:

这种形式既可以描述确定性情况,也可以描述随机性情况。

Reward(奖励)

Reward是强化学习(RL)中的一个最独特的概念。是agent采取一个action后得到的一个实数(real number)。环境根据状态和智能体采取的动作,产生一个标量信号作为奖励反馈。这个标量信号衡量智能体这一轮动作的好坏。

在上面的网格案例中,奖励可以设计为:

Reward可以被解释为一种人机交互(human-machine interface),基于此可以用于指导agent做出我们期望的行为。对于上面的网格示例,基于上面设计的奖励机制,agent将会避免逃出边界,并且不会进入到forbidden cells中。同样地,用表格形式表示基于奖励的状态转移:

数学语言描述:条件概率

  • 直观描述:在状态s1,如果我们选择动作a1,奖励是-1。
  • 数学表示: p ( r = − 1 ∣ s 1 , a 1 ) = 1 p(r=-1|s_1, a_1)=1 p(r=−1∣s1​,a1​)=1且 p ( r ≠ − 1 ∣ s 1 , a 1 ) = 0 p(r≠-1|s_1, a_1)=0 p(r=−1∣s1​,a1​)=0

注意:

  • 这里是一个确定性的例子,奖励转移可以是随机性的;
  • 例如,如果你努力学习,你将会得到奖励,但是不确定性的程度是未知的?
  • reward依赖于state和action,但是不依赖下一个state(例如,可以考虑s1,a1和s2,a5)

Trajectory and return

A trajectory(轨迹) is a state-action-reward chain,如下图所示:


The return of this trajectory is the sum of all the rewards collected along the trajectory:
r e t u r n = 0 + 0 + 0 + 1 = 1 return = 0+0+0+1=1 return=0+0+0+1=1

另一种不同的策略得出一个不同的轨迹(trajectory):

该路径的返回(return)是:
r e t u r n = 0 − 1 + 0 + 1 = 0 return=0-1+0+1=0 return=0−1+0+1=0
上面两种策略哪一个比较好?

  • 直观上,第一种比较好,因为它避免了forbidden区域;
  • 数学上,第一种比较好,因为它得到了一个较大的return;
  • Return可以用来评估Policy是否好或者不好。

Discounted return

一种轨迹如下:

上面这种轨迹的定义如下:

这时候,return就是: r e t u r n = 0 + 0 + 0 + 1 + 1 + 1 + . . . = ∞ return=0+0+0+1+1+1+...=∞ return=0+0+0+1+1+1+...=∞。这种路径应当避免,因为他的return是发散的(diverges)。

那么如何解决这个问题?可以引入一个discount rate(折扣率) γ ∈ [ 0 , 1 ) \gamma\in [0,1) γ∈[0,1)
Discounted return:

这个折扣率(discount rate)有两种作用:1)将sum变为有限的(finite);2)平衡近期和远期reward:

  • 如果γ接近0,discounted return的值更加注重近期的reward
  • 如果γ接近1,discounted return的值更加注重远期reward

Episode

当agent基于一个policy和环境进行交互的时候,它容易停留在某些terminal states。该过程的轨迹trajectory称为episode(或者一个trial)。例如下面路径:

一个episode通常假设是一个有限的trajectory。具有episode的任务(Tasks)被称为episode tasks

有些任务没有terminal states,意味着和环境的相互作用将不会停止。这样的任务称为continuing tasks

在之前的网格案例中,当达到target之后是否应当停止?事实上,我们可以将episode和continuing tasks置于一个统一的数学框架下,通过将episode tasks转换为continuing tasks。

  • 操作1:将target state视为一个特殊的absorbing state(吸收态)。一旦agent到达一个absorbing state,它将不会离开。后续的reward r = 0 r=0 r=0。
  • 操作2:将target state视为一个具有一种policy的normal state(正常态)。agent仍然可以离开target state,并且当再次进入target state时,收益r=+1。

这里我们使用的是option 2,它相对来说,更具有一般化,对目标不区别对待,即把目标当作一个normal state。

Markov decision process (MDP)

MDP的关键要素

  • Sets(集合)

    • State(状态):the set of states S S S
    • Action(动作):the set of actions A ( s ) A(s) A(s) is associated for state s ∈ S s \in S s∈S
    • Reward(奖励):the set of rewards R ( s , a ) R(s, a) R(s,a)
  • Probability distribution(概率分布):

    • State transition probability(状态转移概率): 在状态s,采取动作a,agent转移到状态 s ′ s' s′的概率是 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)
    • Reward probability(奖励概率):在状态s,采取动作a,得到奖励r的概率是 p ( r ∣ s , a ) p(r|s,a) p(r∣s,a)
  • Policy(策略):在状态s,采取动作a的概率是 π ( a ∣ s ) \pi(a|s) π(a∣s)

  • Markov property:memoryless property(和历史无关)

    上面介绍的网格示例可以抽象为一个一般化的模型,Markov process,如下:

    圆圈表示状态,有箭头的线表示状态转移。Markov decision process becomes Markov process once the policy is given!

总结

强化学习的关键概念如下:

  • State
  • Action
  • State transition, state transition probability p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)
  • Reward, reward probability p(r|s, a)
  • Trajectory, episode, return, discounted return
  • Markov decision process

补充

强化学习本质的思维方式:
(1)强化学习的策略在训练中会不断更新,其对应的数据分布(即占用度量)也会相应地改变。因此,强化学习的一大难点在于,agent看到的数据分布是随着agent的学习而不断发生改变的。
(2)由于奖励建立在状态动作对之上,一个策略对应的价值其实就是一个占用度量下对应的奖励的期望,因此寻找最优策略对应着寻找最优占用度量。

有监督学习和强化学习的相似点和不同点:
(1)有监督学习和强化学习的优化目标相似,即都是在优化某个数据分布下的一个分数值的期望。
(2)二者优化的途径是不同的,有监督学习直接通过优化模型对于数据特征的输出来优化目标,即修改目标函数而数据分布不变;强化学习则通过改变策略来调整智能体和环境交互数据的分布,进而优化目标,即修改数据分布而目标函数不变。

总之,有监督学习是寻找一个最优的模型,尽可能拟合给定的数据分布;强化学习是寻找一个agent策略,使其能够最大化最有数据分布下一个给定奖励函数的期望。

参考内容

  1. 西湖大学工学院赵世钰教授的《强化学习的数学原理》
  2. 《动手学强化学习》俞勇 著

【强化学习】强化学习数学基础:基本概念相关推荐

  1. reddit高赞资源:20h系统性深度学习强化学习课程,视频、PPT、代码全都有 | 免费...

    子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 告别"拼图式"学习! 最近,一套深度学习和强化学习的免费课程在reddit上引起网友关注,获赞690+. 只因其不仅形式 ...

  2. EnforceLearning-在线学习-被动强化学习/评价学习

    前言: 画图挺好:深度学习进阶之路-从迁移学习到强化学习 固定知识系统:专家系统给出了知识节点和规则.专家系统一次性构建成型.运行方式为基于知识的推理. 专家系统使用粒度描述准确性,依靠分解粒度解决矛 ...

  3. 强化学习q学习求最值_Q学习简介:强化学习

    强化学习q学习求最值 by ADL 通过ADL Q学习简介:强化学习 (An introduction to Q-Learning: reinforcement learning) This arti ...

  4. 强化学习RL学习笔记2-概述(2)

    强化学习笔记专栏传送 上一篇:强化学习RL学习笔记1-概述(1) 下一篇:强化学习RL学习笔记3-gym了解与coding实践 目录 强化学习笔记专栏传送 前言 Major Components of ...

  5. 强化学习的学习之路(十)_2021-01-10:K臂老虎机介绍及其Python实现

    作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助.这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学 ...

  6. 基于深度强化学习的机器人运动控制研究进展 | 无模型强化学习 | 元学习

    1.基于深度强化学习的机器人运动控制研究进展 1.1 深度强化学习 1.1.1 强化学习简介: 强化学习(Reinforcement Learning, RL)利用试错机制与环境进行交互,旨在通过最大 ...

  7. 强化学习-2021学习笔记

    强化学习中文文档 强化学习 第一章 简介 1.1 强化学习 1.2 例子 1.3 强化学习的要素 1.4 局限性和范围 1.5 拓展例子:井子棋 1.6 小结 1.7 强化学习早期历史 第一部分 表格 ...

  8. 深度强化学习-强化学习基础(二)

    基本概念: 强化学习对于初学者来说会有专业名词,先对其进行解释. 状态(state):状态是环境中的一个位置信息,状态是做决策的唯一依据. 状态空间(state space):所有可能存在状态的集合, ...

  9. AI 自动研发机器学习系统,DeepMind 让算法学习强化学习

    人工智能研发的一个大方向是用AI系统来自动化开发AI系统.虽然这一目标尚未实现,但目前的进展让已足够令人人震惊.本文介绍了最新的一些进展,包括伯克利让算法自我优化.MIT自动生成神经网络架构,以及在这 ...

  10. 深度学习强化学习进化计算 入门资源整理

    深度学习&强化学习&进化计算 入门资源整理 深度学习 在线课程 在线书籍 学习Python 强化学习 在线课程 在线书籍 更多资源 进化计算 后记 深度学习 在线课程 深度学习是机器学 ...

最新文章

  1. 避坑指南:数据科学家新手常犯的13个错误(附工具、学习资源链接)
  2. 关于计算机图形标准化的论述 哪个是正确的,地大《计算机图形学(新)》在线作业 参考资料...
  3. 百度html删除,百度地图-删除默认版权信息
  4. 看苏宁易购的运营保障体系如何hold住818大促
  5. 关于视频光端机调制方式及介质特点的介绍
  6. 双一流大学毕业的我,应该何去何从?
  7. web前端警惕:意料之外的全局变量声明
  8. NOI入门级数学: 数及其运算 数的进制之二进制
  9. LinuxCNC基础知识
  10. tar -zxvf命令_Linux压缩命令小记
  11. 光影之路 GPU架构发展史(1/4)
  12. 怎样用计算机算出54188,2010年考研计算机考生给教育部长的一封信(转自猫扑)...
  13. Windows makecert生成代码签名证书
  14. 粉笔公考——错题集——申论
  15. 稳捷教育行业解决方案
  16. 考研、考公还是找工作?别在大学因为迷茫这个问题浪费时间了
  17. TunesKit Spotify Converter Mac(Spotify音乐转换工具) v1.5.1激活版
  18. Android 搜狗输入法-手表版对圆形手环/手表适配
  19. 服务器集群虚拟化内存漂移,浅谈医院高稳定性虚拟化集群的部署
  20. 《中华人民共和国个人信息保护法》

热门文章

  1. Python 3 字符串 rstrip( ) 方法(转载)
  2. React之Refs的使用
  3. 实例讲解内连接、左连接、右连接、交叉连接、外连接以及全连接
  4. 印度理工学院射频集成电路设计之电阻端接低噪声放大器
  5. db2 load 快速_db2 load详解
  6. 一次真实的东西方程序员访谈比较
  7. 内存分配器 mysql_MySQL内存管理,内存分配器和操作系统的示例分析
  8. Linux中head和tail的区别,linux head和tail命令详解
  9. JAVA互联网架构之Spring学习其一配置bean及工厂
  10. 我的职业生涯规划:汗水浇灌梦想,在青春里成长