前言
国际象棋和扑克等零和博弈抽象地是评估agent对的函数,例如将它们标记为“赢家”和“输家”。如果博弈是近似传递的,那么self-play会生成强度增加的agent序列。然而,非传递博弈,如石头剪刀布,会表现出策略循环,并且不再有明确的目标——我们希望agent增加实力,但针对谁是不清楚的。作者引入了一个几何框架,用于在零和博弈中制定agent目标,以构建产生开放式学习的自适应目标序列。该框架允许我们对非传递博弈中的群体表现进行推理,并能够开发一种新算法(修正纳什反应,PSROrN),该算法使用博弈论的niching(一类尝试在一次运行中收敛到多个解决方案的方法,涵盖多个局部最优)来构建不同的有效agent群体,产生比现有的算法更强的一组agent。
聪明的学生要比优秀的应试者好,因为在Tripos中得分最高的人早已被遗忘。现代学习算法就是优秀的应试者,一旦问题被打包进一个合适的目标,深度学习算法通常会找到一个好的解。但在许多多智能体领域,进行什么测试,或者优化什么目标,通常是不明确的。作者提出一种算法可以自适应地、持续地提出新的、有效的目标,实现两人零和博弈中的开放式学习。
博弈中的学习通常保守地表述为训练agent平局或打败一般是一组固定的对手。然而,生成有用的对手来训练和评估的双重任务尚未得到充分研究。打败你认识的agent是不够的;产生更好的、表现出你不知道的行为的对手也很重要。在非传递博弈中进行self-play往往会陷入循环,导致agent整体能力没有提升,因为其相比一个对手提升了,相比另一个对手也会下降。
虽然类似多目标优化,但作者同时关心产生和优化目标。GAN是零和博弈,但不对称,作者认为不在讨论范围内。
Functional-form games (FFGs)
假设给定一对agent,我们可以计算在一场游戏中一个打败另一个的概率,则:
定义1:假设W是一组由神经网络权重参数化的agent,一个对称函数式零和博弈是一个但对称函数, ϕ ( v , w ) = − ϕ ( w , v ) \phi(v,w)=-\phi(w,v) ϕ(v,w)=−ϕ(w,v),评估agent对,>0是win,<0是loss,=0是平局
其中,FFG中的策略是参数化的agent,agent的参数化被并入 ϕ \phi ϕ,因此博弈是agent结构和环境本身的复合。
令 P ( v > w ) P(v>w) P(v>w)代表x打败w的概率(这里原文符号不是>,但是我没找到怎么打,不过用什么符号不影响理解),可以被计算或估计,win/loss概率变成反对称形式就是 ϕ ( v , w ) : = P ( v > w ) − 1 2 \phi(v,w):=P(v>w)-\frac{1}{2} ϕ(v,w):=P(v>w)−21或 ϕ ( v , w ) : = log P ( v > w ) P ( v < w ) \phi(v,w):=\log \frac{P(v>w)}{P(v<w)} ϕ(v,w):=logP(v<w)P(v>w)。
由于其连续性,求解 FFG 需要不同的方法来求解一般式博弈。因此,作者开发了以下基本工具。
第一,curry算子,将两人博弈转化为一个agent到目标的函数:
第二,一个近似最优反应oracle,即给定agent v和目标 ϕ w ( ⋅ ) \phi_w(\cdot) ϕw(⋅),返回一个新的agent v ′ : = oracle ( v , ϕ w ( ⋅