プロのチェス界では、対面対局でもオンライン対局でも、不正行為の話題が以前よりよく聞かれるようになった。
世界最大のチェスサイトであるChess.comは、プレーヤーの不正をどう検知しているかについては明かしていないが、人間が特定の手を指す可能性を予測するために機械学習を使っていることは認めている。
こうした機械学習モデルは、チェスの公正さを今後も維持するうえで重要な役割を果たす可能性がある。
数年前、チェスサイトのChess.comは一時的に出場停止にした米国のグランドマスター、ハンス・ニーマンを、オンライン対局でコンピュータープログラムから助言されたとサイトが疑う手を指したとして。報道によると、それ以前には彼の師であるマキシム・ドゥルギーも出場停止にしていた。
また、今月初めのシンクフィールド・カップでは、世界王者のマグヌス・カールセンが、19歳のニーマンとの対局で不出来な内容を見せた後、コメントを控えて投了した。その後、ニーマンが最近も不正を続けていると考えているためだったと述べている。
もう一人の参加者であるロシアのグランドマスター、イアン・ネポムニャシチは、ニーマンのパフォーマンスを「驚くほど素晴らしい」と評した。ニーマンは過去のオンライン対局で時折不正をしたことを認めている一方、強く否定しているのは、対面のチェス大会で不正をしたことだ。
しかし、世界最大のチェスサイトであるChess.comは、プレーヤーが不正をした可能性が高いとどう判断するのだろうか。使用しているコードを公開すれば、不正を企てる人々に検知を避ける方法を知られてしまうため、公開できない。サイトは次のように述べている。
法的および実務上の事情から、公正なプレーを評価するツールで使われるデータ、指標、追跡方法の全容をChess.comが公開することはできません。しかし、Chess.comのシステムの中核には、人間のプレーヤーがエンジンの最善手と一致する確率を評価する統計モデルがあり、さらに歴史上屈指のチェスプレーヤーたちによる、不正のないことが確認されたプレーを上回るかどうかも評価していると言えます。
世界経済フォーラムは、人工知能の倫理的な開発をどのように確保しているのでしょうか。
幸い、研究を通じて、このサイトがどのような手法を使っている可能性があるかを知る手がかりが得られる。
人間対AI
AI企業のDeepMindが、戦略ゲームの囲碁を打てるプログラムAlphaGoを開発した際、あらゆる局面で人間がどの手を指すかを予測するように学習させた。
人間の手を予測することは、機械学習の基本である教師あり学習の問題だ。人間の対局から得た局面の例(データセット)と、それぞれの局面で人間が指した手の例(ラベル)が大量にあれば、機械学習アルゴリズムを訓練して、新たなデータ点のラベルを予測できる。そこでDeepMindは、あらゆる局面で人間が特定の手を指す確率を推定するようAIを学習させた。
AlphaGoは人間のライバルを見事に破り、2017年に李世乭に勝利した。対局中、AIが指した有名な手の一つが「37手目」だった。主任研究者のデビッド・シルバーは、ドキュメンタリー映画『AlphaGo』の中で、「AlphaGoは、37手目が人間のプレーヤーによって指される確率は1万分の1だと示しました」と語っている。
つまり、人間の囲碁棋士を対象にしたこの機械学習モデルによれば、ある人が37手目を指すのを見た場合、その人自身がその手を思いついたのではないことを示す証拠にはなる。しかし、もちろん証明にはならない。人間なら誰でも指すことはできる。
誰かが対局で不正をしたと強く確信するには、たくさんの手を調べる必要がある。たとえば研究者たちは、プレーヤーの多数の手をまとめて分析し、異常を検知する方法を研究している。
Chess.comは、どの局面で人間がどの手を指す可能性があるかを予測するため、機械学習を公然と利用している。実際、有名なチェスプレーヤーそれぞれをモデル化しており、実際にその相手と対局できる。おそらく、不正の検知にも同様のモデルが使われている。
最近の研究では、人間が特定の手を指す可能性を予測するだけでなく、その手がどれほど優れているかも考慮することが重要だと示された。これは、手が偉大な棋士たちの「不正のないことが確認されたプレーを上回る」かどうかを評価するというChess.comの説明とも一致する。
しかし、どの手が他の手より優れているかをどう測ればよいのだろうか。理論上、チェスの局面は「勝ち」(勝利を確実にできる)、「負け」(相手が勝利を確実にできる)、「引き分け」(どちらも勝利を確実にできない)のいずれかであり、局面を悪化させない手ならどれも良い手となる。しかし現実には、コンピューターは人間より先の手を計算して選ぶ能力に大きく勝るものの、多くの局面では、コンピューターですら勝ち、負け、引き分けのどれになるかを確実には判断できない。まして、それを証明することはできない。証明には通常、指数的に増えるゲーム木の末端をすべて調べる必要があり、計算量が膨大になるからだ。
そこで人間もコンピューターも、「ヒューリスティクス」(経験に基づく推測)を使って各局面の「価値」を評価し、どちらのプレーヤーが勝つと考えられるかを推定する。これも機械学習の問題として扱える。多数の盤面をデータセットとし、勝者をラベルにすれば、アルゴリズムを訓練して、ある局面から誰が勝つかを予測できる。
通常、この目的に使われる機械学習モデルは、次に起こりそうな数手をある程度考え、双方が到達できる局面を検討したうえで、そうした将来の局面についての「直感」を使い、現在の局面を評価する。
しかし、ある局面から誰が勝つかは、プレーヤーの実力によって変わる。そのため、特定の対局に対するモデルの評価は、訓練データセットに含まれる対局を誰が指したかに左右される。通常、チェス解説者がさまざまな局面の「客観的価値」と言うときは、双方を利用可能な最高性能のチェスAIが指した場合に、その局面からどちらが勝ちそうかを意味する。しかし、人間のプレーヤーが最終的に指す必要のある局面を考えると、この価値基準が常に最も役立つとは限らない。したがって、Chess.com(あるいは私たち)が何を「良い手」とみなすべきかは、はっきりしない。
もし私がチェスで不正をして、チェスエンジンが提案した手をいくつか指したとしても、勝利に結びつくとは限らない。その手は、私には思いつかないような鮮やかな攻撃の布石かもしれず、残りの対局もチェスエンジンに指させない限り、その好機を無駄にしてしまうだろう。(Lichess.orgによると、執筆時点で私は3,049局のブリッツ対局を指しており、あまり高くない私のELOレーティングは1632なので、良い戦術をあれこれ見逃すと思ってもらってよい。)
不正の検知は難しい。オンライン対局で相手が不正をしているのではないかと思っても、確かな根拠をもって見抜くことはまずできない。人間が大きく異なるスタイルで指した何百万もの対局を見てきたわけではないからだ。膨大なデータで訓練された機械学習モデルが大きな強みを発揮するのは、まさにこのような問題だ。最終的に、そうしたモデルはチェスの公正さを今後も守るうえで不可欠となる可能性がある。


