タグ

ブックマーク / tadaoyamaoka.hatenablog.com (5)

  • 第4回世界将棋AI電竜戦 結果報告 - TadaoYamaokaの開発日記

    週末の12/2、12/3に開催された第4回世界将棋AI電竜戦に参加しました。 HEROZチームとして、「dlshogi with HEROZ」というプログラム名でエントリしました。 結果 予選を1位で通過し、決勝リーグでは、最終戦で水匠に敗れて、準優勝という結果になりました。 1位、2位は僅差で、3位以下を大きく引き離しています。 予選では、水匠に先手、後手で連勝していましたので、優勝する可能性も十分あったと思います。 予選で用意した定跡の一部を見せたことで決勝で対策されてしまったのは作戦が甘かったかもしれません。 定跡自動生成 今大会では、定跡自動生成にすべての計算リソースを投入しました。 モデルは、第33回世界コンピュータ将棋選手権と同じものを使用しました。 第33回世界コンピュータ将棋選手権の結果報告で書きましたが、角換わり基図からの先手角換わり定跡が将棋AI同士の対局では先手必勝

    第4回世界将棋AI電竜戦 結果報告 - TadaoYamaokaの開発日記
    arajin
    arajin 2023/12/05
    「最終的には角換わり自体を回避するようになりました。 その定跡が、今大会で使用した6手目1四歩という定跡になります。」
  • 拡散モデルで将棋の方策を学習する - TadaoYamaokaの開発日記

    拡散モデルで、将棋の方策を学習できないか試してみた。 拡散モデル 拡散モデルは、高品質で多様なサンプルを生成できる生成モデルである。 昨年8月にStable Diffusionが公開されたことで注目を集めている。 拡散モデルは、確率微分方程式によって表される確率分布を近似するモデルで、モード崩壊を起こさず多様な分布を学習できるという特徴がある。 また、プロンプトと呼ばれるテキストにより条件付けを行い、テキストに従った画像を生成できる。 将棋の方策 将棋の方策は、座標と移動方向の組み合わせで表現でき、dlshogiで採用している表現方法では2187次元になる。 つまり、指し手は、局面によって条件づけられた2187次元の確率分布からサンプリングを行っていることになる。 拡散モデルの可能性 条件付けを行い高次元の確率分布からサンプリングを行うという仕組みは、将棋の方策においても適用できると考える

    拡散モデルで将棋の方策を学習する - TadaoYamaokaの開発日記
  • ChatGPTで論文を3行に要約して感想を付けてSlack通知 - TadaoYamaokaの開発日記

    何番煎じかわからないくらいのネタだが、Arxivの論文を3行に要約して、感想を付けてSlack通知する処理を実装した。 先行事例に付加した要素としては、感想を付けたことくらいである。 ChatGPTに驚いてもらい、AIによる「驚き屋」を再現した。 先行事例 【ChatGPT】新着論文を3行でまとめて Slack に通知する - Qiita ChatGPT を使ってちょうど読んでいた論文を3行まとめにしてもらった | DevelopersIO Arxivの論文抽出 先行事例にあるように、arxiv.orgのAPIなどを使用して新着論文を確認する。 ここについては省略する。 プロンプト 作成した要約するプロンプトは以下の通り。先行事例を参考にしている。 以下の文章を制約条件を満たすように要約して出力してください。 [制約条件] * 文章は簡潔にわかりやすく * タイトルを1行で出力 * 内容を

    ChatGPTで論文を3行に要約して感想を付けてSlack通知 - TadaoYamaokaの開発日記
  • 【書籍の宣伝】強い将棋ソフトの創りかた - TadaoYamaokaの開発日記

    12/20に、マイナビ出版から書籍を出します(GCT電竜の加納さんとの共著です)。 前著の「将棋AIで学ぶディープラーニング」の古くなった内容を改めて、加えて、第2回世界将棋AIにも参加しているGCT電竜を超える強い将棋AIを創る方法を解説しています(GCT電竜の強さは第1回世界将棋AI電竜戦基準)。 書籍の内容 ディープラーニング系将棋AIのアルゴリズムの解説と、ディープラーニング系将棋AIの仕組みを実装して理解するためpython将棋AIを実装するという内容と、dlshogiライブラリを使用してGCT電竜を超える将棋AIモデルを学習する方法を解説しています。 Pythonで実装する将棋AIは、時間制御やPonderという大会にでるソフトが備えている機能も実装した格的なものになっています。 GCT電竜を超える将棋AIの創り方は、dlshogiライブラリの使い方の解説をしていて、書籍向

    【書籍の宣伝】強い将棋ソフトの創りかた - TadaoYamaokaの開発日記
  • どの駒が評価値に寄与しているかを可視化する - TadaoYamaokaの開発日記

    dlshogiのモデルに盤面を入力すると、その盤面の評価値(勝率)を出力できる。 その際、どの駒が評価値に寄与しているか可視化できると、AIがどこに注目しているのかがわかる。 以前に、Attention Branch Networkを使って可視化を試したが、今回は、駒を除くという単純な方法で、可視化を試してみた。 提案手法 dlshogiは、盤面(駒の配置と持ち駒)をモデルに入力して、指し手の確率(方策)と評価値(勝率)を出力している。 現在の盤面を入力して推論した結果と、盤面の盤上の駒を一つ除いて推論した結果の差を見ることで、除いた駒の相対的な価値がわかる。 持ち駒の場合は、一つだけ除くと、複数枚ある場合に価値が変わらない場合があるため、同じ種類の持っている駒をすべて除くようにする。 これをすべての駒に対して行い、それぞれの盤面を推論することで、各駒の相対的な価値を求めることができる。

    どの駒が評価値に寄与しているかを可視化する - TadaoYamaokaの開発日記
  • 1