AlphaGo (G検定)

AlphaGo

1. 定義と概要

AlphaGo(アルファ碁)とは、DeepMind社(Google傘下の英国のAI研究企業)が開発したコンピュータ囲碁プログラムです。2016年3月、韓国・ソウルで行われた五番勝負で、当時世界トップ棋士の一人である李世乭(イ・セドル)九段に4勝1敗で勝利し、AIがプロ棋士に勝ち越した事例として世界的に報じられました。

囲碁は盤面のパターン数がチェスや将棋を大きく上回り、力任せの全探索では手を読み切れないため、長らく「AIが人間に勝つのは当分先」とされてきた領域でした。AlphaGoは、有望な手の候補を絞り込むディープラーニングと、絞り込んだ手を先読みするモンテカルロ木探索(手を実際にシミュレーションして勝率を確かめながら有望な手を絞り込む探索方法。詳しい仕組みは別記事で解説します)を組み合わせることで、この壁を越えました。

李世乭戦での勝利は、ディープラーニング・探索・強化学習(試行錯誤を繰り返し、良い結果につながった行動を強めていく学習の方法)を組み合わせたアプローチがゲームAIの到達点を押し上げた出来事として位置づけられています。

2. 試験対策ポイント

AlphaGoの技術構成として理解するうえで中心になるのは、3つの部品の組み合わせです。次の一手の候補を絞り込むpolicy network(ポリシーネットワーク。次に打つべき有望な手の候補を絞り込むディープラーニングのしくみ)、盤面の優劣を評価するvalue network(バリューネットワーク。盤面を見てどちらが優勢かを判断するディープラーニングのしくみ)、そしてそれらを使って有望な手を先読みするモンテカルロ木探索(MCTS)が、その3つにあたります。探索そのものの詳しい仕組みはモンテカルロ法・プレイアウトを扱う別記事に譲ります。

AlphaGoはポリシーネットワークを強化学習(試行錯誤を繰り返し、結果が良ければ報酬を与えて学習させる手法)の自己対戦(セルフプレイ。AI同士を対局させて対局データを増やしながら学習する方法)によって強化しています。プロ棋士の棋譜を模倣する教師あり学習(正解が分かっているデータを手本にして学習させる方法)と、自己対戦による強化学習を段階的に組み合わせた学習プロセスが、G検定では論点になります。

対局結果については、成績と年代の対応関係が要点になります。相手と結果をセットにして並べると、次のとおりです。

時期 対戦相手 結果
2016年3月 李世乭(イ・セドル)九段 4勝1敗
2017年5月 柯潔(カ・ケツ)九段(当時の世界ランキング1位) 3戦全勝

囲碁AIとしての到達点を示したのが、この2つの対局です。さらに、後継版のAlphaGo Zero(2017年10月発表)は人間の棋譜を一切使わず自己対戦のみでゼロから学習し、ポリシーネットワークとバリューネットワークを1つに統合しました。この点と、AlphaZero(2017年12月発表)がAlphaGo Zeroのアルゴリズムを囲碁以外のチェス・将棋にも一般化した点は、AlphaGoとの違いにあたります。

3. 関連概念との比較・相違点

AlphaGo Zeroとの最大の違いは、学習データの有無にあります。AlphaGoは人間のプロ棋士の棋譜を使った教師あり学習を土台にしてから、自己対戦による強化学習で腕を磨きます。これに対しAlphaGo Zero(人間の棋譜を使わずゼロから自己対戦だけで学習したAlphaGoの後継版)は、ルールだけを与えられた状態から自己対戦のみでゼロから学習します。

ネットワーク構成にも違いがあり、AlphaGoはポリシーネットワークとバリューネットワークが別々に用意されているのに対し、AlphaGo Zeroはこの2つを1つに統合しています。

AlphaZero(AlphaGo Zeroの学習方法を囲碁以外のチェス・将棋にも広げた汎用版AI)との違いは、対応するゲームの範囲にあります。AlphaGoとAlphaGo Zeroが囲碁専用であるのに対し、AlphaZeroはAlphaGo Zeroの学習アルゴリズムを一般化し、囲碁に加えてチェス・将棋にも対応します。

3つのシステムは発表の時系列も異なり、2016年のAlphaGo、2017年10月のAlphaGo Zero、2017年12月のAlphaZeroという順で世に出ました。この時系列と役割の対応関係は、取り違えやすい点です。

