Reinforcement Learning笔记(1)--基本框架-问题和解决方案

「学习内容总结自 udacity 深度学习课程,截图来自 udacity 课件」

基本框架-问题

1.基本框架

RL的基本框架如下图所示,主要是指智能体(Agent)如何学习与环境(Environment)互动的过程。
将时间离散化看待,在最开始的时间步中,环境会向智能体展示一些情景或者说智能体会观察环境得到一个结果(observation),然后智能体必须向环境做出响应动作(action)。在下一个时间步中,环境会给出新的情景,同时也向智能体提供一个奖励(reward),该奖励表示智能体是否对环境做出了正确的响应。 在后面的每个时间步中,环境都向智能体发送一个情景和奖励,智能体则必须做出对应的响应动作。

Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第1张图片

在课程中,会大大简化数学算法,假设智能体能够完全观察环境所处的任何状态,此时不再称为观察环境的结果,而是接收环境的状态 (state)
Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第2张图片

(1) 将过程符号化,在时间步 t0 时,有:
环境状态 S0,智能体做出的响应动作 A0
(2) 在下一个时间步 t1 时,有:
针对上一时间步智能体的响应动作,环境状态转换为 S1,并给予智能体奖励 R1,然后智能体选择响应动作 A1
(3) 后面的时间步同理,都会有对应的 RnSnAn
这些一系列的动作,状态和奖励,就是智能体与环境的互动表现。智能体的目标就是 将预期的累积奖励最大化

2. 阶段性任务与连续性任务

(1) 具有清晰起始点和结束点的任务称为阶段性任务(Episodic Task)。将从头到尾一系列完整的互动过程(从起始点到结束点),称为一个阶段。

Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第3张图片

(2) 一直持续下去,没有结束点的任务称为 连续性任务(Continuing Task)
Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第4张图片

3. 目标和奖励

对于强化学习的框架来说,目标是最大化期望累积奖励。应用强化学习框架来解决机器人学习走路的问题,但是对于学习如何走路的机器人来说,奖励是什么概念?如何对奖励下一个具有科学意义的定义?

首先,要了解一个背景。要注意“强化”和“强化学习”这两个术语来自行为科学。是指在行为之后立即发生的刺激,以使该行为在未来更有可能发生。采用这一名称并非偶然。实际上,在强化学习中,有一个重要的定义假设,即智能体的目标始终可以描述为最大化期望累积奖励,将这种假设称之为奖励假设

在训练过程中,如果机器人表现良好,能够像人一样正常走路,这时候就会给予像“好极了,没有跌倒!”,“糟糕,没有躲避楼梯跌倒了”这样的奖励提示。但这些只是总体的概念,缺乏直观的表示。在强化学习框架中,奖励表示会更为科学和具体。就如下图DeepMind在论文中提出的奖励公式一样,非常直观的描述了每个时间步的奖励计算方法。会根据是否走得快,是否向前走,是否走得自然顺滑,是否长时间行走这四个方面给予奖励。

Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第5张图片

4. 回报与折扣回报

对于时间步 t,此时所有之前的时间步的奖励已被确定,只有未来的奖励受到智能体的控制。

Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第6张图片

将后续奖励之和称为 回报(return),表示为 G,公式如下所示:

Gt = Rt+1 + Rt+2 + Rt+3 + Rt+4 + Rt+5 + Rt+6 + Rt+7 + Rt+8 + Rt+9 + Rt+10 + ···

如果希望前面发生的时间步权重更大,则可以给每项都添加上一个系数,表示时间越远的奖励将乘以更小的值。这时候的奖励之和为新的累加和,称为折扣回报(discounted return)。折扣的含义是更关心近期的奖励,而不是遥远未来的奖励。公式如下所示:

Gt = Rt+1 + γRt+2 + γ2Rt+3 + γ3Rt+4 + γ4Rt+5 + γ5Rt+6 + γ6Rt+7 + γ7Rt+8 + ···

其中γ表示折扣率,其范围为 [0 , 1] 。
当γ = 1 时, Gt = Rt+1 + Rt+2 + Rt+3 + ···,此时就等于之前的无折扣回报。
当γ = 0 时, Gt = Rt+1,此时就只有一个近期的奖励。
可以发现当γ越大,智能体对未来的关注越高。γ越小,表示折扣力度越大。

5. MDP(Markov Decision Process,马尔科夫决策过程)

  • 一些名词的定义
    • 动作空间A:智能体可以采取的动作集合
    • 状态空间S:所有非终止状态的集合。在连续性任务中表示所有状态。
    • 状态空间S+(用于阶段性任务):所有状态的集合(包括非终止状态)
    • 奖励空间R:所有奖励的集合
  • 一步动态特性(one-step dynamics)
    一步动态特性是指用数学的方法来表示环境动态,其适用于任何强化学习任务。
    在随机时间步 t,智能体环境互动变成一系列的状态、动作和奖励。
    当环境在时间步 t+1 对智能体做出响应时,仅与上一个时间步的状态和动作(StAt)有关,而与之前时间步的状态,动作无关。且与一切时间步的奖励都无关。
    因此,可以通过以下转移概率来完全表示环境如何决定状态和奖励。该概率用来指定环境的一步动态特性(one-step dynamics)

