TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2020-04-01から1ヶ月間の記事一覧

usiToCsa.rbのdlshogi対応

世界コンピュータ将棋オンライン大会の対戦環境をテストしていて、クライアントの将棋所からssh経由でサーバでdlshogiを実行していたが、回線が不安定なため途中で切れることがあったので、サーバから直接接続する方式に変更することにした。dlshogiは標準入…

Agent57: Outperforming the Atari Human Benchmarkを読む その9

付録B B.外発的-内発的分解 内発的に動機付けられたエージェントの場合、報酬関数は、固有の報酬と外部の報酬の線形結合である。 価値の反復スキームを使用して、最適な状態行動価値関数を計算できる。 ここで、は任意に初期化できる。 ここで、別々の内発的…

Agent57: Outperforming the Atari Human Benchmarkを読む その8

付録も読んでいきます。数式多めです。ほぼ自分のメモのために訳しています。 付録A MDPの背景 マルコフ決定プロセス(MDP)はタプルであり、Xは状態空間、Aは行動空間、Pは各状態行動タプルを状態上の確率分布(行動aを選択してxから状態yに遷移する確率を…

将棋AIの進捗 その42(TensorRT対応)

TensorRTがdlshogiのDNNの推論においても効果があることがわかったので、TensorRTをdlshogiに組み込んだ。 Tensorコアを搭載したGPUでは、以前のcuDNN版に比べて推論が大幅に高速化される。 実装 ONNXから読み込んだネットワークのビルドには数十秒近く時間…

Agent57: Outperforming the Atari Human Benchmarkを読む その7

結論 57のすべてのAtariゲームで、人間のベンチマークを超えるパフォーマンスを持つ最初の深層強化学習エージェントを紹介した。 エージェントは、そのような多様なゲームセット(探索と活用、および長期的な信用割り当て)でパフォーマンスを発揮するために…

Agent57: Outperforming the Atari Human Benchmarkを読む その6

Backprop Through Timeのウィンドウサイズ この節では、backprop through timeのウィンドウサイズを使用することの影響を分析する。 より具体的には、NGUまたは提案する改善を行わないことでその効果を確認するために、基本アルゴリズムR2D2への影響を分析す…

TensorRTのパフォーマンス測定

先日試したTensorRTをdlshogiのネットワークの推論で試せるようにしたので、パフォーマンスを測定してみた。バッチサイズを可変にして、プロファイル最適化も行った。 測定条件 floodgateの棋譜からサンプリングした10万局面の推論時間を測定する。 バッチサ…

Agent57: Outperforming the Atari Human Benchmarkを読む その5

状態行動価値関数のパラメーター化 まず、「ランダムコイン」と呼ばれるミニマリズムグリッドワールド環境に対する状態行動価値関数のパラメーター化の影響を評価する。 これは、サイズが15×15の空の部屋で構成され、各エピソードの開始時にコインとエージェ…

Agent57: Outperforming the Atari Human Benchmarkを読む その4

実験 この章では、まず実験のセットアップについて説明する。 NGUに続いて、Agent57はサイズN = 32の係数のファミリーを使用する。 割引の選択はNGUのそれとは異なり、0.99から0.9999の範囲のより高い値を可能にする(詳細については付録G.1を参照)。 メタ…

将棋AIの進捗 その41(1サイクルあたりの生成局面数)

dlshogiの今の10ブロックの192フィルタのモデルは、2018年6月から学習を開始して、何度かモデルの精度が飽和して強くならなくなったが、そのたびに新しい手動を導入して現在まで継続して強くできている。201サイクル目からはリーグ戦を導入して、218サイクル…

WindowsでTensorRTを動かす

ねね将棋がTensorRTを使用しているということで、dlshogiでもTensorRTが使えないかと思って調べている。 TensorRTのドキュメントを読むと、JetsonやTeslaしか使えないように見えるが、リリースノートにGeForceの記述もあるので、GeForceでも動作するようであ…

将棋AIの進捗 その40(マルチGPUの性能)

以前のdlshogiは、マルチGPUで動かした場合、4GPUまでは線形にNPSが伸びるがそれ以上GPUを増やしてもNPSが伸びなかった。 ハッシュテーブルのロックにボトルネックがありそうだ思っていたので、今回ロックの範囲を修正してマルチGPUでの性能を改善した。 ロ…

Agent57: Outperforming the Atari Human Benchmarkを読む その3

NGUの改善 状態行動価値関数のパラメーター化 提案されているアーキテクチャの改善は、次のように状態行動価値関数を分割することである。 ここで、とは、それぞれの外部コンポーネントと組み込みコンポーネントである。 重みのセットとは、同一のアーキテク…

Agent57: Outperforming the Atari Human Benchmarkを読む その2

背景:Never Give Up(NGU) NGU上に構築する2つのアイディア 私たちの研究は、2つのアイデアを組み合わせたNGUエージェントの上に構築される。 1つは、好奇心主導型の探索、2つ目は、分散型の深層RLエージェント、特にR2D2である。 NGUの報酬 NGUは、探索を…

Agent57: Outperforming the Atari Human Benchmarkを読む

DeepMindが発表したAgent57: Outperforming the Atari Human Benchmarkの論文を読んでいきます。Agent57のすべてのゲームで人間のパフォーマンスを上回ったようです。 モンテズマリベンジのような長期的な目標を必要とするゲームは強化学習アルゴリズムが苦…