1.3 智能体/环境接口
强化学习问题常用智能体/环境接口(Agent-Environment Interface)来研究(见图1-5)。
智能体/环境接口将系统划分为智能体和环境两个部分。
智能体(agent)是强化学习系统中的决策者和学习者,它可以做出决策和接受奖励信号。一个强化学习系统里可以有一个或多个智能体。我们并不需要对智能体本身进行建模,只需要了解它在不同环境下可以做出的动作,并接受奖励信号。
环境(environment)是强化系统中除智能体以外的所有事物,它是智能体交互的对象。环境本身可以是确定性的,也可以是不确定性的。环境可能是已知的,也可能是未知的。我们可以对环境建模,也可以不对环境建模。
智能体/环境接口的核心思想在于分隔主观可以控制的部分和客观不能改变的部分。例如,在工作的时候,我是决策者和学习者。我可以决定自己要做什么,并且能感知到获得的奖励。我的决策部分和学习部分就是智能体。同时,我的健康状况、困倦程度、饥饿状况则是我不能控制的部分,这部分则应当视作环境。我可以根据我的健康状况、困倦程度和饥饿状况来进行决策。
注意:强化学习问题不一定要借助智能体/环境接口来研究。
在智能体/环境接口中,智能体和环境的交互主要有以下三个环节:
智能体观测环境,可以获得环境的观测(observation),记为;
智能体根据观测做出决策,决定要对环境施加的动作(action),记为;
环境受智能体动作的影响,改变自己的状态(state),记为,并给出奖励(reward),记为。
在这三个环节中,观测、动作和奖励R是智能体可以直接观测到的。
注意:状态、观测、动作不一定是数量(例如标量或矢量),也可以是“感觉到饿”、“吃饭”这样一般的量。在本书中用无衬线字体表示这样的量。奖励总是数量(而且往往是数量中的标量),本书中用衬线字体表示数量(包括标量或矢量)。
绝大多数的强化学习问题是按时间顺序或因果顺序发生的问题。这类问题的特点是具有先后顺序,并且先前的状态和动作会影响后续的状态等。例如,在玩电脑游戏时,游戏随着时间不断进行,之前玩家的每个动作都可能会影响后续的局势。对于这样的问题,我们可以引入时间指标,记时刻的状态为,观测为,动作为,奖励为Rt。
注意:用智能体/环境接口建模的问题并不一定要建模成和时间有关的问题。有些问题一共只需要和环境交互一次,就没有必要引入时间指标。例如,以不同的方式投掷一个给定的骰子并以点数作为奖励,就没有必要引入时间指标。
在很多任务中,智能体和环境是在离散的时间步骤上交互的,这样的问题可以将时间指标离散化,建模为离散时间智能体/环境接口。具体而言,假设交互的时间为。在时刻,依次发生以下事情:
智能体观察环境得到观测;
智能体根据观测决定做出动作;
环境根据智能体的动作,给予智能体奖励并进入下一步的状态。
注意:智能体/环境接口问题不一定能时间上离散化。有些问题在时间上是连续的,需要使用偏微分方程来建模环境。连续时间的问题也可以近似为离散时间的问题。
在智能体/环境接口的基础上,研究人员常常将强化学习进一步建模为Markov决策过程。本书第2章会介绍Markov决策过程。