强化学习 2021.02.18.xmind

强化学习 2021.02.18.png
10.强化学习.pdf

强化学习 2021.02.18……………………………………………………………………………………………. 1
1. 强化学习 by 邹伟………………………………………………………………………………………….. 8
1.1. 10.强化学习.pdf……………………………………………………………………………………… 8
1.2. 引子………………………………………………………………………………………………………. 8
1.2.1. AlphaGo 原理=深度+强化(自我对弈学习+蒙特卡洛树搜索)………….. 8
1.2.2. 深度学习…………………………………………………………………………………………. 8
1.2.3. 强化学习…………………………………………………………………………………………. 8
1.2.4. 章节路线…………………………………………………………………………………………. 8
2. 一、强化学习是什么?………………………………………………………………………………… 8
2.1. 1.定义……………………………………………………………………………………………………. 8
2.1.1. 强化学习方法起源于动物心理学的相关原理,模仿人类和动物学习的试错机制。 8
2.1.2. 是一种通过与环境交互,学习最优的状态到行动的映射关系(即在某个状态下,采取所有行为的概率分布),以获得最大累积期望回报的学习方法 8
2.2. 2.强化学习 vs 其他机器学习…………………………………………………………………… 8
2.2.1. (1)没有监督者,只有量化奖励信号;…………………………………………. 9
2.2.2. (2)反馈延迟,只有进行到最后才知道当下的动作是好还是坏。….. 9
2.2.3. (3)强化学习属于顺序决策,根据时间一步步决策行动,训练数据不符合独立同分布条件; 9
2.2.4. (4)每一步行动影响下一步状态,以及奖励………………………………….. 9
2.3. 3.强化学习框架……………………………………………………………………………………… 9
2.3.1. 智能体-环境…………………………………………………………………………………….. 9
2.3.2. 智能体三个组成………………………………………………………………………………. 9
2.4. 4.如何解决强化学习问题?………………………………………………………………….. 10
2.4.1. 解决强化模型的问题转化为求解马尔可夫决策模型的问题…………….. 10
2.4.2. 任何一个求解马尔可夫决策模型的方法都叫做强化学习方法…………. 10
2.5. 5.强化学习方法分类…………………………………………………………………………….. 10
2.5.1. (1)解决强化学习问题时,是建立对状态的价值的估计来解决问题,还是直接建立对策略的估计来解决问题,分为三类 10
2.5.2. (2)个体在解决强化学习问题时是否需建立环境模型,分为两类… 10
2.6. 6.重要概念…………………………………………………………………………………………… 10
2.6.1. (1)学习与规划…………………………………………………………………………… 10
2.6.2. (2)探索和利用…………………………………………………………………………… 11
2.6.3. (3)预测和控制…………………………………………………………………………… 11
3. 二、马尔科夫决策过程………………………………………………………………………………. 11
3.1. 1.马尔可夫性……………………………………………………………………………………….. 11
3.1.1. 某一状态信息包含了所有相关的历史,…………………………………………. 11
3.1.2. 只要当前状态可知,所有的历史信息都不再需要,……………………….. 11
3.1.3. 当前状态就可以决定未来,则认为该状态具有马尔科夫性。…………. 11
3.1.4. 几乎所有的强化学习问题都可以转化为MDP…………………………………. 11
3.2. 2.马尔可夫决策过程 MDP Markov Decision Process……………………………….. 11
3.2.1. MDP-策略………………………………………………………………………………………. 11
3.2.2. MDP-值函数…………………………………………………………………………………… 12
3.2.3. MDP-贝尔曼期望方程 Bellman方程………………………………………………… 12
3.2.4. MDP-最优值函数……………………………………………………………………………. 12
3.2.5. MDP-最优策略……………………………………………………………………………….. 12
4. 三、动态规划…………………………………………………………………………………………….. 13
4.1. 使用动态规划求解MDP问题……………………………………………………………….. 13
4.2. 1.为什么可以使用动态规划?………………………………………………………………. 13
4.2.1. 什么是动态规划?…………………………………………………………………………. 13
4.2.2. 什么样的问题,可以考虑使用动态规划来求解?…………………………… 13
4.2.3. 马尔科夫决定过程(MDP)具有上述两个属性:…………………………… 13
4.3. 2.如何使用动态规划求解?………………………………………………………………….. 13
4.3.1. 策略评估(预测)…………………………………………………………………………. 13
4.3.2. 策略改善(控制)…………………………………………………………………………. 14
4.3.3. 策略迭代……………………………………………………………………………………….. 14
4.3.4. 值迭代…………………………………………………………………………………………… 14
5. 四、蒙特卡洛…………………………………………………………………………………………….. 14
5.1. 在不清楚模型状态转移概率及奖励的情况下,直接对完 整轨迹中的回报取平均得到值函数,求取最优解 15
5.2. 1.为什么要使用蒙特卡罗?………………………………………………………………….. 15
5.2.1. 为什么不能用动态规划?………………………………………………………………. 15
5.2.2. 什么是蒙特卡罗方法?………………………………………………………………….. 15
5.3. 2.如何使用蒙特卡罗方法?………………………………………………………………….. 15
5.3.1. 广义策略迭代框架…………………………………………………………………………. 15
5.3.2. 策略评估……………………………………………………………………………………….. 15
5.3.3. 策略控制……………………………………………………………………………………….. 16
5.3.4. 改进………………………………………………………………………………………………. 16
5.3.5. GLIE(Greedyin the Limit with Infinite Exploration)………………………………. 17
5.3.6. 蒙特卡罗示例-二十一点游戏描述…………………………………………………… 17
6. 五、时间差分…………………………………………………………………………………………….. 17
6.1. 模型状态转移及奖励的情况下,学习不完整的轨迹,通 过贝尔曼递推公式(自举的方法)求取值函数,获得最 优解 。 18
6.2. 1.为什么要使用时间差分?………………………………………………………………….. 18
6.2.1. 时序差分学习简称TD学习,和蒙特卡洛一样,它也从Episode学习,不需要了解模型本身 ;但是它可以学习不完整的Episode 18
6.2.2. 与蒙特卡罗区别…………………………………………………………………………….. 18
6.3. 2.时间差分vs 蒙特卡罗vs动态规划……………………………………………………… 18
6.3.1. TD:采样,经历可不完整,用下一状态的预估 状态价值预估收获再更新预估价值 18
6.3.2. MC: 采样,一次完整经历,用实际收获更新状 态预估价值…………….. 18
6.3.3. DP:没有采样,根据完整模型, 依靠一个状态S所有可能的转移状态S’、转移概率、即时奖励来计算这个状态S的价值 19
6.4. 3.时间差分 :同策略vs异策略…………………………………………………………….. 19
6.4.1. 同策略:产生采样的策略和评估控制的策略是 同一个策略。………… 19
6.4.2. 异策略:产生采样的策略和评估控制的策略不是 同一个策略。…….. 19
6.4.3. 异策略:较容易的从人类经验或其他个体的经验中学习,也可以从一些旧的策略中学习,可以比较两个 策略的优劣。其中可能也是最主要的原因就是遵循一个探索式策略的基础上优化现有的策略。……………………………………………………… 19
7. 六、多步时间差分方法………………………………………………………………………………. 19
7.1. 是单步时间差分(TD)的扩展。扩展之后产生了一类方法,连接了TD和MC 19
7.2. 1.什么是多步时间查分?……………………………………………………………………… 19
7.2.1. 先前所介绍的TD算法实际上都是TD(0)算法,括号内的数字0表示的是在当前状态下往前多 看1步,要是往前多看2步更新状态价值会怎样?这就引入了n-step的概念………………………………………………………………………………………………… 19
7.2.2. n-步预测 n-Step Prediction………………………………………………………………. 19
7.2.3. n-步回报………………………………………………………………………………………… 19
7.3. 2.TD(ג) 前向算法…………………………………………………………………………………… 19
7.3.1. 问题:既然存在n-步预测,那么n=?时效果最好呢………………………. 20
7.3.2. 实际过程中一般对每步的值函数都赋予一个权重,将各步时间差分返回值加权平均,用以 更新值函数,求解最优策略。 20
7.3.3. 更新一个状态的状态价值,必须要走完整个Episode获得每一个状态的即时奖励以及最终状 态获得的即时奖励 20
7.4. 3.TD(ג) 后向算法…………………………………………………………………………………… 20
8. 七、值函数逼近…………………………………………………………………………………………. 20
8.1. 对于状态行为是连续变量的情况,通过引入线性或非线性函数对值函数进行近似,计算该函数的参数,实现在状态行为空间的泛化,用以解决包含连续变量或者复杂意义的场景情况…………………………………………………………………………………………. 20
8.2. 1.大规模强化问题的求解……………………………………………………………………… 20
8.2.1. 大规模强化学习问题……………………………………………………………………… 20
8.2.2. 近似价值函数………………………………………………………………………………… 20
8.3. 2.线性法………………………………………………………………………………………………. 20
8.3.1. 梯度下降定义,作用……………………………………………………………………… 20
8.3.2. 梯度下降法进行函数近似………………………………………………………………. 20
8.3.3. 梯度下降方法………………………………………………………………………………… 20
8.4. 3.非线性法—DQN…………………………………………………………………………………. 21
8.4.1. 深度Q网络:深度强化算法。卷积神经网络 + Q-Learning………………. 21
8.4.2. 2015年2月,Google DeepMind公司在Nature上发表了一篇论文:Human-level control through deep reinforcement learning。文章描述了如何让电脑自己学会打Atari 2600电 子游戏。……………………………………………………………………………….. 21
8.4.3. 深度Q网络:网络的左边是输入,右边是输出。 游戏屏幕的图像先经过两个卷积层(论文 中写的是三个),然后经过两个全连接层, 最后映射到游戏手柄所有可能的动作。…………………………………………………………………………………………. 21
8.4.6. DQN算法要点……………………………………………………………………………….. 23
9. 八、策略函数逼近……………………………………………………………………………………… 23
9.1. 因为值函数在某些情况下不能很好的解决问题,在某些场合,直接分析策略更方便,该逼近使用策略梯度上升的求解方法绕过了值函数,直接求解最优策略 24
9.2. 1.基于值函数vs基于策略vsAC方法…………………………………………………….. 24
9.3. 2.为什么要使用策略函数逼近方法?……………………………………………………. 24
9.3.1. 大规模强化学习问题……………………………………………………………………… 24
9.3.2. 与值函数相比,有如下优点?……………………………………………………….. 24
9.4. 3.策略目标函数……………………………………………………………………………………. 25
9.4.1. 优化策略的最终目的是什么?……………………………………………………….. 25
9.4.2. 策略目标函数………………………………………………………………………………… 25
9.4.3. 优化目标函数………………………………………………………………………………… 25
9.5. 4.有限差分策略梯度…………………………………………………………………………….. 25
9.5.1. 策略梯度……………………………………………………………………………………….. 25
9.5.2. 策略梯度理论分析-得分…………………………………………………………………. 26
9.6. 5.策略梯度理论分析-策略梯度定理………………………………………………………. 26
9.6.1. 单步MDP问题………………………………………………………………………………. 26
9.6.2. 扩展到MDP问题…………………………………………………………………………… 26
9.6.3. 蒙特卡罗策略梯度…………………………………………………………………………. 26
9.6.4. Actor-Critic策略梯度……………………………………………………………………… 26
10. 九、集成学习与规划……………………………………………………………………………….. 28
10.1. 从一个统一的视角来阐述基于环境模型的方法(规划方法:比如动态规划)和不需要模型的方法(学习方法: 如TD和MC) 28
10.2. 1.为什么要学习一个模型?……………………………………………………………….. 28
10.2.1. 优点:……………………………………………………………………………………….. 28
10.2.2. 缺点:……………………………………………………………………………………….. 28
10.2.3. 本讲内容:………………………………………………………………………………… 29
10.3. 2.监督法构建模型……………………………………………………………………………… 29
10.3.1. 目标:从经历中估计一个模型 使用的是监督式学习的训练集: 训练方法:选择一个损失函数,比如均方差,KL 散度等,优化参数 来最小化经验损失。所有监 督学习相关的算法都可以用来解决上述两个问题。……………………………….. 29
10.4. 3.查表法构建模型……………………………………………………………………………… 29
10.4.1. 在学习模型时,不是以Episode为最小学习单位的,而是以时间步(time-step)为单位,一次 学习一个状态转换 。 29
10.5. 4.基于模型的规划……………………………………………………………………………… 29
10.5.1. 规划的过程相当于解决一个MDP的过程,求解最优值函数,最优策略 。 实际规划过程中,利用模型来产生一个时间步长的虚拟经历,有了这些虚拟采样,随后使用不基 于模型的强化学习方法来学习得到价值或策略函数。这种虚拟采样的方法通常很有效 29
10.6. 5.学习与规划整合……………………………………………………………………………… 29
10.6.1. 将不基于模型的真实经历和基于模型采样得到的模拟经历结合起来,提出一种新的架构 29

