1 导论

所有关于学习和智能的理论(all theories of learning and intelligence)的基本思想:在与环境的交互中学习。

强化学习:在交互中学习的计算性方法。强化学习侧重于以交互目标为导向进行学习。

1.1 强化学习

强化学习目标:做什么(即如何把当前的情境映射成动作)才能使得数值化的收益信号最大化。

强化学习的两个重要特征:试错和延迟收益

强化学习即表示一个问题,又是一类解决这种问题的方法,同时还是一个研究此问题及其解决方法的领域。“不完全可知的马尔科夫决策过程”的最优控制是一个特别的例子,可以用来形式化地定义强化学习问题。马尔科夫决策过程的三个方面——感知、动作和决策,与强化学习问题的基本思想相对应。任何适用于解决这类问题的方法就是强化学习方法。

机器学习方法存在三种范式,有监督学习,无监督学习,和强化学习。有监督学习是从外部监督者提供的带标注的训练集中进行学习。标注可以是情景对应的正确动作,也可以是对情景进行分类的标签。有监督学习能让系统具备推断或泛化的能力,能够响应不同的情境并作出正确的动作,即使这个情境并没有在训练集中出现过。但是有监督学习并不适用于从交互中学习这类问题,因为我们不可能获得在所有情景下既正确又有代表性的动作示例。无监督学习是一个典型的寻找未标注数据中隐含结构的过程。强化学习的目的是最大化收益信号。智能体在一个未知领域,凭借自己的经验做出决策。

强化学习有一个独有的挑战——“探索(exploration)”和“利用(exploitation)”之间的权衡。为了最大化收益,智能体倾向于利用已知的最好动作。但是为了发现这些动作,往往需要尝试从未选择过的动作。智能体必须利用已有的经验来获得收益,又要进行探索,使得未来可以获得更好的动作选择空间(action selections)。然而,无论是探索还是利用,都无法在完全没有失败的情况下进行。智能体必须尝试各种各样的动作,并且逐渐筛选出那些最好的动作。在一个随机任务中,为了获得对收益期望的可靠估计(a reliable estimate of the expected reward),需要对每个动作多次尝试。这个“探索-利用”困境问题已经被数学家们深入研究了几十年,但是仍然没有解决。

强化学习的另一个关键特征:它明确地考虑了“目标导向的智能体与不确定的环境进行交互”这整个问题。作为对比,很多方法只考虑了子问题,而忽略了如何融入到更大的情境中。举个例子,很多有监督学习的研究并没有明确说明这些能力最终如何被使用。一些研究员发展了具有一般目标(general goals)的规划理论,但是没有考虑规划在实时决策中的作用,也没有考虑如何获取规划所必须的预测模型(the predictive models)。尽管这些方法已经产生了许多有用的结果,但是他们仅仅关注(focus on)孤立的子问题,这是一个明显的局限。

强化学习采取了相反的方式,从一个完整的、互动的、目标导向的(goal-seeking)智能体出发。所有强化学习的智能体都具有明确的目标,即能感知环境的各个方面,又能选择动作来影响它们的环境。此外,通常规定智能体从一开始就要工作,尽管其面对的环境具有很大的不确定性。如果强化学习涉及到规划,它需要处理规划和实时动作选择之间的相互作用,以及如何获取和改善环境模型的问题。如果强化学习涉及到有监督学习,往往有某些特定因素可以决定对于智能体来说哪些能力是重要的,哪些不是。此时,为了使学习取得进展,一些重要的子问题将被拿出来进行单独研究。但是这些子问题必须在完整的、互动的、目标驱动的智能体问题框架中有明确而清晰的角色定义,即使还不知道完整智能体的全部细节。

强化学习框架具有普遍性。这里提到的完整的、交互的、目标导向的智能体并不一定是完整的有机体或机器人,这些只是简单的例子。智能体也可以是一个大型的动作系统的组成部分。在这种情况下,智能体直接与系统的其他部分进行交互,并间接地与系统的环境交互。一个简单的例子,智能体监控机器人电池的电量,并且将指令发送给机器人的控制模块。这个智能体所处的环境就是这个机器人除去电池电量以外的其他部分,以及这个机器人所处的自然环境。

