『最強の三目並べAIをゼロから作る』をやってみた
『ゼロから作るDeep Learning』などの著者がある斎藤康毅さんが、ゼロシリーズの最新作として、『最強の三目並べAIをゼロから作る』というYouTube動画を公開されていたので、やってみました。
最終的に作成する最強の三目並べ(Tic-Tac-Toe)AIは、次のデモページで遊べます。
学習の流れ
動画は5本からなり、以下のトピックを学べます。
三目並べのルールを確認するところからステップ・バイ・ステップで学びながら機能を拡張していき、最終的にはブラウザで三目並べAIを遊べるWebアプリが完成します。
ブラウザ上で開発
ハンズオンでは本質的でない環境構築に苦労しがちですが、このシリーズでは
- Pythonコードの実行環境には Google Colaboratory
- Webアプリ開発には CodePen
- Webアプリのデプロイには GitHub Pages
を使い、全ての作業はブラウザ上で行います。
クライアントPCでの環境構築やコマンドライン操作は不要です。
プログラミング言語はPython
プログラムはPythonで実装し、一般化を避け、ハードコード・割り切って実装されているので、見通しが良いです。
このチュートリアルではJavaScriptのプログラミングは一切登場しません。
Pythonで実装したロジックをどうやってHTMLファイル内で実行させるのでしょうか?
WebAssembly(WASM)を使ってPythonコードを実行するPyScriptを利用し、三目並べのロジックもHTMLタグとのインタラクションもすべてPythonで記述しています。
おすすめポイント
2本目〜4本目の動画のボリュームがあることからもわかるように、これら3本が重めで、特に、3本目は45分弱にミニマックス法の解説と実装を詰め込んでいるため、少しヘビーかもしれません。
ミニマックス法をメインで学びたい人の場合、3本目がハイライトです。
フロントエンドとあまり接点が無い人の場合、4本目・5本目をさらっておくと、何かあったときにブラウザで動作するデモを用意するための引き出しが増えるかもしれません。
特に、Pythonで完結しているのが良いですね。
Discussion