跳转到内容

自博弈与 PSRO

朴素自博弈可能循环(石头剪刀布)。虚构自博弈对历史平均策略最优响应;PSRO 把对手池当作元博弈、用元求解器选择混合。本章讲 AlphaStar 的联赛训练与 CFR 在扑克中的成功。

自博弈(self-play):智能体与自己(的副本)对战学习——对手免费、环境自动生成、难度随自己提升。AlphaGo/AlphaZero 的核心引擎。

但朴素自博弈有一个结构性缺陷:可能循环。标准例子是石头剪刀布:击败当前对手的策略被新对手利用,如此往复,策略在三个"互相克制"的策略间循环,永不收敛——每个均衡点都被路过但不停留。原因是自博弈只对当前对手最优响应,而当前对手是不合格的训练信号。

虚构自博弈:对历史平均最优响应

Section titled “虚构自博弈:对历史平均最优响应”

虚构自博弈(fictitious self-play, FSP):对历史平均策略做最优响应,而不是对当前策略。平均掉循环的震荡,收敛有保证(两人零和博弈中收敛到纳什均衡)。直觉:对手是"它最近所有行为的平均",单个策略的循环被历史稀释。

PSRO(Policy Space Response Oracles, Lanctot et al., 2017)把自博弈系统化:

  1. 维护策略池 Π\Pi(已发现的策略,每个智能体一个池);
  2. 元博弈:把"从池中选策略"本身当作一个博弈——收益矩阵由池中策略两两对战的结果给出;
  3. 元求解器:在元博弈上解均衡(纳什、α-rank、投影等),得到一个混合策略(怎么在池中混合);
  4. 最优响应(ORACLE):对元求解器的混合策略,训练一个新的最优响应策略,加入池中;
  5. 重复。

PSRO 统一了自博弈的谱系:朴素自博弈 = 元求解器选纯策略 + ORACLE 对它响应;虚构自博弈 = 元求解器选历史平均。对手多样性是避免循环的关键——池中策略覆盖了对手空间,循环被显式的元博弈取代。

AlphaStar (Vinyals et al., 2019,星际争霸 II) 把 PSRO 的思想工程化:联赛训练(league training)——

  • 主智能体(main agents)池、主剥削者(main exploiters)、联盟剥削者(league exploiters)多类角色并存;
  • 剥削者(exploiter)角色专司找当前池的漏洞:对主智能体最优响应、击败它们,把漏洞暴露成训练信号——"剥削者赢不了正式比赛,但它们让主智能体无懈可击";
  • 对手采样按"谁最能提供学习信号"加权(优先打最近被自己克制的与克制自己的)。

联赛训练是"对手多样性 + 剥削信号"在超大规模下的实现,是 AlphaStar 在人类级别对局上成功的关键组件之一。

CFR(Counterfactual Regret Minimization, Zinkevich et al., 2007)系方法在不完全信息博弈(扑克)中占主导:用反事实遗憾的加权平均构造策略,收敛到纳什均衡;Libratus/Pluribus 等扑克 AI 的引擎。与自博弈 + 搜索(AlphaZero)的分界:

  • 完全信息:自博弈 + 搜索可行(双方看到同一状态,无需信念建模);
  • 不完全信息:需要显式处理信念与信息集——CFR 的反事实 regret 正是为此设计(对"没走的信息集"也计算遗憾)。
  • 对手多样性是避免循环的关键
  • CFR 系列在不完全信息博弈中占主导
  • 联赛训练中的"剥削者"角色