全文共1804字,预计学习时长5分钟

打开网易新闻 查看精彩图片

图源:unsplash

本文将介绍强化学习算法的分类法,从多种不同角度学习几种分类法。话不多说,大家深呼吸,一起来学习RL算法的分类吧!

无模型(Model-Free)VS基于模型(Model-Based)

打开网易新闻 查看精彩图片

无模型VS模型分类法 [图源:作者,OpenAISpinning Up再创作]

RL算法的一种分类方法是询问代理是否能访问环境模型。换言之,询问环境会否响应代理的行为。基于这个观点有两个RL算法的分支:无模型和基于模型。

· 模型RL算法根据环境的学习模型来选择最佳策略。

· 无模型RL算法通过代理反复测试选择最佳策略。

两种算法都各有优缺点,如下表所示:

打开网易新闻 查看精彩图片

基于价值VS 基于政策

RL算法的另一种分类方法是考虑算法优化了价值函数还是策略。在深入了解之前,我们先了解策略和价值功能。

策略

策略π是从状态s到动作a的映射,其中π(a | s)是在状态s时采取动作a的概率。策略可以是确定的,也可以是随机的。

假设我们在玩剪刀石头布这个非常简单的游戏,两个人通过同时执行三个动作(石头/剪刀/布)中的一个来比输赢。规则很简单:

· 剪刀克布

· 石头克剪刀

· 布克石头

把策略看作是迭代的剪刀石头布

· 确定性策略容易被利用-如果我意识到你出“石头”较多,那么我可以利用这一点,获得更大赢面。

· 统一的随机策略(uniform random policy)最佳—如果你的选择完全随机,那我就不知道该采取什么行动才能取胜。

价值函数

价值函数是根据对未来回报(返回值)的预测来衡量状态良好程度的函数。返回值(Gt)基本等于“折扣”回报的总和(自t时起)。

γ ∈ [0,1]是折扣因数。折扣因数旨在抵扣未来的回报,有以下几个原因:

· 方便数学计算

· 打破状态变化图中的无限循环

· 未来回报的高度不确定性(比如股价变化)

· 未来回报不能立时受益(比如人们更愿意当下享乐而非十年后)

了解了返回值的概念后,接下来定义价值函数的数学形式吧!

价值函数的数学形式有二:

· 状态-动作价值函数(Q值)是t时状态动作组合下的期望返回值:

Q值和价值函数之间的区别是动作优势函数(通常称为A值):

现在知道了什么是价值函数和动作-状态价值函数。接下来学习有关RL算法另一个分支的更多信息,该分支主要关注算法优化的组件。

打开网易新闻 查看精彩图片

价值算法与策略算法[图源:作者,David Silver RL课程再创作]

· 价值RL旨在学习价值/行动-价值函数,以生成最佳策略(即,隐式生成最佳策略);

· 策略RL旨在使用参数化函数直接学习策略。

· Actor-Critic RL旨在学习价值函数和策略。

下表列出了价值和策略算法的优缺点。

打开网易新闻 查看精彩图片

· 价值算法必须选择使动作-状态价值函数最大的动作,如果动作空间非常高维或连续,成本就会很高,而策略算法是通过直接调整策略的参数来运行的,不需要进行最大化计算。

· 如果操作不当 (收敛性质差/不稳定),价值算法会出现一系列问题,而策略算法更稳定,收敛性质更好,因为它们只对策略梯度进行很少的增量更改。

· 策略算法既可以学习确定性策略,也可以学习随机策略,而价值算法只能学习确定性策略。

· 与价值算法相比,原本的策略算法速度更慢,方差更大。价值算法试图选择使动作-状态价值函数最大化的动作,这将优化策略 (运算更快、方差更小),策略算法只需几步,并且更新顺畅、稳定,但同时效率较低,有时会导致方差变大。

· 策略算法通常收敛于局部最优而不是全局最优。

策略和非策略算法

还有一种RL算法分类方法是基于策略来源分类。

打开网易新闻 查看精彩图片

可以说策略算法是“边做边学”。也就是说该算法试着从π采样的经验中了解策略π。而非策略算法是通过“监视”的方式来工作。换句话说,该算法试图从μ采样的经验中了解策略π。例如,机器人通过观察人类的行为来学习如何操作。

打开网易新闻 查看精彩图片