介绍
强化学习是一种从与环境的交互中学习,具有直接目标的计算方法。
- 试错搜索;
- 延时报酬。
我们可以借用动力系统的想法来描述一个强化学习问题,特别地,作为一个非完全已知的马尔科夫决策过程的最优控制问题。一个可学习的代理必须能够在一定程度上观测到环境的状态,并且可以采取行动以影响当前状态。代理还必须有一个目标或者一些目标,目标是与环境的状态有关的。
强化学习中的一个特有的挑战是如何权衡新知识的探索(exploration)与旧知识的利用(exploitation)。代理需要利用已有的经验来取得报酬,但它也要探索以便在以后可以采取更好的行动选择。
主流的方法,例如搜索和学习,是被称为弱方法;而基于特点知识的方法被称为强方法。
分类
在强化学习中,我们需要选择:待优化目标函数的类型(策略、值函数、动力模型)以及函数近似器的类型。
首先,我们有两种算法:
- 基于模型的强化学习算法:基于动力学模型,预测下一阶段的状态和下一步的报酬;
- 模型无关的强化学习算法:不基于动力学模型。
然后,对于模型无关的强化学习算法,下图展示了进一步的分类:
策略优化方法围绕策略函数$\pi:S\mapsto A$。这些方法将强化学习视为一个数值优化问题,最大化与策略参数有关的期望总报酬。这里有两种方式来优化策略:
- 导数无关(Derivative free optimization, DFO)的优化算法,包括进化算法,例如基因编程、模拟退火等等;
- 策略梯度方法。
近似动态规划(Approximate dynamic programming, ADP)着眼于学习值函数$V:S\mapsto\mathbb{R}$,用来预测在一个状态下代理会接受到的报酬。
最后,actor-critic方法结合了策略优化和动态规划。这些方法优化一个策略,但他们用值函数来假设优化过程。通常它是通过近似动态规划的方法来计算值函数的。
强化学习的基本元素
- 一个策略$\pi$;
- 一个报酬信号$r_t$;
- 一个值函数$V(s)$;
- (可选)一个描述环境的模型。