Press "Enter" to skip to content

关于策略上的蒙特卡洛法与离策略蒙特卡洛法的比较,附有可视化效果

带有即插即用的代码,包含重要性采样

来自aceofnet在Unsplash上的照片

在强化学习中,我们使用蒙特卡洛(MC)估计或时序差分(TD)学习来建立样本轨迹的“目标”回报。这两种方法都允许我们从一个转换动态未知的环境中学习,也就是说,p(s',r|s,a)是未知的。

MC使用从状态-动作对到达终止状态的完整回报。它的方差很高,但在样本独立且相同分布时是无偏的。

我将在另一天保存MC和TD之间的比较,并支持使用代码。今天的重点是MC本身。我将讨论策略内MC和策略外MC之间的区别,并使用可以尝试不同输入的即插即用代码来证明。

要点

在阅读本文的最后,您将在没有代码支持的情况下,更深刻地理解策略内和策略外方法之间的区别。此外,您还将掌握以下工具:

  1. 探索不同组合的Wind Grid World,可以轻松调整以适应您的喜好;
  2. 通过包含重要性采样的策略内或策略外MC进行训练;
  3. 可视化已经学习到的动作值和策略。

环境

这里考虑的是经典的Wind Grid World。由于风的原因,转移是随机的,因为有一个等于self.wind的概率,代理移动时会随机移动而不是按其预期的方向移动。

我们将G定义为目标,当代理降落在目标上时,会获得高回报,并且这也是一个终止状态。T是陷阱,会导致代理承受相当大的负回报。除此之外的每一步都会产生−1的奖励。代理无法移出定义的空间。

from copy import deepcopyimport numpy as npfrom tqdm import tqdmimport matplotlib.pyplot as pltimport matplotlib.patches as patchesimport matplotlib.colors as mcolorsfrom matplotlib.cm import ScalarMappableclass…
Leave a Reply

Your email address will not be published. Required fields are marked *