20210218 强化学习 - 图2

1. 强化学习 by 邹伟

1.1. 10.强化学习.pdf

1.2. 引子

1.2.1. AlphaGo 原理=深度+强化(自我对弈学习+蒙特卡洛树搜索)

1.2.2. 深度学习

通过学习神经网络来完成高维数据的低维表示,解决的是感知的问题

应用:图像识别,语音识别,推荐系统,自然语言处理

1.2.3. 强化学习

解决“做什么”—如何将情境映射到行动,从而最大化数字奖励信号的方法。

应用:路径规划,直升机飞行控制,博弈游戏

1.2.4. 章节路线

提出问题>基础求解>联合求解

2. 一、强化学习是什么?

2.1. 1.定义

2.1.1. 强化学习方法起源于动物心理学的相关原理,模仿人类和动物学习的试错机制。

2.1.2. 是一种通过与环境交互,学习最优的状态到行动的映射关系(即在某个状态下,采取所有行为的概率分布),以获得最大累积期望回报的学习方法

2.2. 2.强化学习 vs 其他机器学习

2.2.1. (1)没有监督者,只有量化奖励信号;

2.2.2. (2)反馈延迟,只有进行到最后才知道当下的动作是好还是坏。

2.2.3. (3)强化学习属于顺序决策,根据时间一步步决策行动,训练数据不符合独立同分布条件;

