見出し画像

「Monte Carlo Tree Search」と「生成AI」の組み合わせは将来game changerになるかもしれません!

Search技術の一つ「Monte Carlo Tree Search」は2016年3月に史上初めて囲碁のトッププロを破ったAlphaGoで一躍有名になりました。強化学習と組み合わせると精度がとても上がるので、私達の心強い味方になってくれます。でもなかなか簡単にはプログラムできないのかなとも思います。そこで10月3日にでたばかりのChatGPT canvas(1)を使って簡単なゲームで「Monte Carlo Tree Search」を実装できないか挑戦したいと思います。早速始めましょう。


1.AlphaGoと「Monte Carlo Tree Search」
2016年3月に韓国で囲碁世界王者に18回輝いたLe Sedolと対戦したAlphaGoは結果4対1と圧勝したのですが、その強さの秘密は前回ご紹介した強化学習と「Monte Carlo Tree Search」(MCTS) の組み合わせにあると言われています。リサーチペーパー(2)に各AI囲碁プログラムの性能比較図があります。

各AI囲碁プログラムの性能比較

一番左のRaw networkはMCTSを推論時に使ってないのですが、隣のAlphaGo Zeroと比べて低い性能に留まってます。それだけMCTSの貢献が大きいことがわかりますね。AlphaGo ZeroにおいてMCTSは以下の図の様に実行されます。MCTSによって次の手が選ばれる確率πに近づくように行動確率pが訓練され、精度が徐々に向上していきます。詳しくは(2)を御覧ください。

AlphaGoZero "Monte Carlo Tree Search"



2.簡単なゲームでのMCTS実装
有名なAlphaGoでMCTSが活躍したことがわかると、次は実際に動かしてみたくなりますね。丁度Open AIからChatGPT canvas(1)がリリースされたので早速試してみたいと思います。これは"A new way of working with ChatGPT to write and code"とのメッセージどおり、新しいユーザー体験を提供してくれます。早速"Could you make code of Tic Tac Toe by using python and MCTS?" とChatGPT canvasにお願いしてみました。 「Tic Tac Toe」は3目並べのことです。

通常のChatGPTと違いwindowが別に開き、以下の様にpython codeを生成してくれます。

説明文も欲しかったので、日本語で説明するように追加でプロンプトしました。生成されたコードをcanvas内では実行できないので、Google colabに貼り付けて実行してみます。

以下のようにゲームを楽しむことができました。素晴らしい!

ChatGPT canvas上で動く生成AIモデルのGPT4oは、先日リリースされた、論理推論に強いo1 previewからの出力を蒸留して生成したデータで事後学習されており、コーディングにも強くなっている様です。今回もたまにエラーがでましたが、そのエラーをコピペしてプロンプトで修正するように依頼すれば直ぐに使えるようになります。本格的なコードアシスタントに昇進したと感じました。これからどんどん使ってみようと思います。ちなみに今回生成したコードは(3)にあります。



3.生成AIとMCTSの組み合わせが有望
実はAlphaGoの仕組みを生成AIに導入する研究がさかんに行われています。特に2017年に出たAlphaGo Zero以降のバージョンでは人間からの情報(この場合は棋譜)を全く必要としないので、データの制約にとらわれる事がなく、訓練データの枯渇に対応する技術として発展が期待されています。強化学習とMCTSの組み合わせは柔軟に設計できそうで、開発者にとっても大変興味深いです。またOpenAI o1-previewで話題になったtest-time-computingの視点からも重視すべき技術だと思います。次回は実際に公表されているリサーチペーパーで MCTSを更に深堀りしてみたいです。ご期待下さい。



いかがでしたでしょうか。MCTSのコンセプトそのものは比較的シンプルだと思います。その分応用範囲も広くなりますね。ChatGPT canvasとの相性も良く、今後もいろんな実験に挑戦したいと思います。今のところ有料会員のみ利用できるとのことです。まだベータバージョンですが、一般公開時には無料会員でも使えるとのことです。楽しみですね。それでは今日はこのへんで。Stay tuned!





1)Introducing canvas, OpenAI, Oct 3 2024
2)Mastering the game of Go without human knowledge,  David Silver, Julian Schrittwieser, Karen Simonyan, Ioannis Antonoglou, Aja Huang, Arthur Guez, Thomas Hubert , Lucas Baker, Matthew Lai, Adrian Bolton, Yutian Chen, Timothy Lillicrap, Fan Hui, Laurent Sifre, George van den Driessche, Thore Graepel & Demis Hassabis,  GoogleDeepMind, Oct 19 2017, VOL 550, NATURE, 355
3)Monte-Carlo-Tree-Search-with-ChatGPT-canvas, Oct 6 2024



Notice: ToshiStats Co., Ltd. and I do not accept any responsibility or liability for loss or damage occasioned to any person or property through using materials, instructions, methods, algorithms or ideas contained herein, or acting or refraining from acting as a result of such use. ToshiStats Co., Ltd. and I expressly disclaim all implied warranties, including merchantability or fitness for any particular purpose. There will be no duty on ToshiStats Co., Ltd. and me to correct any errors or defects in the codes and the software.

この記事が気に入ったらサポートをしてみませんか?