- 1. 强化学习 by 邹伟
- 2. 一、强化学习是什么?
- 3. 二、马尔科夫决策过程
- 4. 三、动态规划
- 5. 四、蒙特卡洛
- 6. 五、时间差分
- 7. 六、多步时间差分方法
- 8. 七、值函数逼近
- 8.1. 对于状态行为是连续变量的情况,通过引入线性或非线性函数对值函数进行近似,计算该函数的参数,实现在状态行为空间的泛化,用以解决包含连续变量或者复杂意义的场景情况
- 8.2. 1.大规模强化问题的求解
- 8.3. 2.线性法
- 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.
- 8.4.5.
- 8.4.6. DQN算法要点
- 9. 八、策略函数逼近
- 10. 九、集成学习与规划
强化学习 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