2.2.4. (4)每一步行动影响下一步状态,以及奖励

2.3. 3.强化学习框架

2.3.1. 智能体-环境

智能体:强化学习系统

环境:与智能体交互的外部

2.3.2. 智能体三个组成

模型

个体对环境的一个建模,它体现了个体是如何思考环境运行机制的,个体希望模型能模拟环境与个体的交互机制。

值函数

是一个未来奖励的预测,用来评价当前状态的好坏程度。

个体可以用一个Value值来评估两个不同的状态,继而指导选择不同的行为,即制定不同的策略

一个价值函数是基于某一个特定策略的,不同的策略下同一状态的价值并不相同

值函数是从此刻开始所有回报的加权和,权重为折算因子的方向前看多少步,取决于折算因子的大小,当n无限大,权重会小到忽略不计

策略

策略是决定个体行为的机制

是从状态到行为的一个映射

可以是确定性的,也可以是不确定性的

2.4. 4.如何解决强化学习问题?

2.4.1. 解决强化模型的问题转化为求解马尔可夫决策模型的问题

2.4.2. 任何一个求解马尔可夫决策模型的方法都叫做强化学习方法

2.5. 5.强化学习方法分类

2.5.1. (1)解决强化学习问题时,是建立对状态的价值的估计来解决问题,还是直接建立对策略的估计来解决问题,分为三类