现代强化学习与其他工程和科学学科有着实质性的、富有成果的互动。强化学习展示了AI和ML在几十年中与统计学(statistics,)、优化理论(optimization)和其他数学学科(mathematical subjects)之间更好地融合的趋势。例如,强化学习利用参数化近似法解决了运筹学(operations research)和控制论(control theory)中经典的“维度灾难(curse of dimensionality)”问题。强化学习与心理学和神经科学也有很强的互动作用,并对这两个学科做出了重大贡献。强化学习的许多核心算法最初受到了生物学习系统(biological learning systems)的启发。

回归简单普适原则(simple general principles)是人工智能的一大趋势。强化学习研究是人工智能向更简单的普适原则回流的一部分。

1.2 示例

通过一些案例和应用来理解强化学习:

  • 国际象棋大师走一步棋。
  • 自适应石油控制器实时调整石油提炼过程参数。
  • 一只羚羊幼崽从站起来到学会奔跑。
  • 一个移动机器人决定是去收集更多垃圾还是返回充电站充电。
  • 准备早餐。这个活动由复杂的行为网络和环环相扣的目标-次目标(goal–subgoal)组成。每一步都是在目标的指导下进行的,并为其他目标服务。

这些例子十分常见,它们都涉及到一个活跃的决策智能体和环境之间的交互作用,在不确定的环境中,智能体想要实现一个目标。智能体的动作会影响未来环境的状态,进而影响未来的决策和机会。因此正确的选择需要考虑到动作的间接的、延迟的影响,需要有远见和规划。

同时,动作的影响并不能被完全预测,因此智能体必须频繁地监视其环境并作出适当反应。所有这些例子都涉及到明确的目标,智能体可以根据这个目标来判断进展。例如任务是否结束。

在所有这些例子中,智能体可以利用其经验来改进性能。智能体在开始时具备的任务知识,影响着什么是有用的或易于学习的。但是与环境的交互,对于调整动作以利用任务的具体特征是至关重要的。

1.3 强化学习要素

除了智能体和环境之外,强化学习系统的四个核心要素:策略(a policy)、收益信号(a reward signal)、价值函数(a value function)以及对环境建立的模型(a model of the environment)(可选)。

A policy defines the learning agent’s way of behaving at a given time. 它是环境状态到动作的映射。在一些情况下,策略是一个简单的函数或查询表(lookup table),而在另一些情况下,策略涉及大量的计算,例如搜索过程。策略是强化学习智能体的核心,因为它可以决定智能体的行为。一般来说,策略可能是环境所在状态(自变量)和智能体所采取的动作(因变量)的随机函数。

A reward signal defines the goal in a reinforcement learning problem. On each time step, the environment sends to the reinforcement learning agent a single number, a reward. The agent’s sole objective is to maximize the total reward it receives over the long run. Rewards are the immediate and defining features of the problem faced by the agent. The reward sent to the agent at any time depends on the agent’s current action and the current state of the agent’s environment. 动作会对奖励产生直接影响,或通过环境产生间接影响。The reward signal is the primary basis for altering the policy. 如果动作导致了低奖励,策略可能被改变,在未来此情境下选择其他的动作。一般来说,奖励信号可能是环境状态和在此基础上所采取的行动的随机函数(stochastic functions)。

收益信号表明了在短时间内什么是好的,而价值函数则表示了从长远的角度看什么是好的。简单地说,一个状态的价值是一个智能体从这个状态开始,对将来积累的总收益的期望。尽管收益决定了环境状态直接、即时、内在的吸引力,但价值表示了接下来所有可能状态的长期期望。例如,某状态的即时收益可能很低,但它仍然可能具有很高的价值,因为之后定期会出现高收益的状态,反之亦然。

价值用来预测收益。没有收益就没有价值,而评估价值的唯一目的就是获得更多的收益。然而,在制定和评估策略时,我们最关心的是价值。动作选择是基于对价值的判断做出的。我们寻求能带来最高价值而不是最高收益的状态的动作,因为这些动作从长远来看会为我们带来最大的累积收益。不幸的是,确定价值要比确定收益难得多。价值必须综合评估,并根据智能体在整个过程中观察到的收益序列重新估计。价值评估方法是几乎所有强化学习算法中最重要的组成部分。

