我正在努力为自己弄清楚事情,RL 中有很多不同的分类。有人说:
- 政策内和政策外
- 基于模型和无模型
- 基于模型、基于策略和基于价值(+ Actor-Critic= 基于策略+基于价值)
似乎有一些重叠,这让我有了下一个理解:
基于模型
无模型:
- 基于策略 = 在策略上:
- 确定性
- 随机
- 基于价值 = 离政策
- Actor-Critic = 基于价值(Actor)+ 基于策略(Critic)
这种理解是正确的还是它们都是完全不同的分类?
我正在努力为自己弄清楚事情,RL 中有很多不同的分类。有人说:
似乎有一些重叠,这让我有了下一个理解:
基于模型
无模型:
这种理解是正确的还是它们都是完全不同的分类?
以下是强化学习分类法的简要总结:
此划分基于您是否更新您的根据您当前的政策采取的行动或不采取行动的价值。假设您当前的策略是完全随机的策略。你在状态并采取行动这导致你陈述. 你会更新你的基于您可以采取的最佳行动还是基于您当前政策的行动(随机行动)?第一种选择方法称为off-policy,后者称为on-policy。例如, Q-learning是第一个,而SARSA是后者。
在基于策略的方法中,我们显式构建策略的表示(映射) 并在学习过程中将其保存在内存中。
在Value-based中,我们不存储任何显式策略,只存储一个值函数。这里的策略是隐式的,可以直接从价值函数中推导出来(选择具有最佳价值的行动)。
演员评论家是两者的混合体。
我们在 RL 中经常处理的问题是,每当你处于状态并采取行动你可能不一定知道下一个状态你最终会进入(环境影响代理)。
在基于模型的方法中,您要么可以访问模型(环境),以便了解最终进入的状态的概率分布,要么您首先尝试自己构建模型(通常是近似值)。这可能很有用,因为它允许您进行计划(您可以“考虑”在不实际执行任何操作的情况下向前移动)。
在无模型中,您没有得到模型,也没有试图明确地弄清楚它是如何工作的。您只需收集一些经验,然后得出(希望)最优策略。
您可以拥有基于值的策略上 RL 算法。这种算法的一个例子是 SARSA,因此并非所有基于值的算法都是脱离策略的。基于值的算法只是一种通过首先估计相关值函数来估计策略的算法。
要了解 on-policy 和 off-policy 之间的区别,您需要了解 RL 算法有两个阶段:学习(或训练)阶段和推理(或行为)阶段(在训练阶段之后)。on-policy 和 off-policy 算法之间的区别仅涉及训练阶段。
在学习阶段,RL 代理需要学习对最优值(或策略)函数的估计。鉴于代理仍然不知道最优策略,它的行为通常不是最优的. 在训练过程中,智能体面临一个困境:探索或利用困境。在 RL 的上下文中,探索和利用是不同的概念:探索是选择和执行(在环境中)可能不是最优的动作(根据代理的知识),而利用是选择和执行一个根据智能体的知识(即根据智能体当前对最优策略的最佳估计)最优的动作。在训练阶段,智能体需要探索和利用:探索需要发现更多关于最优策略的信息,但利用也需要更多地了解已经访问过和部分已知的环境状态。在学习阶段,代理因此可以' 不仅要利用已经访问过的状态,还需要探索可能未访问过的状态。为了探索可能未访问的状态,代理通常需要执行次优操作。
离策略算法是一种算法,它在训练期间使用不同于它试图估计的最优策略(最优策略)的行为策略(即,它用来选择动作的策略)。例如,-学习经常使用-贪婪政策(它选择随机或探索性动作的时间百分比和它选择最优动作的时间百分比,根据其当前对最优策略的最佳估计)来表现(即利用和探索环境),而在其更新规则中,由于算子,它假设选择了贪心动作(即在给定状态下的当前最优动作)。
on-policy算法是一种算法,它在训练期间使用从最优策略的当前估计派生的策略选择动作,而更新也基于最优策略的当前估计。例如,SARSA是一种 on-policy 算法,因为它没有在其更新规则中
-learning (off-policy) 和 SARSA (on-policy)的区别分别在于它们的更新规则中
在基于策略或策略搜索算法(例如 REINFORCE)的情况下,通常不会区分 on-policy 和 off-policy,因为在这种情况下,行为策略(即训练期间表现的策略)和目标策略(要估计的策略)。
您可以将 actor-critic 算法视为基于价值和策略的算法,因为它们同时使用价值和策略功能。
基于模型的算法的常见示例是价值和策略迭代,它们是使用(给定马尔可夫决策过程的)转移和奖励函数来估计价值函数的算法。但是,您可能还具有基于模型的 on-policy、off-policy、基于价值或基于策略的算法,它们在某种程度上是基于模型的,也就是说,它们可能在某些情况下使用环境模型方式。