RL学习笔记1

  • 第一章

    • 绪论

      • 强化学习概述

        • 强化学习解决的问题

          • 智能体(agent)怎么在复杂、不确定的环 境(environment)里面去最大化它能获得的奖励

        • 强化学习与监督学习的区别

          • 数据上的区别

            • 监督学习

              • 样本数据均被标注

              • 样本数据服从独立同分布

            • 强化学习

              • 数据是时间相关的序列数据

          • 主要区别

            • (1)强化学习输入的样本是序列数据,而不像监督学习里面样本都是独立的。

            • (2)学习器并没有告诉我们每一步正确的动作应该是什么,学习器需要自己去发现哪些动作可以带来 最多的奖励,只能通过不停地尝试来发现最有利的动作。

            • (3)智能体获得自己能力的过程,其实是不断地试错探索(trial-and-error exploration)的过程。

            • (4)在强化学习过程中,没有非常强的监督者(supervisor),只有奖励信号(reward signal),并且奖励信号是延迟的,即环境会在很久以后告诉我们之前我们采取的动作到底是不是有效的。

        • 强化学习的特征

          • (1)强化学习会试错探索,它通过探索环境来获取对环境的理解。

          • (2)强化学习智能体会从环境里面获得延迟的奖励。

          • (3)在强化学习的训练过程中,时间非常重要。因为我们得到的是有时间关联的数据(sequential data), 而不是独立同分布的数据。

          • (4)智能体的动作会影响它随后得到的数据

        • 标准强化学习

          • 比如 TD-Gammon 玩 Backgammon 游戏的过程,其实就是设计特征,然后训练价 值函数的过程。标准强化学习先设计很多特征,这些特征可以描述现在整个状态。 得到这些特征后,我们就可以通过训练一个分类网络或者分别训练一个价值估计函数来采取动作。

        • 深度强化学习

          • 自从我们有了深度学习,有了神经网络,就可以把智能体玩游戏的过程改进成一个 端到端训练(end-to-end training)的过程。我们不需要设计特征,直接输入状 态就可以输出动作。我们可以用一个神经网络来拟合价值函数或策略网络,省去特征工程(feature engineering)的过程

        • 强化学习的应用

          • (1)DeepMind 研发的走路的智能体。这

          • (2)机械臂抓取。

          • (3)OpenAI 的机械臂翻魔方。

          • (4)穿衣服的智能体。

      • 序列决策

        • 奖励

          • 奖励是由环境给的一种标量的反馈信号(scalar feedback signal),这种信号可显示智能体在某一步采 取某个策略的表现如何。强化学习的目的就是最大化智能体可以获得的奖励,智能体在环境里面存在的目 的就是最大化它的期望的累积奖励(expected cumulative reward)。不同的环境中,奖励也是不同的。

        • 重要课题

          • 重要的课题就是近期奖励和远期奖励的权衡 (trade-off),研究怎么让智能体取得更多的远期奖励

        • 历史函数

          • 智能体在采取当前动作的时候会依赖于它之前得到的历史,所以我们可以把整个游戏的状态看成关于这个历史的函数st = f (Ht)

        • 状态和观测的关系

          • 状态是对世界的完整描述,不会隐藏世界的信息。观测是对状态的部分描述,可能会遗漏一些信 息。

          • 完全可观测

            • 即当智能体能够观察到环境的所有状态时,我们称这个环 境是完全可观测的(fully observed)。强化学习通常被建模成一个马尔可夫决策过程 (Markov decision process,MDP)的问题

          • 部分可观测

            • 当智能体只能看到部分的观测,我们就称这个环境是部分可观测的(partially observed)。强化学习通常被建模成部分可观测马尔可夫决策过程(partially observable Markov decision process, POMDP)的问题

      • 动作空间

        • 不同的环境允许不同种类的动作。在给定的环境中,有效动作的集合经常被称为动作空间(actionspace)

        • 离散动作空间(discrete action space),在这个动作空间里,智能体的动作数量是有限的

        • 在其他环境,比如在物理世界中控制一个智能体,在这个环境中就有连续动作空间(continuous action space)。在连续动作空间中,动作是实值的向量。

      • 强化学习智能体的组成成分和类型

        • 策略(policy)

          • 智能体会用策略来选取下一步的动作。

          • 随机性策略(stochastic policy)

            • 就是 π 函数,即 π(a|s) = p (at = a|st = s)。输入一个状态 s,输 出一个概率。这个概率是智能体所有动作的概率,然后对这个概率分布进行采样,可得到智能体将采取的 动作。比如可能是有 0.7 的概率往左,0.3 的概率往右,那么通过采样就可以得到智能体将采取的动作。

          • 确定性策略(deterministic policy)

            • 是智能体直接采取最有可能的动作,即 a ∗ = a arg max π(a | s)。

          • 常用策略

            • 通常情况下,强化学习一般使用随机性策略,随机性策略有很多优点。比如,在学习时可以通过引入 一定的随机性来更好地探索环境;随机性策略的动作具有多样性,这一点在多个智能体博弈时非常重要。 采用确定性策略的智能体总是对同样的状态采取相同的动作,这会导致它的策略很容易被对手预测。

        • 价值函数(value function)

          • 价值函数的值是对未来奖励的预测,我们用它来评估状态的好坏

          • 价值函数用于评估智能体进入某个状态后,可以对后面的奖励带来多大的影响。价值函数值越大,说明智能体进入这个状态越有利。

          • V函数

            • 把折扣因子放到价值函数的定义里面,π 函数的值反映在我们使用策略 π 的时候,到底可以得到多少奖励

          • Q函数

            • 未来可以获得奖励的期望取决于当前的状态和当前的动作

        • 模型(model)

          • 模型表示智能体对环境的状态进行理解,它决定了环境中世界的运行方式。

          • 模型决定了下一步的状态。下一步的状态取决于当前的状态以及当前采取的动作。它由状态转移概率和奖励函数两个部分组成

          • 奖励函数是指我们在当前状态采取了某个动作,可以得到多大的奖励

        • 马尔可夫决策过程

          • 当我们有了策略、价值函数和模型 3 个组成部分后,就形成了一个马尔可夫决策过程(Markov decision process)。这个决策过程可视化了状态之间的转移以及采取的动作

      • 强化学习智能体的类型

        • 基于价值的智能体与基于策略的智能体

          • 基于价值的智能体

            • 显式地学习价值函数,隐式地学习它的策略,策略是其从学到的价值函数里面推算出来的

          • 基于策略的智能体

            • 直接学习策略,我们给它一个状态,它就会输出对应动作的概率。基于策略 的智能体并没有学习价值函数

          • 演员-评论员智 能体

            • 把基于价值的智能体和基于策略的智能体结合起来就有了演员-评论员智 能体(actor-critic agent)。这一类智能体把策略和价值函数都学习了,然后通过两者的交互得到最佳的 动作

        • 有模型强化学习智能体与免模型强化学习智能体

          • 有模型(model-based) 强化学习智能体通过学习状态的转移来采取动作

          • 免模型(model-free)强化学习智能体没有去直接估计 状态的转移,也没有得到环境的具体转移变量,它通过学习价值函数和策略函数进行决策。免模型强化学 习智能体的模型里面没有环境转移的模型。

      • 学习与规划

        • 学习

          • 在强化学习中,环 境初始时是未知的,智能体不知道环境如何工作,它通过不断地与环境交互,逐渐改进策略。

        • 规划

          • 在规划中,环境是已知的,智能体被告知了整个环境的运作规则的详细信息。智能体 能够计算出一个完美的模型,并且在不需要与环境进行任何交互的时候进行计算。智能体不需要实时地与 环境交互就能知道未来环境,只需要知道当前的状态,就能够开始思考,来寻找最优解。

      • 探索和利用

        • 探索

          • 探索即我们去探索环境,通过尝试不同的动作来 得到最佳的策略(带来最大奖励的策略)。利用即我们不去尝试新的动作,而是采取已知的可以带来很大 奖励的动作。

        • 利用

          • 利用是指我们直接采 取已知的可以带来很好奖励的动作。

        • 权衡问题

          • 怎么通过牺牲一些短期的奖励来理 解动作,从而学习到更好的策略

    • 马尔科夫过程

      • 马尔科夫过程

        • 马尔科夫性质

          • 在随机过程中,马尔可夫性质(Markov property)是指一个随机过程在给定现在状态及所有过 去状态情况下,其未来状态的条件概率分布仅依赖于当前状态

          • 如果某一个过 程满足马尔可夫性质,那么未来的转移与过去的是独立的,它只取决于现在。

        • 马尔可夫链

          • 离散时间的马尔可夫过程也称为马尔可夫链(Markov chain)。马尔可夫链是最简单的马尔可夫过 程,其状态是有限的

          • 状态转移矩阵类似于条件概率(conditional probability),它表示当我们知道当前我们在状态 st 时,到达 下面所有状态的概率。所以它的每一行描述的是从一个节点到达所有其他节点的概率。

      • 马尔可夫奖励过程

        • 马尔可夫奖励过程(Markov reward process, MRP)是马尔可夫链加上奖励函数。

        • 范围(horizon)是指一个回合的长度(每个回合最大的时间步数), 它是由有限个步数决定的

        • 回报(return)可以定义为奖励的逐步叠加

      • 马尔可夫决策过程

        • 相对于马尔可夫奖励过程,马尔可夫决策过程多了决策(决策是指动作),其他的定义与马尔可夫奖 励过程的是类似的。此外,状态转移也多了一个条件,变成了 p (st+1 = s ′ | st = s, at = a)。未来的状态不 仅依赖于当前的状态,也依赖于在当前状态智能体采取的动作

        • 对于奖励函数,它也多了一个当前的动作,变成了 R (st = s, at = a) = E [rt | st = s, at = a]。当前的 状态以及采取的动作会决定智能体在当前可能得到的奖励多少。

      • 贝尔曼期望方程

        • 我们可以把状态价值函数和 Q 函数拆解成两个部分:即时奖励和后续状态的折扣价值(discounted value of successor state)。通过对状态价值函数进行分解,我们就可以得到一个类似于之前马尔可夫奖励 过程的贝尔曼方程——贝尔曼期望方程(Bellman expectation equation)

      • 备份图

        • 备份类似于自举之间的迭代关系,对于某一个状态,它的 当前价值是与它的未来价值线性相关的。我们将与图 2.10 类似的图称为备份图(backup diagram)或 回溯图,因为它们所示的关系构成了更新或备份操作的基础,而这些操作是强化学习方法的核心。这些操 作将价值信息从一个状态(或状态-动作对)的后继状态(或状态-动作对)转移回它。每一个空心圆圈代 表一个状态,每一个实心圆圈代表一个状态-动作对

      • 策略评估

        • 已知马尔可夫决策过程以及要采取的策略 π ,计算价值函数 Vπ(s) 的过程就是策略评估。策略评估在 有些地方也被称为(价值)预测 [(value)prediction)],也就是预测我们当前采取的策略最终会产生多 少价值

      • 预测与控制

        • 预测

          • 预测(评估一个给定的策略)的输入是马尔可夫决策过程 < S, A, P, R, γ > 和策略 π,输出是价值函 数 Vπ。预测是指给定一个马尔可夫决策过程以及一个策略 π ,计算它的价值函数,也就是计算每个状态 的价值。

        • 控制

          • 控制(搜索最佳策略)的输入是马尔可夫决策过程 < S, A, P, R, γ >,输出是最佳价值函数(optimal value function)V ∗ 和最佳策略(optimal policy)π ∗。控制就是我们去寻找一个最佳的策略,然后同时输 出它的最佳价值函数以及最佳策略。

    • 动态规划

      • 动态规划

        • 动态规划(dynamic programming,DP)适合解决满足最优子结构(optimal substructure)和 重叠子问题(overlapping subproblem)两个性质的问题

        • 最优子结构

          • 最优子结构意味着,问题可以拆分成一个个 的小问题,通过解决这些小问题,我们能够组合小问题的答案,得到原问题的答案,即最优的解

        • 重叠子问题

          • 重叠子 问题意味着,子问题出现多次,并且子问题的解决方案能够被重复使用,我们可以保存子问题的首次计算 结果,在再次需要时直接使用。

      • 马尔可夫决策过程中的策略评估

        • 策略评估就是给定马尔可夫决策过程和策略,评估我们可以获得多少价值,即对于当前策略,我们可 以得到多大的价值。我们可以直接把贝尔曼期望备份(Bellman expectation backup),变成迭代的过 程,反复迭代直到收敛。这个迭代过程可以看作同步备份(synchronous backup)的过程

        • 同步备份是指每一次的迭代都会完全更新所有的状态,这对于程序资源的需求特别大。异步备份 (asynchronous backup)的思想就是通过某种方式,使得每一次迭代不需要更新所有的状态,因为 事实上,很多状态也不需要被更新

      • 马尔可夫决策过程控制

        • 最佳价值函数

          • 最佳价值函数是指,我们搜索一种策略 π 让每个状态的价值最大。V ∗ 就是到达每一个状态,它的值的最 大化情况。在这种最大化情况中,我们得到的策略就是最佳策略

      • 策略迭代

        • 策略迭代由两个步骤组成:策略评估和策略改进(policy improvement)。

        • 第一个步 骤是策略评估,当前我们在优化策略 π,在优化过程中得到一个最新的策略。我们先保证这个策略不变, 然后估计它的价值,即给定当前的策略函数来估计状态价值函数

        • 第二个步骤是策略改进,得到状态价值 函数后,我们可以进一步推算出它的 Q 函数。得到 Q 函数后,我们直接对 Q 函数进行最大化,通过在 Q 函数做一个贪心的搜索来进一步改进策略

      • 价值迭代

        • 最优性原理

          • 一个策略 π(a|s) 在状态 s 达到了最优价值, 也就是 Vπ(s) = V ∗ (s) 成立,当且仅当对于任何能够从 s 到达的 s ′,都已经达到了最优价值。也就是对于 所有的 s ′,Vπ(s ′ ) = V ∗ (s ′ ) 恒成立

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值