n; C s' N, C; V6 N4.1 方法描述2 B, l7 B# e6 I
我们的防御流程包含了两个交替的阶段(图4.1)。在防御阶段,我们以最新的攻击模型为对手对防御模型进行微调。在攻击阶段,我们则固定防御模型,并训练一个针对它的新攻击模型。理想情况下,经过数轮迭代,防御模型应该能抵御攻击者找到的所有弱点。9 @1 U1 r0 D, l, `# v
$ H( `' h0 R+ G8 n2 k ?% H
我们以KataGo 2023年3月的一个模型作为种子防御模型victim-0,该模型没有接受过任何对抗训练。在第一轮防御训练中,我们从base-adversary的一个早期checkpoint base-adv-early进行warmstart,使用KataGo的标准自对弈方式训练一个更强的攻击模型adversary-1。具体而言,adversary-1除了与victim-0对弈外,还与自己的早期迭代对弈并更新模型权重。类似地,在随后的防御回合中,我们通过自对弈的方式在上一轮最佳攻击模型的基础上训练一个新的攻击模型。! H& A. d, U! k% i
% M4 ]2 ~5 r) d1 Q: d相应地,每一轮的防御模型victim-i是通过以adversary-i为对手对上一轮的victim-(i-1)进行微调得到的。在对弈中,我们让防御模型使用2倍于攻击模型的搜索预算,以鼓励其学习更鲁棒的策略。此外,我们引入了基于图像对抗训练的一些技巧,如循环学习率等。附录E中提供了完整的实现细节。 8 C9 a% _' l5 ~& l* Z& l" `+ V0 J, a* k# z
4.2 实验结果与分析" } G, F- O- j- ~1 Y% `
我们在4轮迭代后终止了训练,因为计算成本开始变得难以承受(累计使用了近100万个TPU-v4核心小时)。图4.2展示了每一轮adversary-i与victim-i在不同推理预算下的对弈结果。可以看出,第一轮的防御模型victim-1在抵御base-adversary方面取得了显著进展。然而,随着迭代的进行,防御模型的鲁棒性提升似乎出现了"饱和"。虽然victim-4能以67%的胜率击败adversary-3,但这一优势在面对最新的攻击模型adversary-4时就几乎完全消失了。; ^8 |/ q3 `( ~ o8 k: C3 c
0 Y: U( D: T+ u. h+ I0 L) Y: h6 i
图片 " N9 a' K4 C4 o" }# R+ a' b/ c8 S# K
我们对最终的攻防模型进行了更深入的分析。令人沮丧的是,我们发现adversary-4在victim-4身上发现了一个新的循环漏洞。如图4.3所示,adversary-4学会了把虎扑(tiger mouth)循环与征子直接结合起来,我们将其命名为"atari循环"。与之前的攻击相比,atari循环在局部更加紧凑,这可能使防御变得更加困难。事实上,在低搜索数下adversary-4能以81%的胜率战胜victim-4,而在高搜索数下这一优势仍然高达23%(图4.2)。 - P- ]6 h3 P! e% Q5 j y; z2 F7 e5 p5 T# }! f0 S/ S/ y; w9 O; }) F
我们进一步研究了不同轮次的攻击模型在victim-4上的表现。可以看出,随着迭代轮次的增加,攻击者对防御模型的胜率整体上升。这表明,连续对抗训练可能会"过度适应"早期的攻击,而忽略了攻击空间中的其他区域。有趣的是,无论搜索预算如何,最早期的攻击模型base-adv-early在victim-4上几乎保持50%的胜率。我们推测这可能是因为base-adv-early揭示了一些非常普遍的弱点,而迭代对抗训练无法根除这些缺陷。 ( n$ o) z& [/ C, `' \! s - t) P1 }% C! `4.3 防御效果评估3 H% a# w4 }& F# c) r: M. `
基于上述结果,我们认为简单的迭代对抗训练不足以让围棋AI实现充分的鲁棒性。尽管防御者努力适应攻击者的策略,但攻击者仍然能以相对较小的代价找到新的漏洞,其中一些甚至比原始的循环攻击更加有效。我们的分析表明,一些基本的弱点可能根植于防御模型中,无法通过表面的修补来解决。此外,与基于位置的对抗训练一样,迭代训练得到的防御模型在人类鲁棒性上也存在不足。, M* T; j; V- Z$ V8 d, \6 N
Z' h2 ^7 B- \( k+ z* x: U( B8 B
当然,我们尝试的迭代对抗训练方案还比较初步,还有许多值得探索的优化空间,如更细粒度的课程学习、更广泛的数据增强等。然而,鉴于连续对抗训练在图像分类等领域的长期发展,我们认为在围棋领域取得实质性突破可能需要更根本性的变革。 P3 I9 n& _& b& S. T$ P7 z' G1 m7 I7 i! t3 t1 D1 z8 [3 R9 _3 E: z
5 基于视觉transformer(ViT)的防御 9 r- b9 w* g5 ]6 L! _为了深入理解围棋AI的鲁棒性挑战,我们将视角转移到模型结构的选择上。我们注意到,几乎所有现有的高性能围棋AI,包括KataGo,都使用卷积神经网络(CNNs)作为骨干网络。然而,最近在计算机视觉等领域,基于transformer的模型如ViT开始展现出与CNN媲美甚至更强的性能。一些研究还表明,与CNN相比,ViT具有一些独特的归纳偏置,在对抗鲁棒性和零样本泛化等方面表现更好。因此,我们提出了一个问题:是否可以通过将CNN替换为ViT来缓解循环攻击漏洞?3 R, b5 p# P' r \" a7 f
- R; W' e' _2 B; u8 u
5.1 模型结构与训练方法 ; s7 g! n! n. G- C0 D6 w \; g为了回答上述问题,我们在KataGo的训练管道中用ViT取代了原有的CNN骨干网络,几乎没有修改其他组件。我们测试了三种不同尺寸的ViT变体:ViT-Base、ViT-Large和ViT-Huge,其参数量分别约为89M、305M和1.3B。为了进行公平比较,我们选择dec23-victim作为CNN基线模型,其大小与ViT-Large相当。我们使用与dec23-victim相同的非对抗性数据集来训练ViT模型,没有引入任何专门针对循环攻击的对抗训练。模型实现细节请参见附录F。- ]- L# O, V; J: e" O9 i. C
3 P4 a$ J, m9 \6 G4 f
5.2 实验结果与分析 & F1 x: p8 u5 r+ v$ n令人惊讶的是,我们发现ViT模型在标准围棋基准上的平均性能可以与最好的CNN不相上下。例如,我们的ViT-Large在KataGo评级等级(KR)上达到了8d,与dec23-victim的水平相当。更重要的是,所有三种尺寸的ViT在与职业棋手的对局中都表现出了接近人类顶尖水平的实力。据我们所知,本工作首次证明了transformer类模型可以在围棋领域达到如此高的竞技水平。 3 }$ J, c* x2 W! O8 E - h' ~" K6 n6 ] F5 }然而,在对抗鲁棒性方面,ViT模型的表现却令人失望。我们发现最终训练的ViT-Large很容易被之前针对dec23-victim训练的continuous-adversary攻击,后者在与1024次搜索的ViT-Large对弈时以98%的胜率获胜。更令人沮丧的是,就连针对早期非鲁棒KataGo训练的攻击模型base-adversary,也能在同等条件下以82%的胜率击败ViT-Large。# o/ M% x* F' S# }8 L( i: ^
7 {, U: l! `* F0 R
对ViT-Large模型在循环攻击下的弱点进行分析后,我们发现它犯的错误与dec23-victim的循环陷阱非常相似。这表明CNN模型容易受到循环攻击可能不仅仅是其结构归纳偏置的问题,更深层次的原因可能在于训练范式的选择。事实上,将基于位置的对抗训练方法(第3节)应用于ViT-Large,可以显著提高其对抗连续攻击者的鲁棒性。这进一步支持了我们的推测。 ( |" w+ r4 t6 G7 i0 N3 t. z% {; ~! i5 V9 n; j, o" d2 p; _
5.3 防御效果评估 8 E, U# K$ g4 Y$ HViT模型虽然在标准性能上令人振奋,但它们在没有专门对抗训练的情况下仍然难以抵御循环攻击。这一发现部分否定了我们最初的设想,即仅仅通过改变模型结构就可以解决鲁棒性问题。事实上,由于ViT模型在对弈中表现出与dec23-victim相似的弱点,它们在人类鲁棒性方面也得分不高。 9 | b0 U* J9 X ) h8 |, G5 v; j% x! H( G/ p8 j尽管如此,我们认为ViT模型在对抗鲁棒性方面可能还有一些优势有待挖掘。首先,ViT模型可能比CNN更容易通过基于目标的对抗训练来强化,因为transformer中的自注意力机制天然就关注全局信息。其次,ViT模型强大的few-shot泛化能力可能有助于其在看到新的攻击时快速适应。最后,还有许多针对transformer的对抗防御技术尚未在围棋领域进行探索。因此,尽管目前的结果不尽如人意,但将CNN替换为ViT作为围棋AI鲁棒性的一种潜在解决方案仍然值得进一步研究。 ! P: g0 z( N3 C+ N$ F ! c* c. ?7 _1 W9 ]$ `3 w8 l6 对手博弈防御初探) d& c* w7 [$ m q U0 d
在之前的防御尝试中,我们主要关注通过对抗训练来强化个体模型的鲁棒性。然而,博弈论告诉我们,在对抗环境中,个体的最优策略往往取决于对手的行动。受此启发,我们提出了一种新的防御思路:让防御模型在对弈中明确考虑对手的反应,主动规避可能导致失误的行动序列。我们将这种防御策略称为对手博弈防御(adversarial game defense, AGD)。) k% H5 b' |7 i* p: P* |7 T4 g
( E* d6 E" u5 s( v( |- J
6.1 对手模型的构建, e- }- i6 ?5 k+ h" |. M
我们采取了一种简化的方法,即将一个经过微调的攻击模型用作对手模型。具体而言,我们选择continuous-adversary作为种子模型,并在高质量的人类对局数据上对其进行微调,使其更接近人类棋手的风格。我们将这个模型命名为human-like-adversary。尽管human-like-adversary可能无法完美复现真实对手的行为,但我们认为它足以作为一个有趣的起点。 4 v9 c" s+ v" T" Z% c. m4 U1 _ ?3 m5 o) ^" r5 X) {' D; b$ h* K! ]
6.2 将对手博弈嵌入到MCTS中 9 n1 c0 K0 b2 n$ x" ^2 k( v5 V在标准的MCTS算法中,每个节点的值通常由一个策略网络和一个价值网络联合估计。为了将对手博弈引入其中,我们对叶节点的评估过程进行了修改。具体而言,我们让策略网络生成候选落子af后,将每个候选落子及其后续状态sf输入到对手模型中,获得对手的反应ar。然后,我们将(sf, ar)作为新的叶节点,由价值网络进行评估并回传。直观上,这相当于在搜索树中额外展开了对手的一步,防御模型由此可以考虑到对手的即时反应,选择对自己最有利的落子。 2 [9 W& U4 S+ g, B8 D4 f' ~) ]4 o5 m1 j7 m: ?2 p
我们以ViT-Large作为基础模型,对其进行了2周的自对弈微调,过程中使用human-like-adversary作为对手模型嵌入到MCTS中。我们将微调后的模型记为ViT-Large-AGD。1 N# a2 }3 f3 m. s' G6 i
. Y- O- ~# \0 e5 ]) _: t! Q
6.3 实验结果与分析 3 k2 S; }8 D- {5 w& r/ {& }, R% `我们首先评估了ViT-Large-AGD在标准围棋基准上的表现。如所示,引入AGD后,ViT-Large的棋力出现了轻微下降(KR从8d降至7d)。这可能是因为在搜索过程中考虑对手的反应会稍微偏离最优路径。不过,ViT-Large-AGD在面对人类棋手时仍然表现出了接近顶尖的实力。 4 K: b2 l& d$ l4 o # {6 _/ j2 \, k& ?1 h接下来,我们考察了ViT-Large-AGD在循环攻击下的表现。出乎意料的是,ViT-Large-AGD展现出了显著的防御效果。在与1024次搜索的continuous-adversary对阵时,ViT-Large-AGD的胜率从2%提高到了45%,而ViT-Large在引入基于位置的对抗训练后的胜率也只有33%。更令人印象深刻的是,ViT-Large-AGD甚至能以31%的胜率击败搜索131072次的continuous-adversary,远高于任何之前的防御方法。" W7 D6 M, O( \% X
, {5 M H e- b, l
为了进一步理解AGD的作用机制,我们分析了ViT-Large-AGD在循环攻击下的博弈过程。面对continuous-adversary的循环诱导,ViT-Large-AGD会主动选择打断循环的应对,从而避免了恶性循环陷阱。有趣的是,ViT-Large-AGD的这些应对往往与人类棋手惯用的化解手法非常相似。这表明通过对手博弈,ViT-Large-AGD学会了在看似危险的循环中辨别真正的威胁,并做出了更加人性化的决策。" y `5 Z8 B, i- p3 o
+ D) e+ r8 l3 S3 U1 g$ {; L$ u
6.4 防御效果评估3 h, ]) r: h8 H$ L$ D9 F1 A
尽管还处于初步阶段,但对手博弈防御为围棋AI的鲁棒性问题提供了一个有前景的新思路。通过引入对手模型并将其嵌入到搜索过程中,AGD使防御模型能更全面地评估局面,预见对手的反应,进而规避可能的陷阱。我们在ViT-Large上进行的实验表明,即使使用一个简单的human-like-adversary作为对手模型,AGD也能大幅提高模型抵御循环攻击的能力,同时在面对人类棋手时保持较高的竞技水平。) m. m- H4 R% m3 F+ e9 p
5 D- f3 w3 w0 f6 V
当然,AGD还有许多值得进一步探索的问题。例如,目前我们只在搜索树中展开了对手的一步反应,而现实中的博弈往往涉及多轮交互。因此,一个自然的想法是将对手模型的预测向更深层次扩展。此外,虽然human-like-adversary作为一个起点还不错,但它与真实对手的行为仍有差距。未来可以考虑通过不断地在线学习来动态更新对手模型,使其更好地匹配真实对手的特点。最后,我们目前只在ViT模型上测试了AGD,但这一防御框架应该可以很容易地迁移到其他模型结构中。总的来说,我们相信AGD是一个很有潜力的防御方向,有望与其他防御技术相结合,进一步提升围棋AI的鲁棒性。 5 ]! X7 y4 i D' M. W " W# p. {3 K1 E9 G% U7 量化分析与综合讨论6 r5 e2 Y! S; f
在之前的章节中,我们从不同角度探索了围棋AI面临的鲁棒性挑战以及可能的解决方案。本节将对这些结果进行量化分析和综合讨论,以期对围棋AI乃至其他领域的鲁棒机器智能研究提供启示。 3 n q7 v) A# ]& X3 ~8 _ M; b8 Y' _/ C. d2 L2 h; |8 t; ]
7.1 防御效果的量化比较 3 |" Z8 |0 o: [/ t! G" A e为了系统评估不同防御方法的有效性,我们引入了一个量化指标——攻击成本(attack cost)。直观上,攻击成本衡量了攻击者为达到一定胜率所需付出的计算代价。我们用攻击模型相对于防御模型的搜索次数比来度量这一成本。例如,如果一个攻击模型需要搜索256次才能达到50%的胜率,而防御模型只搜索64次,那么攻击成本就是256/64=4。攻击成本越高,说明防御模型的鲁棒性越强。* }# g9 w$ a: N2 Q
) T# c0 @8 Z) S. c( k$ ^% b
根据论文的图表,展示了不同防御模型在面对continuous-adversary时50%胜率所对应的攻击成本。可以看出,基于位置的对抗训练和迭代对抗训练都能显著提高攻击成本,但效果并不理想。例如,dec23-victim的攻击成本虽然是非鲁棒模型的3倍,但仍然不到10。迭代对抗训练得到的victim-4略好一些,但其攻击成本也只有24。相比之下,ViT-Large-AGD展现出了明显更强的防御效果,其攻击成本高达128。值得一提的是,攻击成本对应的是50%胜率,而在更高胜率下ViT-Large-AGD的优势会更加明显。1 v7 Y! w& y- z: U. c$ b
) O/ |1 O% v2 H% o4 Z
7.2 人类鲁棒性的定量评估 ' R! b" I7 F$ Z1 L1 T' g3 q" f( Z除了抵御刻意设计的攻击外,我们还希望围棋AI能在面对人类棋手时表现出鲁棒和可解释的行为。为了定量评估这一人类鲁棒性属性,我们请3位职业棋手(1个九段和2个八段)分别与不同的模型进行了10局对弈,并记录了每个模型犯下明显错误导致失败的频率。我们将这个频率称为失误率(blunder rate),失误率越低,说明模型的人类鲁棒性越好。 4 d# n) w6 q/ D% _$ s ( E8 Q! r* a! r非鲁棒的KataGo模型(如base-victim)的失误率非常高,接近30%。即使是接受过防御强化的模型,如dec23-victim和ViT-Large,其失误率也在15-20%。相比之下,ViT-Large-AGD的表现要好得多,其失误率只有8%,与人类职业棋手处于同一水平(附录H)。有趣的是,ViT-Large-AGD的这一失误率甚至略低于使用高达131072次搜索的dec23-victim,表明通过AGD,围棋AI可以在更低的计算预算下实现更高水平的人类鲁棒性。 m+ `, S5 x# I8 E0 x 0 R7 H5 Y" Q% K9 [# b% N2 V7.3 讨论与未来工作 , s9 o3 z2 L( ^0 {: {9 n综合以上实验结果,我们可以得出以下几点认识: 7 A# w: K2 |% B+ z & v7 C" A2 c2 l$ B循环攻击揭示了当前围棋AI在鲁棒性方面的严重不足。这一问题不仅局限于特定的模型结构(如CNN),也难以通过常规的对抗训练来解决。0 Z' O6 u- M* U( H( W2 i# W