【问题标题】:Good implementations of reinforcement learning?强化学习的良好实现?
【发布时间】:2010-10-18 22:19:52
【问题描述】:

对于一个 AI 类项目,我需要实现一个强化学习算法,它可以击败一个简单的俄罗斯方块游戏。游戏是用 Java 编写的,我们有源代码。我知道强化学习理论的基础知识,但想知道 SO 社区中是否有人亲身体验过这类事情。

  1. 对于在俄罗斯方块游戏中实施强化学习,您推荐哪些阅读材料?
  2. 是否有任何优秀的开源项目可以完成类似的事情,值得一试?

编辑:越具体越好,但欢迎提供有关该主题的一般资源。

跟进:

如果我发布后续内容会很好。

这是我为未来的学生提供的解决方案(代码和文章):)。

Paper / Code

【问题讨论】:

    标签: language-agnostic artificial-intelligence machine-learning reinforcement-learning


    【解决方案1】:

    看看2009年RL-competition。问题域之一是tetris game。前一年也有俄罗斯方块问题。这是当年第五名决赛入围者的52-page final report,其中详细介绍了代理的工作方式。

    【讨论】:

      【解决方案2】:

      Heaton Research 电子书非常擅长解释神经网络概念(带代码)。第 4 章专门介绍机器学习和网络的各种训练方法。有一个可下载的库和示例应用程序供您查看。

      【讨论】:

        【解决方案3】:

        这是一本关于这个主题的好书:

        Machine Learning and Data Mining: Introduction to Principles and Algorithms
        作者:Igor Kononenko,Matjaz Kukar(2007 年 6 月)

        还可以看看这些开源项目:

        【讨论】:

          【解决方案4】:

          TD-Gammon、gnubackgammon 或任何其他类似项目在游戏中取得了巨大成功。

          Sutton & Barto 的书《强化学习:简介》还有一些其他的Case Studies

          【讨论】:

            【解决方案5】:

            这个问题确实很老,但对于 2018 年阅读此问题的任何人,如果您对现有 RL 算法的可靠参考感兴趣,我强烈建议您使用 OpenAI Baselines。这些算法是由 OpenAI 的一群真正了解这些东西的员工实现的,并且已经过广泛的微调和调试。

            公平地说,俄罗斯方块不需要这些,但现在我怀疑家庭作业问题可能涉及一些更复杂的环境。

            https://github.com/openai/baselines

            更新:

            2019年,我也推荐rlpyt:

            https://github.com/astooke/rlpyt

            【讨论】:

              【解决方案6】:

              这并非专门针对强化学习,但斯坦福大学在 machine learning on Youtube 和 iTunes 上有一系列精彩的讲座。

              该链接指向第一个讲座,大约需要 30 分钟才能深入了解内容。

              【讨论】:

                【解决方案7】:

                Burlap 是一个最新的 Java 库,它提供了许多常见强化学习算法以及一些环境和有用工具的实现。

                【讨论】:

                  【解决方案8】:

                  我建议学习基于 Java 的 RL4J。 我正在使用它,我很惊讶事情的顺利进行,你甚至可以在带有 Actor Critic 算法(称为 A3C)的强化学习算法中学习 LSTM 网络

                  这里是链接: https://github.com/deeplearning4j/dl4j-examples/blob/master/rl4j-examples/

                  【讨论】:

                    【解决方案9】:

                    我注意到这个问题已经过时了(已有 10 年历史了),现代 RL 框架和环境的集合在这里可能很有用。我为此创建了 GitHub 存储库,并打算定期更新它。

                    https://github.com/TheMTank/RL-code-resources

                    【讨论】:

                      猜你喜欢
                      • 2014-12-23
                      • 2021-02-12
                      • 2021-03-18
                      • 1970-01-01
                      • 2013-12-06
                      • 2018-03-22
                      • 2018-11-05
                      • 2019-04-16
                      • 2010-11-27
                      相关资源
                      最近更新 更多