首先,我在表述我的问题时遇到了困难,欢迎提供反馈意见。
我需要制作一个机器学习代理来玩点和框游戏。
我现在还处于早期阶段,但想到了一个问题:如果我让我的机器学习代理(使用特定的实现方式)与其自身的副本对抗来学习和改进其游戏策略,它不会只是针对那种特定类型的游戏策略而制定策略吗?
如果我让我的代理以一种随机的方式与不同形式的其他代理对抗并学习,是否会更有趣呢?
回答:
让代理通过与自身的副本对抗来学习的想法被称为自我对弈。是的,在自我对弈中,有时可以看到代理会对其“训练伙伴”产生“过拟合”,导致学习过程不稳定。参见OpenAI的这篇博客文章(特别是“多人游戏”部分),其中详细描述了这个问题。
迄今为止,我在研究中看到的最简单解决这一问题的方法确实是生成一组更具多样性的训练伙伴。例如,可以通过在内存或文件中存储多个过去版本的代理检查点,并在每集开始时随机选择其中一个作为训练伙伴。这大致是DeepMind在原始AlphaGo围棋程序(2016年版本)的自我训练过程中所做的做法,也在OpenAI的另一篇博客文章中有所描述。