タグ

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

  • 第34回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記

    5/3~5/5に開催された第34回世界コンピュータ将棋選手権にHEROZチームとして、「dlshogi with HEROZ」というプログラム名で参加しました。 大会の概要 世界コンピュータ将棋選手権は、1990年より毎年開催されている歴史のあるコンピュータ将棋の大会です。 今回は34回目の開催で、45チームが参加しました。 第1予選、第2予選を通過した上位8チームで総当たりのリーグ戦で決勝戦が行われました。 大会の結果 決勝リーグでは最終戦で自力で勝てば優勝でしたが千日手になり、トップの「お前、 CSA 会員にならねーか?」(tanuki-チーム)と勝ち点同一でSB差で準優勝という結果になりました。 なお、二次予選は昨年とは異なり苦戦を強いられて、ボーダーラインで辞退があったため繰り上げで決勝に進めました。苦戦した事情は後述します。 今大会の特徴 定跡が出回った 先手勝率が高い角換わりの

    第34回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記
    sucrose
    sucrose 2024/05/07
  • 第33回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記

    5/3~5/5に開催された第33回世界コンピュータ将棋選手権に参加しました。 HEROZチームとして、「dlshogi with HEROZ」というプログラム名でエントリしました。 大会の概要 世界コンピュータ将棋選手権は、1990年より毎年開催されている歴史のあるコンピュータ将棋の大会です。 今回は33回目の開催で、46チームが参加しました。 第1予選、第2予選を通過した上位8チームで総当たりのリーグ戦で決勝戦が行われました。 大会の結果 決勝リーグでは最終戦で上位3チームが1敗で並び優勝を争う展開になりました。 dlshogiは最終戦で勝って、同じく最終戦で勝ったやねうら王とはSBの差で、優勝(二連覇)という結果になりました。 優勝につながったポイント 今大会では、二次予選の結果で、上位ほど強い相手に先手番であたることができるというルールでしたので、二次予選を1位で通過したことが有利に

    第33回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記
    sucrose
    sucrose 2023/05/06
  • dlshogiを使って棋譜から棋力を推定する - TadaoYamaokaの開発日記

    たややんさんが実施していた棋譜から棋力を推定する方法をdlshogiを使って検証してみた。 棋譜から棋力を推定する手法を検証しており、水匠の評価値をシグモイド関数で疑似的な勝率に変換した上で平均損失を計測する+計測する局面の勝率の閾値を設定するという手法で、24レーティングとの高い相関(相関係数-0.9536)を得られるようになりました。(続く) pic.twitter.com/wTu8pH6Ak7— たややん@水匠(将棋AI) (@tayayan_ts) 2021年9月17日 使用する棋譜 将棋倶楽部24の名人戦対局の2452棋譜を使用した。 対局者間のレーティングの分布は以下の通り。 対局者のレーティングのヒストグラムは以下の通り。 dlshogiの設定 棋譜の各局面について、バッチサイズ1で512プレイアウトで探索を行い評価値と最善手を取得する。 勝率の平均損失 まずは、各棋譜ごとに

    dlshogiを使って棋譜から棋力を推定する - TadaoYamaokaの開発日記
    sucrose
    sucrose 2022/03/17
  • 【電竜戦】チームdlshogiのGCTが決勝リーグで優勝しました - TadaoYamaokaの開発日記

    日開催されたコンピュータ将棋の大会「電竜戦」で、チームdlshogiのGCTが決勝リーグで優勝しました! コンピュータ将棋の大会でディープラーニングを使用したソフトが優勝するのは初です。 2017年からdlshogiの開発を始めてやっと優勝までたどり着きました。 GCTについて 元々GCTは、加納さんがdlshogiを使用して開発したソフトです。 探索部分はdlshogiで、モデルの学習に使うデータをdlshogiとは別のもので行っています。 今大会では、私とチームで参加して、dlshogiの強化学習のデータや、学習方法、定跡作成方法など共有して、加納さんが主体でモデルの学習・定跡作成をしています。 今回の成果は、私のdlshogi単体では成し遂げたられなかったので、GCTが優勝してくれたことに感謝しています。 チームの経緯 加納さんとは将棋AI開発前からの知り合いで、以前から気楽に情報

    【電竜戦】チームdlshogiのGCTが決勝リーグで優勝しました - TadaoYamaokaの開発日記
    sucrose
    sucrose 2020/11/24
  • AlphaZeroの論文 - TadaoYamaokaの日記

    Science誌に掲載された論文は、新しい対局条件での結果と棋譜の公開がメインで技術的な内容は、昨年のarXivで公開された論文とほとんど差分はありませんでした。 DeepMindのページのリンクからダウンロードできるOpen Access versionのMethodsでは、技術的な内容が追加されており、興味深い内容も記載されていました。 Prior Work on Computer Chess and Shogi TD Gammonwasについて追加されています。 Domain Knowledge 引き分けの条件がチェスと将棋では512手、囲碁では722手であることが追加されています。 定跡と終盤データベースを使用していないことが追加されています。 Search MCTSのアルゴリズムの説明が追加されています。 以前のAlphaGoからPUCTの定数が変更されており、親ノードの訪問回数

    sucrose
    sucrose 2018/12/08
  • AlphaZero Chess/Shogiの論文を読む - TadaoYamaokaの開発日記

    DeepMindからAlphaGo Zeroと同じ方法で、チェスと将棋でトップレベルを上回ったという論文が発表されました。 [1712.01815] Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm ドメイン知識を用いないスクラッチから強化学習のみで達成しています。 将棋やチェスはモンテカルロ木探索(MCTS)は向かず、Mini-Max探索の方が良いというのが常識のようになっていましたが、将棋やチェスでもディープラーニングと組み合わせることでMCTSが有効であることが示されたというのも大きな成果だと思います。 まだ全部読み切れていませんが、気になる個所から読んだ内容を書いていきます。 個人的に一番気になるのは、入力特徴と出力ラベルの表現方法です。 チェスについても書か

    AlphaZero Chess/Shogiの論文を読む - TadaoYamaokaの開発日記
    sucrose
    sucrose 2017/12/07
  • AlphaGo Zeroの論文を読む その5(ドメイン知識) - TadaoYamaokaの開発日記

    前回までで、実装に必要な内容についてほぼ解説しました。 今回は、補足的な内容です。 ドメイン知識 論文には以下の一文が記載されている。 Our primary contribution is to demonstrate that superhuman performance can be achieved without human domain knowledge. 「私たちの主な貢献は、人間の知識なしに超人的なパフォーマンスが達成できることを示すことです。」 人間の知識を用いないということが、この技術が囲碁に特化しない汎用的な技術であることを示している。 それを明確にするために、使用したドメイン知識を列挙している。 使用したドメイン知識 囲碁のルール: シミュレーションの終端状態でのスコア付け ゲームの終了条件 各局面での合法手 MCTSシミュレーション中にTromp-Taylorス

    AlphaGo Zeroの論文を読む その5(ドメイン知識) - TadaoYamaokaの開発日記
    sucrose
    sucrose 2017/10/25
  • AlphaGo Zeroの論文を読む その4(自己対局) - TadaoYamaokaの開発日記

    その3の続き 自己対局パイプライン 自己対局パイプラインは、3つの主要な部分から構成される。 最適化 評価 自己対局 これらは並行で実行される。 最適化 ミニバッチサイズ:2,048 (32バッチずつ別々のGPUで実行) ミニバッチデータは直近50万の自己対局のすべての局面からランダムでサンプリング モーメントありのSGDで最適化(モメンタムパラメータ=0.9) 学習率は以下の通り徐々に下げる 1000ステップ 学習率 0-400 400-600 >600 損失関数には、policyの交差エントロピーとvalueの平均二乗誤差の和を使用 policyの交差エントロピーとvalueの平均二乗誤差は等しく重み付けする L2正則化を行う(c=) 損失関数を式にすると以下の通り zは勝敗(-1,1)、vはvalue、はモンテカルロ木探索で求めた局面の遷移確率、はpolicyの遷移確率、はネットワー

    sucrose
    sucrose 2017/10/24
  • AlphaGo Zeroの論文を読む その3(探索アルゴリズム) - TadaoYamaokaの開発日記

    その2の続き 今回は対局時の探索アルゴリズムについてです。 探索アルゴリズム 対局時はpolicyとvalueを使ったモンテカルロ木探索(APV-MCTS)を使用する。 探索は複数スレッドで並列に行う。 探索木の各ノードsは以下の情報を持つ。 N(s,a) 行動aの訪問回数 W(s,a) 行動aの行動価値の合計 Q(s,a) 行動aの行動価値の平均 P(s,a) 行動aの事前確率 選択 展開済みノードの選択は、以前のAlphaGo(Fan Huiバージョン)と同じPUCTアルゴリズムを使う。 PUCTアルゴリズム UCTアルゴリズムをpolicyを使って拡張したアルゴリズム。 UCB1に代わって以下の式を使用する。 この値が最大となる行動aを選択する。 はvalueから算出される(後述)。 は、policyの遷移確率を事前確率として使用した以下の式で計算される。 は定数で、具体的な値は記載

    sucrose
    sucrose 2017/10/22
  • AlphaGo Zeroの論文を読む その2(ネットワーク構成) - TadaoYamaokaの開発日記

    前回に続いてAlphaGo Zeroの論文についてです。 ネットワーク構成 入力特徴 19×19の2値画像を17枚 8枚は現在のプレイヤーの石の座標を示す2値画像、8手分 8枚は相手のプレイヤーの石の座標を示す2値画像、8手分 1枚は現在のプレイヤーの石の色を示す全て0か1の画像 履歴を必要とするのは囲碁にはコウがあるため。 現在のプレイヤーの石の色が必要なのは囲碁にはコミがあるため。 以前(Fan Huiバージョン)のAlphaGoでは入力特徴に、呼吸点やシチョウなどの囲碁の知識を含む48の特徴を使用していましたが、石の座標情報のみになっています。 ニューラルネットワーク構成 入力層 1層の畳み込み層で以下の構成 畳み込み 3×3のフィルター、256 Batch Normalization 活性化関数 以前のAlphaGoは5×5のフィルター192でしたが、より数が増えています。 Bat

    AlphaGo Zeroの論文を読む その2(ネットワーク構成) - TadaoYamaokaの開発日記
    sucrose
    sucrose 2017/10/22
  • AlphaGo Zeroの論文を読む - TadaoYamaokaの開発日記

    今日のAlphaGo Zeroのニュースは衝撃でした。 将棋AIで方策勾配で強化学習を行ったときは、発散してうまくいかなかったので 教師データで最初に訓練が必要と思っていました。 それが、自己対局のみで強くできるとは驚きです。 論文が公開されたので、使われたテクニックを調べていきたいと思います。 Mastering the game of Go without human knowledge | Nature まだ全部読んでいませんが、ざっくり初めの方を読んで以下の特徴があるようです。 PolicyとValueを1つのネットワークで出力する Batch Normalisationと非線形の活性化関数を使用したResidual Network(ResNet) モンテカルロ木探索による自己対局で生成した各局面の打ち手と、勝敗結果を訓練データに使用する モンテカルロ木探索はノードを1回訪問したら

    AlphaGo Zeroの論文を読む - TadaoYamaokaの開発日記
    sucrose
    sucrose 2017/10/22
  • 1