システム 発表時期 学習のしかた 対応するゲーム
AlphaGo 2016年 プロ棋士の棋譜による教師あり学習を土台に、自己対戦の強化学習で強化 囲碁
AlphaGo Zero 2017年10月 人間の棋譜を使わず、ルールだけから自己対戦のみで学習 囲碁
AlphaZero 2017年12月 AlphaGo Zeroの学習アルゴリズムを一般化 囲碁・チェス・将棋

違いは、学習に人間の棋譜を使うかどうかと、囲碁専用にとどまるか他のゲームまで広げたかという2点に集約されます。

従来のゲームAI、なかでもMini-Max法・αβ法(すべての手を規則的に読み切って最善手を選ぶ、従来型のゲームAIの探索方法)との違いは、探索方式にあります。従来型はすべての手を規則的に読み切る網羅的な探索が中心であるのに対し、AlphaGoはディープラーニングで有望な手を絞り込んだうえで確率的なシミュレーションを行うモンテカルロ木探索を使います。

詳しいアルゴリズムの比較はMini-Max法を扱う別記事に譲りますが、囲碁のように手の候補が膨大なゲームでは、網羅的な探索よりも候補を絞り込んでからシミュレーションする方式が有効という関係にあります。

4. ビジネス・実務での活用シナリオ

創薬・研究開発の分野では、AlphaGoの成功を受け、同じDeepMind社がタンパク質の立体構造を予測するAlphaFold(AlphaGoと同じDeepMind社が開発した、タンパク質の立体構造を予測するAI)を開発しました。囲碁というゲームの枠を超え、ディープラーニングによる複雑な探索・予測という発想が創薬・生命科学分野に応用された事例です。

製造業・物流の分野では、膨大な選択肢の中から有望な候補を絞り込み、シミュレーションで最適解に近づけるという発想が、生産スケジューリングや配送ルートの決定といった組み合わせ最適化問題にも応用される考え方として紹介されます。

ゲーム・エンタメ業界では、AlphaGoの成果以降、対戦型ゲームAIの開発において強化学習と自己対戦を組み合わせる手法が広がりました。将棋・チェスや対戦型ゲームの意思決定エンジンとして採用される流れにつながっています。

5. 要点まとめ

  • AlphaGoはGoogle傘下のDeepMind社が開発した囲碁AIで、2016年3月に李世乭(イ・セドル)九段に4勝1敗、2017年5月に柯潔(カ・ケツ)九段に3戦全勝しています。
  • 技術面では、次の一手を絞り込むポリシーネットワークと盤面を評価するバリューネットワークというディープラーニング、それを使うモンテカルロ木探索、ポリシーネットワークを鍛える強化学習(自己対戦)を組み合わせています。
  • 後継のAlphaGo Zeroは人間の棋譜を使わず自己対戦のみで学習し、AlphaZeroはそのアルゴリズムを囲碁以外のチェス・将棋にも一般化したもので、いずれもAlphaGoとは区別されます。

6. 確認問題

問1AlphaGoは、2016年3月に行われた李世乭(イ・セドル)九段との五番勝負で4勝1敗という成績を収めた。

解答・解説をみる

○ 正しい

韓国・ソウルで行われた五番勝負では、第4局のみ李世乭が勝利し、AlphaGoが4勝1敗で勝ち越しました。翌2017年5月には柯潔(カ・ケツ)九段に3戦全勝しています。

問2AlphaGo Zeroは、AlphaGoと同様にプロ棋士の棋譜データを用いた教師あり学習を経てから、自己対戦による強化学習で腕を磨いた。

解答・解説をみる

× 誤り

正しくは、AlphaGo Zeroは人間の棋譜を一切使わず、ルールだけを与えられた状態から自己対戦のみでゼロから学習した点がAlphaGoとの違いです。プロ棋士の棋譜による教師あり学習を土台にするのはAlphaGoの方法です。

問3AlphaZeroは、AlphaGo Zeroのアルゴリズムを囲碁以外のゲームにも一般化したもので、チェスや将棋にも対応している。

解答・解説をみる

○ 正しい

AlphaZeroは2017年12月に発表され、囲碁のルールに特化していたAlphaGo Zeroの手法を一般化し、チェス・将棋のトップAIを上回る強さを示しました。