姓名:黄睿
学号:22011110004
学院:通信工程学院
节选自:https://blog.csdn.net/coffee_cream/article/details/82724489
【嵌牛导读】本文初步介绍强化学习搜索策略
【嵌牛鼻子】强化学习搜索策略
【嵌牛提问】如何进行状态-动作对的搜索?
【嵌牛正文】
本节创建了一种统一的方法视图,其中既包括需要一个环境模型)的方法(如动态编程、启发式搜索等,也包括一些不依赖于模型的方法(如蒙特卡洛、temporal-difference等),这里将前者视为是一种planning 方法,后者视为是一种learning 方法,这两类方法之间有一些不同点,也有一些相似点,例如,它们的思想的核心都是计算 value functions,并且都是基于对未来事件的展望计算得到一个 back-up value,再利用这个值来更新得到一个近似的 value 函数。前面的章节中介绍了蒙特卡洛方法和 temporal-difference 方法,以及如何用 n-step 方法来统一这两种方法。这一章节也是一种类似的结合方式,它是将 planning 与 learning 方法相结合。在前面的章节中已经介绍了他们的不同点,下面将探讨如何将他们结合在一起。
1、 Models 和 Planning
一个环境的model 的是指:可以用来预测环境对 actions 的反应的东西,给定一个 state 和一个 action,model可以生成相应的下一个 state 和下一个 reward。如果 model 随机的,那么就有很多种可能的下一个 states 和 rewards,每一种都对应一种发生的概率。有些模型得到的是对所有可能性和概率的描述,这类方法称为是distribution model,还有一些模型得到的仅仅是某些可能性,是依据概率进行采样得到的,这类方法称为是 sample models。例如对股子的和进行预测的模型,一个 distribution model 会得到所有可能的和以及它们发生的概率,而一个 sample model 依据概率分布得到的是一个单独的sum。Distribution model 比 sample model 的能力更强,因为它们总可以用来生成 samples,但在一些应用中,获得 sample model 比 distribution model 要更容易一些,就比如股子的例子,可以利用一个计算机程序来仿真并返回一个sum,而计算得到所有可能的 sums 和对应的概率要更难、更容易出错。
模型可以用来模拟和仿真experience。给定一个开始的状态和动作,一个采样模型可以生成一个可能的转化,一个分布模型可以生成所有可能的转化(发生的概率作为其权重值)。给定一个初始状态和一个 policy,一个采样模型只可以生成一个 episode,而一个分布模型可以生成所有可能的 episodes 和对应的概率值。无论在哪种情况下,我们都可以说该模型对环境进行了仿真并生成了 simulated experience。在不同的领域,planning 可以表达不同的意思,这里它代表的是任何一种以 model作为输入,并能生成或提高一种与该环境结合的 policy 的计算过程:
在人工智能领域,有两种不同的planning 方法,一种是state−space planning,planning 从根本上来讲是根据目标在状态空间中搜索一种更优的 policy 或 path,其中 actions 导致 state 的转变,value function 依据 states 进行计算。另外一种是 plan−space planning,planning 是在整个 plans 空间中搜寻,操作者从一种 plan 转化为另一种 plan,并且 value function 是定义在整个 plans 空间中的,plan-space planning 包括 evolutionary 方法和 “partial-order planning”(人工智能领域一种常见的 planning,其中在 planning 的所有阶段 steps 的顺序不是完全决定的),在随机优化控制问题中 plan-space 方法很难有效的应用,因此这里不再详述。
所有的state-space planning 方法都具有一个统一的结构,主要有两个基本思想:(1)所有的 state-space planning 方法都有一个计算 value functions 的过程,并作为提升 policy 的主要媒介;(2)它们都是利用仿真的 experience 中的 backup 操作来计算它们的 value function。
Learning 和 planning 的主要思想都是利用 backup 操作来估计 value functions,不同点在于 planning 使用的是模型生成的仿真的experience,而 learning 方法使用的是由环境生成的真实的 experience,由这个不同点就衍生出其他一系列的不同点,如估计 performance 的方法、生成 experience 的方法等等。这个统一的结构意味着很多思想和方法在 planning 和 learning 之间可以传递,特别地,在很多情况下,一个 learning 算法可以由一个 planning 方法的 backup 步骤替换。learning 仅需要 experience 作为输入,并且其他情况下它们可以应用于仿真的 experience 中,就像应用于真实的 experience 中一样。下面的 box 展示了 planning 方法的一个简单的例子,它基于 one-step tabular Q-learning 和采样模型的随机样本,该方法称为是 random-sample one-step tabular Q-planning。
2、Dyna:集成Planning、Acting和Learning
当在线的planning 完成后,在与环境进行交互的过程中会产生大量的问题,从交互中获得的新的信息可能会改变模型并因此与 planning 交互,因此需要根据当前或将来的状态或决策,以某种方式定制 planning 过程。如果决策的制定和学习模型都是计算密集型的过程,那么可用的计算资源就需要在它们之间进行规划和分配。为了开始探索这些问题,这一节将介绍 Dyna-Q 方法,这是一种简单的框架,它集成了在线 planning 需要的主要函数。下面将主要介绍的是该方法的思想。
在planning agent中,真实的 experience 至少有两个角色,它们可以用来提升模型(更确切的说是贴近真实环境状态),并且可以利用一些强化模型方法来直接提升 value function 和 policy。前者我们称为是 model-learning,后者我们称为是 direct reinforcement learning (direct RL)。Experience、model、values 和 policy 直接可能的关系如下图所示,其中每一条箭头代表了一种影响和推测的提升之间的关系,可以注意到,experience 不是直接地就是间接地通过 model 来提升 value 和 policy functions,有时会将后者称为是 indirect reinforcement learning。
不论是direct 还是 indirect 方法,它们均有各自的优缺点,indirect 方法常常可以充分利用有限的 experience,在与环境很少的交互下就能得到一个更好的 policy;而 direct 方法相比之下更简单,并且不会受模型设计偏斜的影响。有些人认为 indirect 方法总是比 direct 方法更好,而其他人则认为 direct 方法对大部分的人类和动物学习有帮助,心理学和人工智能领域有关的辩论关注的是认知的相对重要性而不是试错学习,以及商议计划而不是反应性决策的制定。这里的观点是,在所有这些辩论中,不同的选择之间的对比被夸大了,通过观测这两种观点之间的相似之处而不是直接反对它们,可以获得更多的洞察力。例如,对动态规划和 temporal-difference 方法,尽管其中一个是为计划而设计的,另一个是用于无模型学习,但这里还是强调了他们之间的相似性。