2.5.2. (2)个体在解决强化学习问题时是否需建立环境模型,分为两类

2.6. 6.重要概念

2.6.1. (1)学习与规划

学习:环境初始时是未知的,个体不知道环境如何工作,个体通过与环境进行交互,逐渐改善其 行为策略。

规划: 环境如何工作对于个体是已知或近似已知的,个体并不与环境发生实际的交互,而是利用 其构建的模型进行计算,在此基础上改善其行为策略。

常用的强化学习问题解决思路:先学习环境如何工作,了解环境工作的方式,即学习得到一个模 型,然后利用这个模型进行规划。

2.6.2. (2)探索和利用

探索:挖掘更多的关于环境的信息

利用:根据已知信息,最大化奖励

2.6.3. (3)预测和控制

预测:根据已知信息,评估未来奖励。即处于每个状态下能够获得的奖励是多少。

控制:将奖励最大化,不仅是计算出最优的值函数,而且要给出最优的策略。

3. 二、马尔科夫决策过程

3.1. 1.马尔可夫性

3.1.1. 某一状态信息包含了所有相关的历史,

3.1.2. 只要当前状态可知,所有的历史信息都不再需要,

3.1.3. 当前状态就可以决定未来,则认为该状态具有马尔科夫性。

3.1.4. 几乎所有的强化学习问题都可以转化为MDP