对环境建立的模型,是一种对环境的反应模式的模拟,或者更一般地说,它允许对外部环境地行为进行推断(inferences)。例如,给定一个状态和动作,模型就可以预测外部环境的下一个状态和下一个收益。环境模型会被用于做规划。规划,就是在真正经历之前,先考虑未来可能发生的各种情境从而预先决定采取何种动作。使用环境模型和规划来解决强化学习问题的方法被称为有模型(model-based)的方法。而简单的无模型(model-free)的方法则是直接地试错,这与有目标地进行规划恰好相反。现代强化学习从试错延展到了规划。

1.4 局限性与适用范围

在强化学习中,“状态”这个概念十分重要。它既作为策略和价值函数的输入,又同时作为模型的输入输出。一般,我们把状态看作传递给智能体的一种信号,这种信号告诉智能体“当前环境如何”。在给出正式定义之前,可以把状态理解为当前智能体可知的环境信息。我们认为状态产生自一些预处理系统,这些系统从逻辑上说是智能体周边环境的一部分。本书不关注状态的表征,而专注于策略问题。即本书不关注状态信号的设计,而关注根据给定状态信号来决定采取什么动作。

本书中的大多数强化学习方法建立在对价值函数的估计上,但这并不是解决强化学习问题的必由之路。举个例子,一些优化方法(许多进化算法、模拟退火算法等),也可以用来解决强化学习问题。These methods evaluate the “life-time” behavior of many non-learning agents, each using a different policy for interacting with its environment, and select those that are able to obtain the most reward. 我们称这些方法为进化方法,因为这类方法与生物进化十分类似,即使这类方法在个体的单个生命周期内没有学习。如果策略空间足够小,或者可以很好地结构化以找到好的策略,或者有大量的时间可用于搜索,那么进化方法就会有效。此外,进化方法在智能体不能准确感知其环境状态的问题上也有优势。

进化方法并没有在与环境的互动中学习。在很多情况下,考虑了个体个体交互动作的细节的学习方法(methods able to take advantage of the details of individual behavioral interactions),比进化方法更有效。 Evolutionary methods ignore much of the useful structure of the reinforcement learning problem: they do not use the fact that the policy they are searching for is a function from states to actions; they do not notice which states an individual passes through during its lifetime, or which actions it selects. Although evolution and learning share many features and naturally work together, we do not consider evolutionary methods by themselves to be especially well suited to reinforcement learning problems.

策略梯度方法(policy gradient methods),与进化方法类似,它并不依赖于价值函数。These methods search in spaces of policies defined by a collection of numerical parameters. They estimate the directions the parameters should be adjusted in order to most rapidly improve a policy’s performance. Unlike evolutionary methods, however, they produce these estimates while the agent is interacting with its environment and so can take advantage of the details of individual behavioral interactions.

强化学习与优化方法:Trying to maximize a quantity does not mean that that quantity is ever maximized. Optimization is not the same a optimality.

1.5 An Extended Example: Tic-Tac-Toe (井字棋)

因为一个完美的玩家可以永远不输,所以我们假设挑战一个不完美的玩家,即他有可能会出错使得我们有机会获胜。在这种情况下,我们假设平局和输掉比赛是一样坏的结果,我们是否能够构造一个可以看出对手破绽,在学习中提升自己胜率的玩家?

经典方法无法轻松地解决这个问题。例如,经典的博弈论中经典的“极大极小”算法,以及序列决策问题的经典优化方法动态规划。我们假设无法提前得知对手的完整信息,包括对手在每种状态下下每一步棋的概率。可以先学习一个对手走棋动作的模型,然后以一定的置信度,用动态规划的方法针对近似的对手模型计算一个最优的解。这类似于强化学习方法。

进化方法会直接在策略空间中,搜索一个可以高概率赢对手的策略。

使用价值函数来解决井字棋的方法:首先建立一个表格,每一格表示一个游戏可能的状态,并且写出每个状态的价值,即当前状态获胜概率的最新估计。整个表格是通过学习得到的价值函数。假设我们下的是X,则出现三个连续的X的状态下获胜的概率是1,出现三个连续的O的状态或这棋盘被下满时获胜概率是0。所有其他状态的初始价值为0.5,表示我们猜测会有50%的获胜机会。

完成初始的表格后,和对手重复玩多次游戏。采用“回溯更新”的方法更新价值函数。