强化学习

1. 什么是强化学习?

广义而言,强化学习是一种机器通过与环境交互以实现目标的计算方法。一次机器与环境的交互包括:在环境的某一状态下,机器做出一个动作决策,将该动作应用于环境,环境随后发生相应的变化,并反馈奖励信号及下一状态给机器。这种交互是迭代进行的,机器的目标是最大化多轮交互过程中累积奖励的期望。强化学习中,决策的机器被称为智能体(agent)。与有监督学习中的“模型”不同,强化学习中的“智能体”不仅能感知环境信息,还能通过决策直接影响环境,而不仅仅是提供预测信号。

智能体与环境的具体交互方式如下图所示。在每一轮交互中,智能体感知当前环境状态,经过计算后给出本轮动作,并将其作用于环境;环境接收动作后,产生即时奖励并转移到下一个状态。智能体在下一轮交互中感知新的环境状态,依此类推。

智能体有三个关键要素:感知、决策和奖励。

感知:智能体在一定程度上感知环境状态,从而了解自身处境。例如,围棋智能体感知当前棋盘布局;无人车感知周围的车辆、行人和红绿灯等;机器狗通过摄像头感知前方图像,利用脚底力学传感器感知地面摩擦力和倾斜度等。

决策:智能体根据当前状态计算出实现目标所需采取的动作。例如,围棋智能体决定下一步落子位置;无人车根据路况调整方向盘角度和刹车、油门力度;机器狗根据视觉和力觉信号调整四条腿的齿轮角速度。策略是智能体决策的具体体现,也是不同智能体之间的核心区别。

奖励:环境根据当前状态和智能体的动作生成一个标量奖励信号,衡量动作的优劣。例如,围棋博弈是否获胜;无人车是否安全、平稳且快速行驶;机器狗是否前进且未摔倒。智能体的目标是最大化累积奖励的期望,这也是衡量策略优劣的关键指标。

从以上分析可见,面向决策任务的强化学习与面向预测任务的有监督学习在形式上有诸多不同。首先,决策任务通常涉及多轮交互,即序贯决策;而预测任务则是单轮独立的。如果决策是单轮的,便可转化为“判别最优动作”的预测任务。其次,由于决策任务是多轮的,智能体在每轮决策时需考虑未来环境的变化,因此当前轮带来最大奖励的动作在长期看未必是最优的。

2. 强化学习的环境

强化学习中的智能体通过与动态环境的交互完成序贯决策。所谓动态环境,指的是环境会随着某些因素的变化而不断演变,通常用随机过程来刻画。在现实生活中,几乎所有系统都在不断演变,例如城市交通、湖泊生态、足球比赛、星系等。一个随机过程的关键要素是状态及其转移的条件概率分布。类似于微粒在水中的布朗运动,可以用起始位置及下一时刻位置相对于当前状态的条件概率分布来描述。

当在环境这一随机过程中加入智能体的动作这一外部干扰因素后,环境的下一状态概率分布由当前状态和智能体的动作共同决定,用数学公式表示为:

下一状态P(当前状态,智能体动作)\text{下一状态} \sim P(\cdot \mid \text{当前状态}, \text{智能体动作})

由此可见,智能体的决策动作影响环境状态的变化,智能体在新的状态下继续做出决策。由此可知,与面向决策任务的智能体交互的环境是一个动态的随机过程,其未来状态的分布由当前状态和智能体的动作共同决定。每轮状态转移伴随着两方面的随机性:一是智能体动作的随机性,二是环境基于当前状态和动作的状态转移随机性。通过对环境动态随机过程的刻画,可以清楚地感受到动态随机过程中的学习与在固定数据分布下的学习有很大不同。

3. 强化学习的目标

在上述动态环境下,智能体与环境每次交互时,环境会产生相应的奖励信号,通常用实数标量表示。这些奖励信号是对当前状态或动作优劣的即时反馈,例如游戏过程中某一操作获得的分数。每轮交互获得的奖励信号可以累加,形成智能体的整体回报(return),类似于游戏结束时的总分。由于环境的动态性,即使环境和智能体策略不变,初始状态相同,智能体与环境的交互结果仍可能不同,对应的回报也会不同。因此,强化学习关注的是回报的期望,并将其定义为价值(value),这是智能体学习的优化目标,也是衡量策略优劣的关键指标。

