强化学习是机器学习的一个领域,它注重的是软件主体在一个环境中应该如何进行行动从而达到最大化累积奖励的想法。强化学习被认为是与监督学习和非监督学习并列的三种机器学习范式之一。
基本的强化学习被建模为一个马可夫决策过程:
当将主体的性能与最优行为主体进行比较时,性能的差异产生了遗憾的概念。为了接近最优地行动,主体必须对其行动的长期后果进行推理(即最大化未来收入),尽管这个行动会导致即时奖励可能是负值的。
前两个问题可以被考虑为规划问题(因为还存在某种形式的模型),而最后一个问题可以被认为是真正的学习问题。然而,使用强化学习的方法,这两种规划问题都可以被转化为机器学习问题。
强化学习需要聪明的探索机制。不参考估计的概率分布的随机选择动作性能表现较差。(小的)有限马尔可夫决策过程的情况相当地容易理解。然而,由于缺乏能够很好地随状态数量缩放(或缩放到具有无限状态空间的问题的规模)的算法,因此简单的探索方法是最实用的。
即使忽视了探索的问题,即使状态是可以观察到的(在之后进行假设),强化学习仍然存在利用过去的经验来找出最佳的动作的问题。
策略
主体的动作选择被建模为一个映射,名为策略:
状态值函数
该算法必须找到具有最大预期回报的策略。从马尔可夫决策过程理论可知,在一般性的情况下,搜索可以限制在所谓的静态的策略集合内。如果一个策略动作分布带来的收益只取决于最后访问的状态(来自观测主体的历史),那么它就是静态的。搜索可以进一步限制为确定性的静态策略。一个确定性静态策略根据当前状态确定性地选择动作。因为任何这样的策略都可以用从状态集合到动作集合的映射来识别,所以这些策略可以不失一般性地用这样的映射来识别。
暴力求解方法需要两步:
这种方法的一个问题是,策略的数量可能很大,甚至是无限的。另一个问题是收益的方差可能很大,这需要许多样本来准确估计每项策略的收益。
如果我们假设某种结构,允许从一个策略生成的样本影响对其他策略的估计,那么这些问题便可以得到改善。实现这一点的两种主要方法是价值函数估计和直接策略搜索。
价值函数方法试图通过保持对某种策略(通常是“当前的”[同步策略]或者是最优的[异步策略])的一系列的估计期望收益来找到一种最大化回报的策略。
这些方法依赖于马尔可夫决策过程理论,在马尔可夫决策过程理论中,最优性在某种意义上被定义为比之前的更强的策略:如果一个策略在任何的初始状态下都能获得最佳预期收益,则称之为最优策略(即初始分布在这个定义中不起作用)。同样,最优策略总是可以在静态策略中找到。
蒙特卡罗方法
蒙特卡罗方法可以用于模拟策略迭代的算法。策略迭代包括两个步骤:策略评估和策略改进。
该过程的问题包括:
第一个问题是通过允许过程在值确定之前改变策略(在一些或所有状态)来解决的。这本身也可能是个问题,因为它可能会阻碍收敛。大多数当前的算法都是这样做的,导致广义策略迭代算法的出现。许多玩家-评委(actor-critic)方法属于这一类。
另一种方法是直接在策略空间(的某个子集)中搜索,在这种情况下,问题变成随机优化的情况。可用的两种方法是基于梯度的方法和无梯度的方法。
有很多方法避免依赖梯度信息。这些方法包括模拟退火、交叉熵搜索或进化计算方法。许多无梯度方法可以实现(理论上和极限情况下)全局最优。
大多数算法的渐近行为和有限样本行为都是很好理解的。具有可证明良好在线性能(解决探索问题)的算法是已知的了。
研究主题包括
在学徒学习中,专家展示目标行为。系统试图通过观察来还原策略。