浅尝辄止

理论是灰色的,而生命之树常青。这里是@Dilettante258 的个人博客,用于记载和分享学习。

强化学习初探

Dilettante258's avatar
| 0 views

有监督学习主要面向预测任务,而强化学习主要面向决策任务。

序贯决策(sequential decision making):按时间顺序进行一系列决策,是一种动态的决策方式,可用于随机性或不确定性动态系统最优化。

强化学习是机器通过与环境交互来实现目标的一种计算方法。在每一轮交互中,智能体(agent)感知环境状态,做出动作决策,并将动作作用于环境中。环境根据智能体的动作产生即时奖励信号,并改变状态。智能体通过感知新的环境状态,不断迭代交互,以最大化累积奖励的期望。与有监督学习不同,强化学习中的智能体可以感知环境信息并直接改变环境

智能体有3种关键要素,即感知、决策和奖励

  • 感知。智能体在某种程度上感知环境的状态,从而知道自己所处的现状。
  • 智能体根据当前的状态计算出达到目标需要采取的动作的过程叫作决策。
  • 奖励。环境根据状态和智能体采取的动作,产生一个标量信号作为奖励反馈。这个标量信号衡量智能体这一轮动作的好坏。

强化学习和有监督学习

在面向决策任务的强化学习中,由于涉及多轮交互和序贯决策,智能体需要考虑未来环境的变化。因此,最大化即时奖励的动作在长期来看并不一定是最优的。相比之下,在面向预测任务的有监督学习中,每个任务是独立的,不需要考虑未来环境的变化。

另外,强化学习中的智能体通过与环境的交互来学习,而有监督学习中的模型则通过已有的标记数据进行训练。强化学习中的智能体可以感知环境信息并直接改变环境,而有监督学习中的模型只能给出预测信号。

因此,面向决策任务的强化学习和面向预测任务的有监督学习在形式上存在较大的区别。强化学习需要考虑多轮交互和未来环境的变化,而有监督学习则更关注单轮独立任务和标记数据的训练。

强化学习的智能体是在与一个动态环境进行交互,并通过序贯决策来完成任务。动态环境意味着环境会随着某些因素的变化而不断演变,这可以用随机过程来描述。在一个随机过程中,状态和状态转移的条件概率分布是关键要素。智能体的动作作用于环境中,导致环境发生状态改变,智能体需要在新状态下做出进一步决策。

在与面向决策任务的智能体交互的环境中,未来状态的分布由当前状态和智能体的动作共同决定,并且每一轮状态转移都伴随着两方面的随机性:智能体动作的随机性和环境对下一状态采样的随机性。通过以上叙述能感受到,在动态随机过程中学习和在一个固定的数据分布下学习是非常不同的。

智能体和环境每次进行交互时,环境会产生相应的奖励信号,其往往由实数标量来表示。这个奖励信号一般是诠释当前状态或动作的好坏的及时反馈信号。整个交互过程的每一轮获得的奖励信号可以进行累加,形成智能体的整体回报(return),好比一盘游戏最后的分数值。在强化学习中,我们关注回报的期望,并将其定义为价值(value),这就是强化学习中智能体学习的优化目标。

价值的计算有些复杂,因为需要对交互过程中每一轮智能体采取动作的概率分布和环境相应的状态转移的概率分布做积分运算。

有监督学习的任务建立在从给定的数据分布中采样得到的训练数据集上,通过优化在训练数据集中设定的目标函数(如最小化预测误差)来找到模型的最优参数。训练数据集背后的数据分布是完全不变的。

在强化学习中,数据是在智能体与环境交互的过程中得到的。智能体的策略不同,与环境交互所产生的数据分布就不同。

强化学习中有一个关于数据分布的概念,叫作占用度量(occupancy measure)。归一化的 占用度量 用于衡量在一个智能体决策与一个动态环境的交互过程中,采样到一个 具体的 状态动作对(state-action pair) 的 概率分布。

占用度量有一个很重要的性质:给定两个策略及其与一个动态环境交互得到的两个占用度量,那么当且仅当这两个占用度量相同时,这两个策略相同。也就是说,如果一个智能体的策略有所改变,那么它和环境交互得到的占用度量也会相应改变。

  • 强化学习的策略在训练中会不断更新,其对应的数据分布(即占用度量)也会相应地改变。因此,强化学习的一大难点就在于,智能体看到的数据分布是随着智能体的学习而不断发生改变的。
  • 由于奖励建立在状态动作对之上,一个策略对应的价值其实就是一个占用度量下对应的奖励的期望,因此寻找最优策略对应着寻找最优占用度量

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

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

一般有监督学习和强化学习的范式之间的区别为:

  • 一般的有监督学习关注寻找一个模型,使其在给定数据分布下得到的损失函数的期望最小;
  • 强化学习关注寻找一个智能体策略,使其在与动态环境交互的过程中产生最优的数据分布,即最大化该分布下一个给定奖励函数的期望。