Ch1.1 强化学习

强化学习,就是学习“做什么”,也就是如何在特定环境下选择行为,从而最大化奖励信号。强化学习需要通过尝试来发现哪些动作会产生最高的受益,而每一个动作影响的往往不止是即时受益,也会影响接下来的情景进而影响之后的奖励,而对应的试错和延迟奖励则是强化学习最显著的两个特征。

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

监督学习是从有监督的带标注的训练集中进行学习,标注就相当于是在当前环境下,系统应该做出的正确的动作,监督学习的目的是让系统具备推断和泛化能力,能够在未知环境中,也能正确响应并做出正确的动作。
而强化学习更适用于交互类问题,因为在未知领域中,不可能获得在所有情况下既正确又有代表性的示例,若想最大化奖励,就需要从自身的经验中学习。

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

两者都不依赖于对应样本的正确标注。
无监督学习的目的是寻找未标注数据中的隐含结构。
而强化学习的目的是最大化收益。
找出隐含结构固然是有益的,但并不能解决最大化收益的问题。

强化学习同时带来了新的挑战:“探索”和“开发”之间的平衡,既要充分利用已有经验来获取收益,同时也要不断探索来获得更好的动作选择空间。

Ch1.2 示例

  1. 国际象棋。
  2. 自适应石油控制器实时调整参数。
  3. 羚羊幼崽学习奔跑。
  4. 移动机器人决定继续收集垃圾或者返程。
  5. 准备早餐时同时考虑营养需求、饥饿程度、食物偏好、制作流程等。

以上问题都涉及一个决策agent和环境之间的交互,在这个不确定的环境中,agent都想要实现一个目的,并且它的动作会影响未来的环境状态,且这个动作影响是无法被完全预测的,因此agent需要频繁监控环境,并且考虑到延迟的动作影响,有远见地进行规划和学习。

Ch1.3 强化学习要素

除了agent和环境之外,强化学习的四大核心要素:策略Policy、收益信号Reward、价值函数Value Function、环境模型Model(可选)。

策略Policy

策略定义了agent在特定时间的行为方式,是从环境状态到动作的映射,用于决定行为,是强化学习agent的核心。

收益信号Reward

收益信号定义了强化学习的目标,agent的唯一目标就是最大化长期收益,收益是改变策略的主要基础。

价值函数Value Function

收益信号表明了在短时间内什么是好的,而价值函数则表示了从长远角度看什么是好的。一个状态的价值是agent从这个状态开始,对将来累积的总收益的期望,某状态可能即时收益很低,但是仍具有较高的未来价值。
评估价值的唯一目的就是为了获得更多的收益,动作选择都是基于价值判断的,但是确定价值比确定收益要难得多,收益基本上是环境直接给予的,而价值必须综合评估,并且要不断重新评估。

环境模型Model

环境模型是对环境的模拟,允许对外部环境的行为进行推断,例如,给定一个状态和动作,模型就可以预测外部环境的下一个状态和下一个收益,而学习主要可以分为有模型方法和无模型方法。

Ch1.4 局限性与适用范围

本节主要介绍了进化方法、强化学习、策略梯度方法。(都是初步介绍就不赘述了)
强化学习十分依赖“状态”这个概念,既作为策略和价值函数的输入,又同时作为模型的输入与输出,是当前agent可知的环境信息。且本书中大多数强化学习方法建立在对价值函数的估计上。
强化学习试图最大化收益,并不断尝试,但是这仅是一个优化,不一定达到最优的最大化,优化的不可预测性可能带来不必要的后果。

Ch1. 5 扩展示例:井字棋

在井字棋游戏中,经典博弈论中的“极大极小”算法是不正确的,因为它假设了对手会按照某种特定的方式来玩游戏,当遇到技术不佳的对手时,某些被舍去的状态还是可以获胜的。
序列决策问题中的动态规划,可以对任意的某个对手计算出一个最优解,但是需要输入对手的完整且明确的说明,包括在每一种状态下的走棋概率,但是这与大部分实践问题中的先验信息不可知的情况是不符的。
而使用价值函数来解决,可以建立一个数字表,每一格表示游戏可能的状态,每一个数字表示对获胜概率的最新估计,这个估计就是该状态的价值。状态的估计更高,则价值更高,则该状态更好。
在不断重复游戏时,要检查每种走棋动作可能产生的状态,并在表格中检查他们的价值,大多数时候贪心选择价值最高的动作,偶尔进行探索性行动从其他选择中随机选择。
在这里插入图片描述
在该图中,虚线表示考虑但是没有采取的动作,在b步和f步都选择了最优动作,而在d步采取了试探性动作,从剩下的动作中随机选取了一个。
在博弈过程中,会不断更新状态的价值,试图更加准确地估计这些价值,使其更真实地反应最终获胜的可能性,将在贪心动作之后得到的状态回溯到之前的一个状态上,来对之前的状态的价值进行调整,使其更接近后面的状态所对应的价值。
在这里插入图片描述
St表示贪心动作之前的状态,St+1为贪心动作之后的状态,St的价值用V(St)表示,a则是学习率,这个更新规则是时间差分的。
如果学习率随着时间的推移适当减少,那么该方法会收敛于最优策略下每个状态的真正获胜概率。基于值函数的方法允许对于单个状态进行评估,并利用博弈过程中的可用信息。
这个例子虽然很简单,但是强化学习也适用于没有外部对手、动作空间无限连续、不同幅度的收益可以实时获取、状态集无限大、结合部分先验知识、agent无法感知所有状态、层次化学习等多种情况。

Ch1. 6 本章小结

强化学习是一种对目标导向的学习与决策问题进行理解和自动化处理的计算方法。它强调agent通过与环境的直接互动来学习,而不需要可效仿的监督信号或对周围环境的完整建模。
强化学习使用马尔科夫决策过程的形式化框架,使用状态、动作和奖励信号来定义学习agent与环境的互动过程。
相比于进化方法对完整策略的反复评估引导对策略空间进行直接搜索,使用值函数,是强化学习与进化方法的不同之处。

写在后面的话

是hin菜鸡hin菜鸡的小崔对于目前在学习的强化学习做的一点点整理和总结,(主要是逼自己好好学习),如果有幸有人在看我写的拙劣文章,有问题或者文章有错的地方(我觉得错可能很多吼),可以直接留言联系我,与君共勉。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