3.2. 2.马尔可夫决策过程 MDP
Markov Decision Process

3.2.1. MDP-策略

一个策略完整定义了个体的行为方式,也就是说定义了个体在各个状态下的各种可能的行为方式以及其概率的大小。

3.2.2. MDP-值函数

收获:在一个马尔科夫奖励链上从t时刻开始往后所有的奖励的有衰减的总和。其中衰减系数体现了未来的奖励在当前时刻的价值比例。

状态值函数:给定状态s下,遵循策略π ,获得的期望回报

行为值函数:给定状态s下,采取动作a,遵循策略π ,获得的期望回报

3.2.3. MDP-贝尔曼期望方程 Bellman方程

3.2.4. MDP-最优值函数

3.2.5. MDP-最优策略

什么是最优策略?

当对于任何状态 s,遵循策略π的价值不小于遵循 策略 π’ 下的价值,则策略π优于策略 π’

定理 对于任何MDP

1.存在一个最优策略;

2.所有的最优策略有相同的最优价值函数;

3.所有的最优策略具有相同的行为价值函数

如何寻找最优策略?

可以通过最大化最优行为价值函数来找到最优策略

4. 三、动态规划

4.1. 使用动态规划求解MDP问题

4.2. 1.为什么可以使用动态规划?

4.2.1. 什么是动态规划?

动态规划算法是解决复杂问题的一个方法,将复杂问题分解为子问题,通过求解子问题得 到整个问题的解。

在解决子问题的时候,其结果通常需要存储起来被用来解决后续复杂问题。

4.2.2. 什么样的问题,可以考虑使用动态规划来求解?

一个复杂问题的最优解由数个小问题的最优解构成,可以通过寻找子问题的最优解来得到 复杂问题的最优解;

子问题在复杂问题内重复出现,使得子问题的解可以被存储起来重复利用。

4.2.3. 马尔科夫决定过程(MDP)具有上述两个属性:

Bellman方程把问题递归为求解子问题,价值函数就相当于存储了一些子问题的解,可以复用。因此可以使用动态规划来求解MDP。

4.3. 2.如何使用动态规划求解?

4.3.1. 策略评估(预测)

解决方案:应用Bellman期望方程进行迭代

具体方法:在k+1次迭代中,使用v_k(s‘) 更新计算v_k+1(s),其中s’是s的后继状态

此种方法通过反复迭代最终将收敛v π 。

4.3.2. 策略改善(控制)

在当前策略基础上,贪婪地选取行为,使得后继状态价值增加最多

4.3.3. 策略迭代

问题:寻找最优策略π

解决方案:应用贝尔曼期望方程,先进行策略评估,再改进策略,评估改进的策略,再进一步改进 策略。即v1- π1-v2-π2……v

策略迭代示例

4.3.4. 值迭代

问题:寻找最优策略π

解决方案:使用贝尔曼最优方程,将策略改进视为值函数的改善。每一步都求取最大的值函数。即 v1-v2……v*

从初始状态值函数开始同步迭代计算,最终收敛,整个过程中没有遵循任何策略。

注意:与策略迭代不同,在值迭代过程中,算法不会给出明确的策略,迭代过程其间得到的价值函数, 不对应任何策略。

值迭代示例

5. 四、蒙特卡洛

5.1. 在不清楚模型状态转移概率及奖励的情况下,直接对完 整轨迹中的回报取平均得到值函数,求取最优解

5.2. 1.为什么要使用蒙特卡罗?

5.2.1. 为什么不能用动态规划?

上一讲动态规划解决是一个已知的MDP问题:已知状态转移概率和奖励。

从本讲解决的未知MDP问题:不掌握MDP具体细节,不知道状态转移概率和奖励。即:不 知道s下采取a,会转移到什么状态?会获得多少奖励?

5.2.2. 什么是蒙特卡罗方法?

