3目並べを利用したAlphaGoの学習 tensorflow-2編
記事の変更日:2026/09/26 評価を追記 1.概要 この記事は2023年の1月の記事です。記事の作成日が新しい理由は、記事のURLが同じになってしまいURLに数字列がついてしまったので変更をしました。日付は新しいのですが、2022年12月から2023年1月に似た記事があるので、作成された時期はわかります。 3目並べをプログラムすることでAlphaGoの学習をすることが目標でした。Tensorflowを利用した最適解の計算手順は当時とても苦労をしたので備忘録として残すことにしました。 AlphaGoの勉強過程で3目並べを学んでいます。前回までTensorflow-1.15を利用しました。今回からTensorflow-2.9に実行環境を変更して、tensorflow-1.15と同じことを実行します。tensorflow-1.xとtensorflow-2.xの比較をするために、できるだけtensorflow-1.15の設定やコードを変更せずに、実行するために必要な最低限の変更に留めます。 私の評価は以下の通りです。 (1) Tensorflow-1.xとTensorflow-2.xで結果は変わらない気がします (2) Pythonで3目並べのコード記述とtensorflowによる学習は、同等の成果が出ます (3) 何か問題を見つけた場合、データ依存で学習するので、修正することはとても難しい (4) 学習方法で結果が変わるので、データ量を増やすことの検討が必要 2.詳細 学習 (a) 概要 3目並べのフィールドを3☓3のイメージと考えて、手書き文字認識の手法を利用します。利用する環境はtensorflow-2.9環境です。入力データはminimax法で活用したすべての手順(9!=362880)の組み合わせの中から勝負が決まった時点の3目並べのフィールド情報と結果(勝ち、負け、引き分け)を利用します。 tensorflowで利用できる形式に変換し、学習をしてモデルを作成し、モデルを利用して3目並べの対戦をします。元情報がminimax法で解析した情報なので、tensorflowによる学習結果がminimax法まで到達できると最高の結果です。大まかな手順は以下の通りです。 (1) minimax法の解析を利用して学習用入力データを作成 (2) 作成した学習用入力データを利...