如果仅针对一个对手进行训练,强化学习代理如何进行泛化?

人工智能 强化学习
2021-11-09 05:01:30

一周前我开始自学强化学习,我对学习体验感到困惑。假设我们有围棋游戏。我们有一个经纪人,我们希望能够参加比赛并战胜任何人。但是假设这个代理从与一个对手的比赛中学习,那么我的问题是:

  1. 代理(在学习之后)不能只与那个对手比赛并获胜吗?它仅估计此特定行为的价值函数。
  2. 它能否与较弱的玩家打得一样好?
  3. 你如何开发一个代理来估计一个可以泛化任何行为并获胜的价值函数?自玩?如果是,它是如何工作的?
2个回答

强化学习 (RL) 的核心并没有直接说明对抗性环境,例如棋盘游戏。这意味着在纯粹的 RL 设置中,真的不可能谈论玩家的“实力”。

相反,RL 是关于解决一致的环境,并且这种一致性要求扩展到任何对手或对抗性组件。请注意,一致性与确定性不同——RL 理论可以很好地应对有效地做出随机决策的对手,前提是这些决策的分布不会基于 RL 代理无法知道的事情而改变。

如果对手打得始终如一,RL 就可以学会针对该对手进行优化。这与对手的“实力”没有直接关系,尽管通常强大的对手会提供一个更具挑战性的整体学习环境。

  1. 代理(在学习之后)不能只与那个对手比赛并获胜吗?因为它只估计了这个特定行为的价值函数。

如果 RL 有足够的练习和时间来针对对手进行优化,那么是的,价值函数(以及基于它的任何策略)将特定于该对手。假设对手没有完美地打球,那么 RL 就会学会打球,这样它会尽可能多地战胜对手。

在与其他对手比赛时,RL 智能体的成功将取决于新对手与它所训练的原对手的相似程度。

  1. 它能否与较弱的玩家打得一样好?

如上所述,RL 中并没有“更强”或“更弱”的概念。这取决于游戏,以及强大的玩家为了获胜而需要的知识的普遍程度。

从理论上讲,你可以构建一个游戏,或者刻意打出强势,但有一定的缺陷,这样 RL 会在对抗一种游戏风格时打得很厉害,而在对抗没有相同缺陷的另一名玩家时会失败。

很难衡量这种影响,因为人类玩家也会从错误中吸取教训,并且不太可能一次又一次地重复完全相同的游戏,但在关键阶段会有微小的变化。人类没有足够一致的对手,个人在每个阶段都没有玩足够的游戏来研究他们有效政策的细粒度统计数据。

在实践中,由于抽样误差(如果没有其他原因),对新玩家的削弱似乎可能会在 RL 中出现。然而,当我们在国际象棋或围棋等任何技能游戏中衡量玩家的“实力”时,似乎确实与一般能力相关。这在一定程度上得到了人类玩家和 Elo 评级的一致结果的支持。

任何可以形成获胜玩家“圈”的游戏:

  • 玩家 B 持续击败玩家 A
  • 玩家 C 持续击败玩家 B
  • 玩家 A 持续击败玩家 C

在应用 RL 优化人工代理时,可能会导致您担心的类型的问题。

  1. 你如何开发一个代理来估计一个可以泛化任何行为并获胜的价值函数?

如果可以完美演奏,那么估计完美演奏的价值函数将起作用。没有球员能打败它。想想井字游戏——为它构建完美的游戏价值函数相对容易。

在更复杂的游戏中,这在实践中是无法实现的。为了解决这个问题并提高其决策的质量,AlphaGo 所做的对许多游戏系统来说都是常见的,无论是否使用 RL。它执行位置的前瞻搜索。价值函数用于指导这一点。搜索的最终结果本质上是一个更准确的值函数,但仅限于当前的选择集 - 搜索将大量计算集中在所有可能的游戏状态的一小部分上

这里的一个重要细节是,在与任何新对手比赛时,这一重点适用于运行时。这并不能 100% 解决您对不同对手的担忧(它仍然可能在搜索时错过足够不同对手的未来行动)。但它确实有助于减轻不同对手之间较小的统计差异。

这种搜索树是一种非常强大的技术,对于许多成功的游戏算法来说,可能从一个不准确的价值函数开始,或者取而代之的是专家启发式,它们对所有玩家都是固定的和通用的。IBM 的 Deep Blue 是使用启发式算法的一个例子。

自玩?如果是,那是如何工作的?

自我游戏似乎有所帮助。尤其是在具有理论上最优玩法的游戏中,价值函数将朝着评估这个最优策略的方向发展,通过足够的训练形成更好的状态值估计。这可以在搜索时提供比专家启发式更好的起点。

尼尔的回答已经很好地解决了您的大多数问题,所以我不会再解决这些问题。我想另外澄清以下几点:

但是假设这个代理从与一个对手的比赛中学习

正是这种从单一对手中学习的假设导致了许多问题。事实上,即使那个“单一对手”正在改变/提高,你仍然可以有一个不稳定的学习过程。例如,两个同时学习的智能体(或一个智能体和一个自身的副本)可以无限循环,正如 Neil 在 Rock-Paper-Scissors 这样的游戏中已经暗示的那样。

在最初的AlphaGo 出版物(2016 年)中,通过在每场比赛中随机选择一组(相对较新的)学习代理副本中的一个来完成自我博弈学习,而不是总是与单个最新版本的精确副本对战的代理。以这种方式为“训练伙伴”增加更多的多样性有助于学习更强大的策略来处理不同的对手。当然,我们不应该过度使用这种随机化。您仍然希望确保与强大的训练伙伴(或与学习代理具有大致相似强度水平的对手)进行训练,已经非常强大的代理将无法从与极弱代理了。

2017年,一篇新论文出现在 AlphaGo Zero 上在这篇论文中,他们不再使用上面描述的这种随机化,但仍然有一个稳定的自我游戏学习过程。据我所知,解释这种稳定性的最有可能的假设是,在自我对弈训练过程中使用了蒙特卡洛树搜索来改进更新目标。这与 Neil 在训练后在游戏过程中描述的使用前瞻搜索不同。通过在训练过程中加入前瞻搜索,并使用它来改进更新目标,假设您可以降低对训练伙伴“过度拟合”的风险。前瞻搜索实际上“思考”了一些训练伙伴可能选择的其他动作,而不是它实际所做的,并将其合并到更新目标中。MCTS 和自我游戏强化学习的类似组合也独立发布(由不同的作者),以在不同的游戏中实现稳定的学习