在不清楚MDP状态转移及即时奖励的情况下,直接从智能体与环境的交互的完整轨迹来进 行学习。

完整轨迹(Episode):从一个状态开始经历直至结束

5.3. 2.如何使用蒙特卡罗方法?

5.3.1. 广义策略迭代框架

任何方法都可以用广义策略迭代方法来统一:即先对当前策略进行策略评估,也就是说 计算出当前策略所对应的值函数;然后,利用值函数改进当前策略。

5.3.2. 策略评估

目标:在给定策略下,从一系列的完整Episode中学习得到该策略下的状态价值函  数数学描述如下

5.3.3. 策略控制

问题:使用动态规划算法来改善策略,需要知道某一状态的所有后续状态及状态间转移概率:

20210218 强化学习 - 图3

MC:在模型未知的条件下无法知道当前状态的所有后续状态,进而无法确定在当前状态下采 取怎样的行为更合适

解决方法:使用状态行为对下的价值Q(s,a)来代替状态价值 V(s):

20210218 强化学习 - 图4

5.3.4. 改进

改进1

评估策略时,用状态行为价值Q(s,a)来代替评估状态价值 V(s)

改进2

问题:我们每次都使用贪婪算法来改善策略的时候,将很有可能由于没有足够的采样经验而导致 产生一个并不是最优的策略

解决方案:我们需要不时的尝试一些新的行为,这就是探索(Exploration)。控制策略时,用e-贪心方法替代贪心方法。

改进3

问题:传统方法经历多个Episode之后才进行依次Q函数更新、策略改善。速度太慢。

解决方法:每经历一个Episode之后就更新Q函数或改善策略。

问题:Ɛ-贪婪探索没有终止条件,因为它一直在进行探索,最优策略不应该包括一些随机行为选择。

解决方法:设置终止条件。

5.3.5. GLIE(Greedyin the Limit with Infinite Exploration)

优点:可以在有限的时间内进行无限可能的探索。

20210218 强化学习 - 图5

具体表现为:所有已经经历的状态行为 对会被无限次探索;另外随着探索的无限延伸,贪婪算法中Ɛ值趋向于0。

5.3.6. 蒙特卡罗示例-二十一点游戏描述

6. 五、时间差分

6.1. 模型状态转移及奖励的情况下,学习不完整的轨迹,通 过贝尔曼递推公式(自举的方法)求取值函数,获得最 优解 。

6.2. 1.为什么要使用时间差分?

6.2.1. 时序差分学习简称TD学习,和蒙特卡洛一样,它也从Episode学习,不需要了解模型本身 ;但是它可以学习不完整的Episode

6.2.2. 与蒙特卡罗区别

20210218 强化学习 - 图6

6.3. 2.时间差分vs 蒙特卡罗vs动态规划

6.3.1. TD:采样,经历可不完整,用下一状态的预估 状态价值预估收获再更新预估价值

6.3.2. MC: 采样,一次完整经历,用实际收获更新状 态预估价值

6.3.3. DP:没有采样,根据完整模型, 依靠一个状态S所有可能的转移状态S’、转移概率、即时奖励来计算这个状态S的价值

6.4. 3.时间差分 :同策略vs异策略

6.4.1. 同策略:产生采样的策略和评估控制的策略是 同一个策略。

同策略时间差分:sarsa

6.4.2. 异策略:产生采样的策略和评估控制的策略不是 同一个策略。

异策略时间差分:Q-learning

6.4.3. 异策略:较容易的从人类经验或其他个体的经验中学习,也可以从一些旧的策略中学习,可以比较两个 策略的优劣。其中可能也是最主要的原因就是遵循一个探索式策略的基础上优化现有的策略。

7. 六、多步时间差分方法

7.1. 是单步时间差分(TD)的扩展。扩展之后产生了一类方法,连接了TD和MC

7.2. 1.什么是多步时间查分?

7.2.1. 先前所介绍的TD算法实际上都是TD(0)算法,括号内的数字0表示的是在当前状态下往前多 看1步,要是往前多看2步更新状态价值会怎样?这就引入了n-step的概念

7.2.2. n-步预测 n-Step Prediction

7.2.3. n-步回报

7.3. 2.TD(ג) 前向算法

