详细内容或原文请订阅后点击阅览
通过 Deep Q-Learning 玩四子棋
用函数逼近解决多人游戏《用深度 Q 学习玩四子棋》一文首先出现在《走向数据科学》上。
来源:走向数据科学,我们探索了如何使用函数逼近将强化学习 (RL) 扩展到表格设置之外。虽然这使我们能够跨状态进行泛化,但我们的实验也揭示了一个重要的局限性:在像 GridWorld 这样的简单环境中,近似方法可能难以匹配表格方法的稳定性和效率。主要原因是,学习良好的表示本身就是一个难题——当状态空间仍然相对较小时,这个问题可能会超过泛化的好处。
因此,为了真正发挥函数逼近的威力,我们需要迁移到表格方法不再可行的环境。这很自然地将我们引向多人游戏,其中状态空间以组合方式增长,泛化变得至关重要——同时完美地适合本系列文章,因为到目前为止我们还没有设法在更复杂的多人环境中学习任何有意义的行为。在这篇文章中,我们通过考虑经典的四子棋游戏来迈出这一步,并研究如何使用深度 Q 学习来学习强大的策略。
从 Sarsa 到深度 Q 学习
为了解决这项任务,我们沿着几个重要的维度扩展了我们的框架。
首先,我们从在线更新转向批量训练设置。在我们早期的 Sarsa 实现中,我们在每次转换后更新了模型。虽然忠实于原始算法 [1],但这种方法在计算上效率低下:每个优化器步骤都会产生不小的成本,而现代硬件(尤其是 GPU)被设计为仅在少量额外开销的情况下进行批量操作。
最后,我们转向可扩展性。强化学习本质上需要大量数据,因此提高吞吐量至关重要。为此,我们实现了一个矢量化环境包装器,使我们能够并行模拟多个四子棋游戏。具体来说,对步骤(a)的一次调用现在可以处理一批操作并同时推进所有环境。