p(s', r | s, a) = P(St+1 = s', Rt+1 = r | St = s, At = a) , for all ss'a and r

  • MDP马尔科夫决策过程
    一个(有限的)马尔科夫决策过程由元组(SAPRγ)描述,其中:S 为(有限的)状态集; A 为(有限的)动作集; P 为转移概率,即环境的一步动态特性;R 为(有限的)回报;γ 为折扣率。
    Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第7张图片

基本框架-解决方案

在前面提出的马尔科夫决策过程,就是正式地定义想要通过强化学习解决的问题。这里主要针对该问题提出解决方案。

1. 策略(policy)

策略就是将智能体的每个状态与动作建立联系的过程。策略分为以下两种:

  • 决定性策略 πSA
    决定性策略是一组从环境状态 S 到潜在动作 A 的映射。表示某一状态下的确定动作 a = π(s)
  • 随机性策略 πS × A[0, 1]
    随机性策略是一组由环境状态 S 和潜在动作 A 到概率[0,1]范围的映射。 表示某一状态下执行该动作的概率 π(a|s) = P(At = a | St = s)

2. 状态值函数(State-Value Function)

值函数(Value Functions)包括状态值函数和动作值函数。先介绍状态值函数。策略π状态值函数(State-Value Function)表示为 v π(s) , 是指对于每个状态 sS ,其都生成智能体从状态 s 开始,然后在所有时间步根据该策略选择动作的预期回报。公式如下所示:

νπ(s) = Eπ [ Gt | St = s ]

Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第8张图片

3. 动作值函数(Action-Value Function)

策略 π 的动作值函数表示 qπ 。对于每个状态 sS 和动作 aA,它都生成智能体从状态 s 开始并采取动作 a,然后在所有未来时间步遵循该策略时产生的预期回报。公式如下所示:

qπ(s,a) = Eπ[ Gt | St = s, At = a ]

Reinforcement Learning笔记(1)--基本框架-问题和解决方案_第9张图片

4. 贝尔曼期望方程(Bellman Expectation Equations)

  • νπ(s )的贝尔曼期望方程
    任何状态的值函数 νπ(s ) 都可以计算为即时奖励(immediate reward)和下个状态(折扣)值的和。这个概念称之为νπ(s) 的贝尔曼期望方程,公式如下所示:

vπ(s ) = Eπ[ Rt+1 + γvπ(St+1) | St = s ]

对于任意随机性的策略则有以下公式:

vπ(s ) = ∑ s'S, rR ,aA(s) π(a|s)p(s', r | s, a)(r + γvπ(s' ))

  • qπ(s,a )的贝尔曼期望方程
    动作值函数的贝尔曼预期方程为:

qπ(s,a ) = Eπ[ Rt+1 + γqπ(St+1, At+1) | St = s ,At = a ]

对于任意随机的策略则有以下公式:

qπ(s,a ) = ∑ s'S, rR p(s', r | s, a)(r + γ∑ a'A(S) π(a'|s') qπ(s',a' ))

5. 最优策略

如果策略π'的值函数vπ'(s )大于或等于策略π的值函数vπ(s ),则认为策略π'的效果比策略π好或者效果相同。需要注意的是:经常会遇到两个策略不能比较的情况。但始终至少有一个策略比其他策略效果好或者效果相同。
始终至少存在一个策略比其他策略效果好或者效果相同,将这样的策略称之为最优策略,需要注意的是:肯定存在这样的策略,但不是唯一的。

最优策略就是智能体要寻找的策略,其也是MDP的解决方案和实现目标的最优策略。所有最优策略都具有相同的值函数,表示为 v∗​。

要找到最优策略就必须借助动作值函数。智能体与环境进行一系列的互动,通过这些互动可以估算出最优的动作值函数q∗​,然后智能体通过该动作值函数得出最优策略π∗​。(如何估算出最优的动作值函数q∗​这个在后续的课程中会讲解。)

6. 贝尔曼最优方程

  • v∗​ 的贝尔曼最优性方程:

v∗​(s ) = maxaA(s) E[Rt+1 + γv∗​(St )| St = s ]
= maxaA(s)s'S, rR p(s', r | s, a)(r + γv∗​(s' ))

  • q∗​ 的贝尔曼最优性方程:

q∗​(s,a ) = Eπ[ Rt+1 + γmaxa'A(St+1) q∗​(St+1, a') | St = s ,At = a ]
= ∑ s'S, rR p(s', r | s, a)(r + γmaxa'A(s') q∗​(s', a'))

辅助理解资料:

  1. 强化学习(一)
  2. An introduction to Reinforcement Learning - by Thomas Simonini

你可能感兴趣的:(Reinforcement Learning笔记(1)--基本框架-问题和解决方案)