7.3.1. 问题:既然存在n-步预测,那么n=?时效果最好呢

7.3.2. 实际过程中一般对每步的值函数都赋予一个权重,将各步时间差分返回值加权平均,用以 更新值函数,求解最优策略。

7.3.3. 更新一个状态的状态价值,必须要走完整个Episode获得每一个状态的即时奖励以及最终状 态获得的即时奖励

7.4. 3.TD(ג) 后向算法

8. 七、值函数逼近

8.1. 对于状态行为是连续变量的情况,通过引入线性或非线性函数对值函数进行近似,计算该函数的参数,实现在状态行为空间的泛化,用以解决包含连续变量或者复杂意义的场景情况

8.2. 1.大规模强化问题的求解

8.2.1. 大规模强化学习问题

8.2.2. 近似价值函数

近似函数类型:线性回归/神经网络

8.3. 2.线性法

8.3.1. 梯度下降定义,作用

8.3.2. 梯度下降法进行函数近似

8.3.3. 梯度下降方法

20210218 强化学习 - 图7

8.4. 3.非线性法—DQN

8.4.1. 深度Q网络:深度强化算法。卷积神经网络 + Q-Learning

8.4.2. 2015年2月,Google DeepMind公司在Nature上发表了一篇论文:Human-level control through deep reinforcement learning。文章描述了如何让电脑自己学会打Atari 2600电 子游戏。

8.4.3. 深度Q网络:网络的左边是输入,右边是输出。 游戏屏幕的图像先经过两个卷积层(论文 中写的是三个),然后经过两个全连接层, 最后映射到游戏手柄所有可能的动作。

8.4.4.

20210218 强化学习 - 图8

8.4.5.

20210218 强化学习 - 图9

8.4.6. DQN算法要点

DQN利用卷积神经网络逼近行为值函数

深度神经网络表示值函数,参数为每层网络的权重,我们用w或者theta表示。我们这时候 对值函数进行更新时其实更新的是参数。

DQN所用的网络结构是3个卷积层+两个全连接层。输入是经过处理的4个连续的84x84图 像,然后经过两个卷积层,两个全连接层,最后输出包含每一个动作Q值的向量。完成了高 维状态输入,低维动作输出的表示问题。对于Atari游戏而言,高维状态输入指的是原始图 像,低维动作输出指包含了所有动作的Q值的向量而已。

DQN利用经验回放对强化学习过程进行训练

通过经验回放为什么可以令神经网络的训练收敛且稳定?

原因是:对神经网络进行训练时,存在的假设是独立同分布。而通过强化学习采集到的数 据之间存在着关联性,利用这些数据进行顺序训练,神经网络当然不稳定。经验回放可以 打破数据间的关联。

具体做法:在强化学习过程中,智能体将数据存储到一个数据库中,利用均匀随机采样的 方法从数据库中抽取数据,利用抽取的数据对神经网络进行训练。

DQN设置了目标网络来单独处理TD偏差。

9. 八、策略函数逼近

9.1. 因为值函数在某些情况下不能很好的解决问题,在某些场合,直接分析策略更方便,该逼近使用策略梯度上升的求解方法绕过了值函数,直接求解最优策略

9.2. 1.基于值函数vs基于策略vsAC方法

9.2.1.

20210218 强化学习 - 图10

9.3. 2.为什么要使用策略函数逼近方法?

9.3.1. 大规模强化学习问题

参数化的目的是为了解决大规模问题。通过参数化,用少量的参数来合理近似实际的函数

做法:利用参数化的策略函数,通过调整这些参数来得到一个较优策略。具体的机制是设计一 个目标函数,对其使用梯度上升(Gradient Ascent)算法优化参数以最大化奖励。

9.3.2. 与值函数相比,有如下优点?

更好的收敛性;

在对于那些拥有高维度或连续状态空间来说,使用基于价值函数的学习制定策略时,需求取最 大值,比较困难,基于策略的学习回避了这个问题。

能够学到一些随机策略

有时候计算价值函数非常复杂。基于策略就简单许多,比如接球问题:只需要朝着小球落地的 方向移动修改策略就行。

9.4. 3.策略目标函数

9.4.1. 优化策略的最终目的是什么?

