带你从不同角度了解强化学习算法的分类

限时免费提供人脸人体、分割抠图、OCR以及医疗分析等共计140+项AI能力的调用【点此开通】


本文转载自公众号“读芯术”(ID:AI_Discovery)。

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

带你从不同角度了解强化学习算法的分类

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

带你从不同角度了解强化学习算法的分类
无模型VS模型分类法 [图源:作者,OpenAISpinning Up再创作]

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

  • 模型RL算法根据环境的学习模型来选择最佳策略。
  • 无模型RL算法通过代理反复测试选择最佳策略。

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

带你从不同角度了解强化学习算法的分类

基于价值VS 基于政策

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

(1) 策略

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

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

  • 剪刀克布
  • 石头克剪刀
  • 布克石头

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

  • 确定性策略容易被利用-如果我意识到你出“石头”较多,那么我可以利用这一点,获得更大赢面。
  • 统一的随机策略(uniform random policy)最佳—如果你的选择完全随机,那我就不知道该采取什么行动才能取胜。

(2) 价值函数

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

带你从不同角度了解强化学习算法的分类

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

  • 方便数学计算
  • 打破状态变化图中的无限循环
  • 未来回报的高度不确定性(比如股价变化)
  • 未来回报不能立时受益(比如人们更愿意当下享乐而非十年后)

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

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

带你从不同角度了解强化学习算法的分类

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

带你从不同角度了解强化学习算法的分类

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

带你从不同角度了解强化学习算法的分类

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

带你从不同角度了解强化学习算法的分类
价值算法与策略算法[图源:作者,David Silver RL课程再创作]

  • 价值RL旨在学习价值/行动-价值函数,以生成最佳策略(即,隐式生成最佳策略);
  • 策略RL旨在使用参数化函数直接学习策略。
  • Actor-Critic RL旨在学习价值函数和策略。

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

带你从不同角度了解强化学习算法的分类

  • 价值算法必须选择使动作-状态价值函数最大的动作,如果动作空间非常高维或连续,成本就会很高,而策略算法是通过直接调整策略的参数来运行的,不需要进行最大化计算。
  • 如果操作不当 (收敛性质差/不稳定),价值算法会出现一系列问题,而策略算法更稳定,收敛性质更好,因为它们只对策略梯度进行很少的增量更改。
  • 策略算法既可以学习确定性策略,也可以学习随机策略,而价值算法只能学习确定性策略。
  • 与价值算法相比,原本的策略算法速度更慢,方差更大。价值算法试图选择使动作-状态价值函数最大化的动作,这将优化策略 (运算更快、方差更小),策略算法只需几步,并且更新顺畅、稳定,但同时效率较低,有时会导致方差变大。
  • 策略算法通常收敛于局部最优而不是全局最优。

策略和非策略算法

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

带你从不同角度了解强化学习算法的分类


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

原文链接:https://www.toutiao.com/i6901251162683621896/
本文转自今日头条,本文一切观点和机器智能技术圈子无关。
在线免费体验百种AI能力:【点此跳转】
带你从不同角度了解强化学习算法的分类

上一篇:用css3选择器给你要的第几个元素添加不同样式方法【转发】


下一篇:写一篇关于k8s的部署文档 正在更新中