我试图理解无模型和基于模型的方法的概念。据我了解,拥有环境模型并不意味着 RL 代理必须基于模型。这是关于政策的。但是,如果我们可以对环境进行建模,我们为什么要使用无模型算法呢?对下一个奖励和状态有一个模型和期望不是更好吗?如果您对所有这些有更好的了解,您能否也向我解释一下?
如果我们可以对环境进行建模,那么使用无模型算法不是没有意义吗?
但是,如果我们可以对环境进行建模,我们为什么要使用无模型算法呢?
取决于您所说的“模拟环境”是什么意思。有两种型号:
分布模型,提供对功能的完全访问,例如,观察奖励的概率和下一个状态给定的起始状态并采取行动.
示例模型,可以根据需要在环境中处理单个步骤。那应该提供对类似功能的访问返回一个基于向前运行环境的配对.
哪种模型可用会影响哪种基于模型的强化学习方法将起作用。例如,动态规划需要一个分布模型,但 MCTS 可能只需要一个样本模型。
分布模型可以很容易地转换为样本模型,但反过来也只能是近似的(通过获取大量样本)。
对下一个奖励和状态有一个模型和期望不是更好吗?
在所有条件相同的情况下,可以访问和使用模型可以进行更好的估计,并为各种类型的规划算法开辟了可能性。
但是,即使您可以构建环境模型,也有成本:
从理论上讲,编写分布模型可能很困难——模拟一个前进一步的环境通常比计算同一步骤的所有结果的概率分布要容易得多。
随机访问任意状态的需求可能很昂贵。只需要从单个重置向前运行到启动状态的模拟器可能比需要任意设置到可能性树中的多个位置的模拟器运行效率更高。
这些成本对于不同的环境是不同的。与现代计算机游戏或模拟具有大量细节的真实世界物理系统的游戏相比,设置像国际象棋这样的游戏或进入任意状态相对便宜。在这两种情况下,部分可观察状态都可能是一个主要问题,因为任何随机访问模型都需要考虑代理正在处理的任何事情背后的所有可能的“真实”状态。
所以基本上,在不同级别的环境复杂性下,无论是制作完整模型的开发成本,还是设置任意状态的评估成本,都可以使使用无模型方法更有效。
学习构建自己的环境近似模型的代理非常有趣,因为它们可能通过两全其美来解决这个问题。或者,根据每种方法的相对成本和准确性,它们可能可以以最有效的方式使用无模型与基于模型的方法进行调整。