尽可能获得更多的奖励。设计一个目标函数来衡量策略的好坏。

9.4.2. 策略目标函数

使用每一个时间步长在各种情况下所能得到的平均奖励。

d 是在当前策略下马尔科夫链的关于状态的一个静态分布。

20210218 强化学习 - 图11

9.4.3. 优化目标函数

找到参数θ来最大化目标函数,多数情况下使用梯度上升求解

9.5. 4.有限差分策略梯度

9.5.1. 策略梯度

令J(θ)可以是任何类型的策略目标函数,策略梯度算法可以使J(θ)沿着其梯度上升至局部最 大值。同时确定获得最大值时的参数θ:

具体做法是,针对参数θ的每一个分量θk,使用如下的公式粗略计算梯度:

20210218 强化学习 - 图12

9.5.2. 策略梯度理论分析-得分

我们将理论分析并计算策略梯度。这要求策略在执行行为时刻是可微分的,并且其梯度是 能计算出来的

函数在某个变量θ处的梯度等于该处函数值与该函数的对数函数在此处梯度的乘积。

9.6. 5.策略梯度理论分析-策略梯度定理

9.6.1. 单步MDP问题

9.6.2. 扩展到MDP问题

答案是肯定的。唯一要变动的就是把即时奖励值换成目标的Q值。

9.6.3. 蒙特卡罗策略梯度

针对具有完整Episode的情况,我们应用策略梯度理论,使用随机梯度上升来更新参数。

公式里的期望,通过采样替代,即使用t时刻的收获V。作为当前策略下行为价值的无偏估计

9.6.4. Actor-Critic策略梯度

主要思想

参使用蒙特卡罗策略梯度方法噪声比较大,方差较高。如果能够相对准确地估计状态价值,用 它来指导策略更新,会有更好的学习效果 。

直接利用Q函数逼近方法评估

20210218 强化学习 - 图13

基于Actor-Critic策略梯度学习分为两部分内容:

1. Critic:参数化行为价值函数Qw(s, a),并进行估计

2. Actor:按照Critic部分得到的价值,引导策略函数参数θ的更新。

Critic通过线性近似的TD(0)更新w,Actor通过策略梯度更新θ。具体算法流程如下

20210218 强化学习 - 图14

10. 九、集成学习与规划

10.1. 从一个统一的视角来阐述基于环境模型的方法(规划方法:比如动态规划)和不需要模型的方法(学习方法: 如TD和MC)

10.2. 1.为什么要学习一个模型?

10.2.1. 优点:

通过构建一个模型,个体具备了一定程度的独立思考能力,即在与环境发生实际交互之前思考各 种可能的行为其对能带给环境及自身的改变。 通过个体的思考以及联合其与环境的实际交互经验,个体在解决大规模MDP问题时可以取得更 好的结果。

10.2.2. 缺点:

模型其实是一个个体对环境运行机制的描述,不完全是真实的环境运行机制,因此存在近似。当 使用一个近似的模型去进行价值函数或策略函数的学习时,又会引入一次近似。因此会带来双重 的近似误差。

10.2.3. 本讲内容:

如何从经历中直接学习模型,如何构建一个模型,如何基于模型来进行“规划”,在次基础上将 “学习”和“规划”整合起来形成Dyna算法

10.3. 2.监督法构建模型

10.3.1. 目标:从经历中估计一个模型 使用的是监督式学习的训练集: 训练方法:选择一个损失函数,比如均方差,KL 散度等,优化参数 来最小化经验损失。所有监 督学习相关的算法都可以用来解决上述两个问题。

10.4. 3.查表法构建模型

10.4.1. 在学习模型时,不是以Episode为最小学习单位的,而是以时间步(time-step)为单位,一次 学习一个状态转换 。

10.5. 4.基于模型的规划

10.5.1. 规划的过程相当于解决一个MDP的过程,求解最优值函数,最优策略 。 实际规划过程中,利用模型来产生一个时间步长的虚拟经历,有了这些虚拟采样,随后使用不基 于模型的强化学习方法来学习得到价值或策略函数。这种虚拟采样的方法通常很有效

10.6. 5.学习与规划整合

10.6.1. 将不基于模型的真实经历和基于模型采样得到的模拟经历结合起来,提出一种新的架构