标题: 围棋AI的鲁棒性挑战:对KataGo的防御尝试与分析 [打印本页] 作者: xiejin77 时间: 2024-8-3 08:59 标题: 围棋AI的鲁棒性挑战:对KataGo的防御尝试与分析 围棋AI的鲁棒性挑战:对KataGo的防御尝试与分析: O: {1 n0 p( o3 X
1 引言 * x4 |: \3 h3 B6 @% J1.1 研究背景与动机 m" T9 o, E( b. q; a$ D: }: Z人工智能(AI)系统在社会各个领域的应用日益广泛,尤其是在安全关键系统中的使用,因此确保AI系统的鲁棒性变得至关重要。然而,尽管当前AI系统的平均性能正在迅速提升,但如何构建在最坏情况下仍能保持良好表现的AI系统仍然是一个悬而未决的难题。事实上,从围棋AI、图像分类器到大型语言模型,诸多领先的AI系统在面对精心设计的对抗性输入时都表现出了严重的脆弱性,极易遭受灾难性的失败。这些发现引发了人们对AI系统鲁棒性的广泛关注与担忧。" D6 h- q4 o& z% X( K0 {
- ~. ]" Q/ a% L* ~7 Z
Meta和Fair研究人员的论文《Can Go AIs be adversarially robust?》选择以围棋AI为切入点来研究AI系统的鲁棒性问题,主要基于以下考虑:首先,与开放式任务相比,在围棋这样一个狭窄领域内实现AI系统的鲁棒性应该更容易一些。其次,围棋是一个零和博弈,这意味着理论上存在一种策略可以在保持良好平均性能的同时实现完全的鲁棒性。相比之下,图像分类等问题在原始样本和对抗样本上的准确率之间存在着根本的权衡。此外,围棋在推动AI领域进步方面有着良好的历史记录,曾激发了AlphaZero、MuZero等算法的诞生。因此,围棋AI的鲁棒性研究有望为开发鲁棒的AI系统提供重要启示。% [9 K5 }. g M, A9 Z+ u# ~3 |
& H% D" M! ~ m# ]; H% O. L
1.2 研究目标与方法概述3 a* h2 q6 L$ t+ i! C6 n# m
Wang等人发现了一种"循环攻击"策略,可以击败包括当前最先进的开源围棋AI KataGo在内的多个超人级围棋AI。本文的主要目标是提高KataGo的鲁棒性,即确保它: , m" z. Y* {; {3 C: _& H, {; U: ?. U+ E1 Z3 y5 y4 j, z$ e
(a)不会犯下人类很容易纠正的致命错误; 3 w9 ~+ t( L" T) T' i1 E: l# \9 j4 D* N2 n# w) x3 t! l. s" T
(b)不会被对手以较小的计算代价可靠地击败(具体标准见第2节)。 + R3 J& j6 z, p) F4 W0 q' X# R, `) L5 A9 H- a, m% s, \, {
为实现上述目标,我们探索了三种直观的防御策略(图1.1),( Q4 Q+ c, Q }6 f" D" H& x
- ]0 [5 z: w$ s图片 ( Y6 J7 n4 p; E' G9 e% P" h( Z q, X& t; Z. E( P
但遗憾的是,实验结果表明这三种防御都未能完全奏效。具体而言,我们发现攻击者以相对低廉的计算成本就能训练出新的对抗模型来可靠地击败我们的防御系统,并诱使其以人类不会犯的方式犯下严重错误。 ' b3 z. G6 f1 T3 K1 H9 L " W9 }# a% }" `第一种防御策略是基于位置的对抗训练(positional adversarial training),即将Wang等人循环攻击的样本加入到KataGo的训练数据中(第3节)。通过这种方式得到的防御模型确实能够有效抵御Wang等人原始的攻击模型。然而,我们发现仅需用相当于防御训练19%的计算量对原始攻击模型进行微调,就能使其对防御模型的胜率从0%重新提高到91%。更糟糕的是,这个微调后的攻击模型仅仅使用了原始策略的一个细微变种就取得了压倒性优势。此外,通过微调一个较早的攻击模型,我们还发现了一种全新的"送子攻击"(gift attack,图3.2b),防御模型同样无法抵御。# ^+ ~/ B( D: u4 m2 i
6 Q* |& R1 s. R( l5 @% |% I% k4 C图片 . m3 X4 F# E) p; a4 V0 H+ E # [) x! r+ r' ]" j6 s+ y- B- w; G2 t尽管最终未能取得成功,但第一种防御策略表明,针对特定攻击进行防御是可行的。这启发了我们设计第二种防御方法——迭代对抗训练(iterated adversarial training),它模拟了一个"军备竞赛"过程:攻击者持续寻找新的攻击方式,防御者则不断学习应对之道(第4节)。遗憾的是,实验显示这种方案与基于位置的对抗训练有着相同的弱点。得到的防御模型虽然能抵御Wang等人原始的循环攻击,但攻击者仅需用防御训练5%的计算量就能找到一种新的循环攻击变种("atari循环攻击",图4.3),在81%的对局中击败防御模型。 ! \: ^4 z; Y% j5 ~* f- [3 I+ J) M& p) }: K% B
图片! s' X, }$ }3 ?! Y# O0 `/ p
8 c" h# K. _4 U) v6 D
我们测试的最后一种防御是将KataGo所用的卷积神经网络(CNN)替换为视觉transformer(ViT)结构(第5节)。这背后的动机是检验一个假设,即Wang等人发现的循环攻击漏洞是否源于CNN结构的归纳偏置缺陷。为此,我们训练了有史以来首个达到职业水平的基于ViT的围棋AI系统。然而实验结果否定了上述假设,表明ViT模型同样难以抵御循环攻击策略。 3 W7 x* }" X0 x# x8 n( J4 i) P0 f+ H: V) m6 _* U
总的来说,我们的研究结果表明,即便在围棋这样狭窄的领域内,构建鲁棒的AI系统也面临着相当大的挑战,本文探索的防御方法都未能提供一个完整的解决方案。事实上,我们的一些防御模型甚至会输给人类棋手(附录H)。尽管如此,个别防御策略还是展现了一定的潜力,量化实验显示攻击这些模型需要付出更高的代价(第7节)。因此,我们相信,通过持续不懈的努力,至少在特定领域内实现AI系统的鲁棒性是有希望的。然而,达成这一目标所需的路径可能与追求卓越的平均性能大相径庭。 ) G' _# {2 [" s( R3 k) V8 K + H& L2 U6 ^7 j5 B4 j2 威胁模型与鲁棒性定义 6 D6 s1 p8 ?, }8 N+ s2.1 威胁模型描述 " i( a( d; s; \1 P' W3 h本文沿用了Wang等人在两玩家零和马尔可夫博弈中的威胁模型设定。具体而言,威胁方(threat actor)训练一个"攻击者"(adversary)模型,目标是最大化其与作为"受害者"(victim)的另一个模型对弈时的胜率。威胁方对受害者模型拥有灰盒访问权限,即可以用任意输入对受害者的策略网络进行任意次数的采样查询,但无法直接访问模型权重或利用梯度信息。+ z" @1 w/ B8 m7 ~0 e$ ~9 }% n
$ k7 S, V5 [9 W/ A
2.2 鲁棒性的三个定义7 p9 ^. {4 m: z! G$ l* @
与"-球"鲁棒图像分类等设定不同,如何定义围棋AI的鲁棒性并不是一件显而易见的事。本文从"最小化被攻击者利用的可能性"这一中心思想出发,提出了三个互为补充的鲁棒性定义。 + \+ V) E! }" w @3 `/ ]8 w 8 b# _( W# X2 s% U8 T首先,我们希望围棋AI具备"人类鲁棒性"(human-robustness),即AI系统不应犯下人类不会犯的致命错误(附录B.1)。其次,围棋AI应具有较高的"训练计算鲁棒性"(training-compute-robustness),即攻击者需要花费大量的计算资源才能训练出一个能稳定击败受害者的模型(附录B.2)。最后,我们较为推测性地提出了"推理计算鲁棒性"(inference-compute-robustness)的概念,即受害者模型应该能够通过在推理阶段增加计算量来高效克服自身的脆弱点(附录B.3)。这些鲁棒性定义的提出主要基于它们对围棋策略乃至更一般的AI系统都具有适用性。 + Y. w0 _8 E1 | . v y6 z' o/ |5 y6 B5 N8 T2.3 攻击方法概述 r% @6 X% k* X& ]2 u2 `3 H6 X
为了对防御策略进行对抗训练和测试,本文采用了Wang等人最新的攻击方法来训练攻击模型。Wang等人使用受害者对弈(victim-play)的方式训练攻击模型,即攻击者与受害者模型的一个冻结副本进行对弈,并只从攻击者的落子中采样训练数据。攻击模型使用对抗性蒙特卡洛树搜索(Adversarial MCTS, A-MCTS)来选择落子,A-MCTS对标准MCTS算法进行了修改,使其在遍历对手落子节点时会调用受害者模型的策略网络。此外,攻击模型采用课程学习,会在胜率超过一定阈值后更换更强的受害者模型作为对手。本文遵循Wang等人的做法,使用600次A-MCTS搜索来评估攻击模型的每一步落子。 , D$ a" Z( B* d5 r: d- e & V* `/ x" N, D7 H4 \3 `& VWang等人最初训练的基准攻击模型base-adversary是以2022年的某个KataGo模型base-victim为目标的。本文中,我们通常以base-adversary为起点warmstart对抗训练。在使用4096次搜索时,base-adversary对base-victim的胜率为97%。为了探索更多样化的攻击,我们在一些实验中使用base-adv-early作为warmstart的起点,它是base-adversary的一个早期checkpoint,仅用了base-adversary 7%的训练量就能在受害者使用1次搜索时击败base-victim。训练细节与参数设置请参见附录A和C。0 h W- j3 M" w' `4 m+ E. P
9 p' P5 L! Y4 R) c
3 基于位置的对抗训练# `9 k# ^/ ^ N9 ^. m1 F4 s
KataGo官方的训练流程中就采用了基于对抗位置的对抗训练。然而,我们发现即便如此,KataGo在2023年底的最强模型dec23-victim仍然存在漏洞。通过微调,我们训练出两个新的攻击模型:第一个模型continuous-adversary在与dec23-victim的4096次搜索对局中取得了65%的胜率,仍然是循环攻击的一个变种;第二个模型gift-adversary则在与512次搜索的dec23-victim对局时以75%的胜率获胜,使用了一种全新的"送子"漏洞(但其表现不如continuous-adversary在高搜索数下稳定)。这两种攻击都可以被人类专家复现(附录H)。) x5 n8 e! b" F' H$ p7 b3 w
$ n1 p- ? ?) k5 {( ^
3.1 防御方法论 , ~' `9 x. ]4 ?' e我们关注的是KataGo主训练流程中的模型,在发现循环攻击漏洞后不久,该训练就开始引入针对循环位置的对抗训练。自2022年12月起,KataGo有0.08%的自我对弈游戏是从一组基于base-adversary策略手工设计的位置开始的。随着网上棋手发现了循环位置的不同变种,更多位置被加入训练集,种子自我对弈游戏的比例也上升到了几个千分点。得到的模型在抵御base-adversary时表现不俗。 1 k8 |! J6 G% F: K* j- v }' O6 ]* X1 W2 ?尽管取得了积极进展,但Wang等人仍然通过微调base-adversary训练出了attack-may23模型,在4096搜索数下以47%的胜率击败了5月份的对抗训练checkpoint may23-victim。在此基础上,我们评测了训练量为may23-victim两倍多的dec23-victim模型。 0 G$ j2 w5 \! D* i ; A! h' ~! e# l/ _! U: F3.2 持续对抗者(continuous adversary)分析9 L0 U( z( y6 W6 G' y* k
continuous-adversary在attack-may23的基础上,使用受害者对弈的方式针对dec23-victim进行了微调。具体而言,continuous-adversary采用了一个渐进提高受害者搜索预算的课程,同时周期性地或"连续地"将受害者更新为最新的KataGo模型,整个训练持续了数月。( m" W% s. W6 F
& V9 D% i0 Z7 M* G! l
最终得到的continuous-adversary在与dec23-victim的512次搜索(超过了64次搜索的超人表现门槛,见附录G)对局中取得了91%的胜率。即便面对高搜索数的受害者,该模型的攻击效果也很稳健,在4096搜索数下仍有65%的胜率(图3.1)。 . B7 J4 F+ ~) T ) [: A. C! P! r1 m4 Z) N9 n+ B图片, F) @/ {& i! ~7 v' F5 _: {
7 l2 m a4 M; `% W+ Q' ~
值得注意的是,尽管continuous-adversary的攻击仍然是循环型的,但与Wang等人原始的循环攻击不同,它在循环内部几乎总是形成相同的局部形状(如图3.2a所示,也可参见图K.3)。 5 L* ]$ k" s- X9 u8 d, | ) @+ _! S" q% G' T; S' g- i图片 2 g1 \- a9 i. m4 y: [; r2 g7 T% W2 n b+ U: V2 \* x