Press "Enter" to skip to content

方便的稳定基线强化学习

强化学习

没有样板代码的强化学习

由作者使用Leonardo Ai创建。

在我之前关于强化学习的文章中,我向你展示了如何只使用一点点的numpy和TensorFlow来实现(深度)Q学习。虽然这是理解这些算法如何在内部工作的重要一步,但代码有点冗长——我甚至只是实现了最基本的深度Q学习版本之一。

动手实践深度Q学习

提高代理的水平以赢得更困难的游戏!

towardsdatascience.com

在本文的解释下,理解代码应该是相当简单的。然而,如果我们真的想要完成工作,我们应该依靠良好文档化、维护和优化的库。就像我们不想一遍又一遍地实现线性回归一样,我们也不想为强化学习做同样的事情。

在本文中,我将向您展示强化学习库Stable-Baselines3,它的使用就像scikit-learn一样简单。但是,与训练模型预测标签不同的是,我们得到的是可以在其环境中良好导航的训练代理。

简短回顾

如果你不确定(深度)Q学习是什么,我建议阅读我之前的文章。在高层次上,我们希望训练一个与其环境进行交互,目标是最大化总奖励的代理。强化学习最重要的部分是为代理找到一个良好的奖励函数。

通常我想象一个游戏中的角色寻找通往最高分的方法,例如,马里奥自始至终不死地跑到终点,并且在最好的情况下尽可能快。

Image by the author.

为了实现这个目标,在Q学习中,我们学习了每一对(s,a)的质量值,其中s是一个状态,a是代理可以采取的动作。Q(s,a)是…

Leave a Reply

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