价值的计算较为复杂,因为需要对交互过程中每轮动作的概率分布及环境状态转移的概率分布进行积分运算。强化学习与有监督学习的学习目标在某种程度上是一致的,即在特定数据分布下优化某个期望值。然而,后续分析将揭示两者优化途径的不同。

4. 强化学习中的数据

接下来,从数据层面探讨有监督学习与强化学习的区别。

有监督学习任务基于从给定数据分布中采样得到的训练数据集,通过优化目标函数(如最小化预测误差)来寻找模型的最优参数。此处,训练数据集背后的数据分布是固定不变的。

而在强化学习中,数据来源于智能体与环境的交互。如果智能体不采取某个动作,该动作对应的数据将永远无法被观测到,因此当前智能体的训练数据来自于其之前的决策结果。不同策略会导致与环境交互产生不同的数据分布,如下图所示。

具体而言,强化学习中有一个关于数据分布的概念,称为占用度量(occupancy measure)。其数学定义和性质将在第3章讨论,这里简要说明:归一化的占用度量用于衡量在智能体策略与动态环境交互过程中,采样到某个状态-动作对(state-action pair)的概率分布。占用度量具有一个重要性质:给定两个策略及其对应的占用度量,当且仅当这两个占用度量相同时,两个策略相同。也就是说,若智能体策略改变,与环境交互得到的占用度量也会随之改变。

基于占用度量的重要性质,可以理解强化学习的本质思维方式。强化学习中的策略在训练过程中不断更新,对应的数据分布(即占用度量)也随之变化。因此,强化学习的一大难点在于,智能体观察到的数据分布是随着学习过程不断变化的。

由于奖励基于状态-动作对,一个策略的价值实际上是该策略下占用度量对应的奖励期望。因此,寻找最优策略即是寻找最优占用度量。

5. 强化学习的独特性

通过前述内容,读者应对强化学习的基本数学概念已有一定了解。现在,我们回顾有监督学习与强化学习的一般区别。

在有监督学习任务中,目标是找到一个最优模型函数,使其在训练数据集上最小化给定的损失函数。在训练数据独立同分布(i.i.d.)的假设下,这一优化目标等同于最小化模型在整个数据分布上的泛化误差,其公式简要表示为:

最优模型=argmin模型E(特征,标签)数据分布[损失函数(标签,模型(特征))]\text{最优模型} = \arg\min_{\text{模型}} \mathbb{E}_{(\text{特征}, \text{标签}) \sim \text{数据分布}} [\text{损失函数}(\text{标签}, \text{模型}(\text{特征}))]

相比之下,强化学习任务的最终优化目标是最大化智能体策略在与动态环境交互过程中的价值。根据第4节的分析,策略的价值可以转换为奖励函数在策略占用度量下的期望,即:

最优策略=argmax策略E(状态,动作)策略的占用度量[奖励函数(状态,动作)]\text{最优策略} = \arg\max_{\text{策略}} \mathbb{E}_{(\text{状态}, \text{动作}) \sim \text{策略的占用度量}} [\text{奖励函数}(\text{状态}, \text{动作})]

观察以上两个优化公式,可以总结出两者的相似点与不同点:

相似点: 有监督学习和强化学习的优化目标相似,都是在优化某个数据分布下的期望值。

不同点: 两者的优化途径不同。有监督学习通过优化模型对数据特征的输出直接优化目标,即修改目标函数而数据分布保持不变;而强化学习则通过改变策略来调整智能体与环境交互的数据分布,进而优化目标,即修改数据分布而目标函数保持不变。

综上所述,有监督学习与强化学习的范式区别如下:

  • 有监督学习关注于寻找一个模型,使其在给定数据分布下最小化损失函数的期望;

  • 强化学习关注于寻找一个智能体策略,使其在与动态环境交互过程中产生最优的数据分布,即最大化在该分布下给定奖励函数的期望。

Pan Yifan

Pan Yifan