TadaoYamaokaの開発日記

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

2019-11-01から1ヶ月間の記事一覧

MuZeroの論文を読む その3(結果)

結果 MuZeroアルゴリズムを、挑戦的なプランニング問題のベンチマークとしての古典的なボードゲーム囲碁、チェス、将棋、および視覚的に複雑なRLドメインのベンチマークとしてAtari Learning Environmentの57のゲームすべてに適用した。 測定条件 それぞれの…

リバーシ(オセロ)で深層強化学習

先日作成した高速なリバーシライブラリを使って、深層強化学習のアルゴリズムをいろいろ試してみたいと思っている。 DQNの実装 将棋でDQNによる強化学習を試したときはまったく学習しなかったので、まずは教師ありでDQNのネットワークが学習できるか試すこと…

AlphaStarの論文を読む その12(評価)

評価 AlphaStar Battle.netの評価 AlphaStarエージェントは、StarCraft IIバランスパッチ4.9.3で、MMRレーティングに基づくBlizzardのオンラインマッチメイキングシステムBattle.netで人間に対して評価された。 AlphaStar Finalは、グランドマスターレベル(…

AlphaStarの論文を読む その11(インフラ)

インフラ リーグを訓練するために、多数のStarCraft II対戦を並行して実行し、それらのゲームのデータに基づいてエージェントのパラメータを更新する。 これを管理するために、さまざまなタイプの分散ワーカーで非常にスケーラブルな訓練セットアップを開発…

AlphaStarの論文を読む その10(リーグ構成)

リーグ構成(Populating the League) 訓練中、新しいプレイヤーを作成するためにスナップショットが作成されたときの訓練対象の対戦相手の分布と、教師ありパラメーターにリセットされる確率のみが異なる3つのエージェントタイプを使用した。 メインエージェ…

AlphaStarの論文を読む その9(マルチエージェント学習)

マルチエージェント学習 リーグトレーニングはマルチエージェント強化学習アルゴリズムであり、セルフプレイトレーニング中によく発生するサイクルに対処し、多様な戦略を統合するために設計されている。 訓練中に、エージェント(RLアルゴリズムによって訓…

MuZeroの論文を読む その2(MuZeroアルゴリズム)

続きです。 MuZeroアルゴリズム MuZeroアルゴリズムについて詳しく説明する。 予測は、各タイムステップtで、ステップのそれぞれについて、過去の観測および将来の行動を条件とするパラメーターを使用したモデルによって行われる。 モデルは、3つの将来の量…

AlphaStarの論文を読む その8(教師あり学習、強化学習)

今回はMethodsの教師あり学習と強化学習についてです。 教師あり学習 各エージェントは、人間の行動を模倣するために、リプレイから教師付き学習を通じて最初に訓練される。 教師あり学習は、エージェントの初期化と多様な探索の維持の両方に使用される。 こ…

MuZeroの論文を読む(概要、導入、先行研究)

MuZeroの論文を読んでいきます。 基本的にだらだら訳していくだけです。 途中で感想を書いていきます。 概要 プランニング能力を備えたエージェントを構築することは、人工知能の追求における主な課題の1つである。 ツリーベースのプランニング方法は、完全…

AlphaStarの論文を読む その7(アーキテクチャその3)

アーキテクチャ詳細の続きです。 ベースラインと損失に関する部分です。 勝敗ベースライン(Winloss Baseline) 入力:prev_state, scalar_features, opponent_observations, cumulative_score, action_type, lstm_output 出力: winloss_baseline : 「action_…

AlphaStarの論文を読む その6(アーキテクチャその2)

アーキテクチャ詳細の続きです。 コア(Core) 入力:prev_state, embedded_entity, embedded_spatial, embedded_scalar 出力: next_state : 次のステップのLSTM状態 lstm_output : LSTMの出力 コアは、「embedded_entity」、「embedded_spatial」、および「e…

高速なPythonのリバーシ(オセロ)ライブラリ

将棋で強化学習のアルゴリズムをいろいろ試そうとしたが、DQNが全く学習しないので、もう少し簡単なゲームを先に試そうと思う。 ということで、リバーシ(オセロ)で試すことにした。Pythonで使えるリバーシのライブラリがないか探したが良さそうなのが見つか…

AlphaStarの論文を読む その5(アーキテクチャ)

しばらく空きましたが、続きです。 アーキテクチャは長いので途中までです。 アーキテクチャ AlphaStarの方策は関数で、以前のすべての観測とアクションおよび𝑧(戦略統計を表す)を現在のステップの行動の確率分布にマッピングする 拡張データ表1 | エージ…

AlphaStarの論文を読む その4

続きです。前回までで論文の本文を紹介しました。 今回からMethodsを読んでいきます。本文と内容の重複もあります。 ほぼだらだらと訳しただけです。 ゲームとインターフェイス ゲーム環境 StarCraftは、SF世界で行われるリアルタイム戦略ゲーム 1998年にBli…

AlphaStarの論文を読む その3

続きです。本文の残りの部分です。 実験による評価 対戦条件 公式オンラインマッチメイキングシステムBattle.netの制限なし条件で評価した 3つのメインエージェントTerran、Protoss、Zergを評価 各エージェントは、訓練中に3つの異なるスナップショットで評…

AlphaStarの論文を読む その2

昨日の続きです。 人間のデータの重要性 StarCraftの主な課題の1つは、新しい戦略を発見すること 一度、地上ユニットの局所戦略を学んだ後、航空ユニットを単純に使用するとパフォーマンスが低下する 航空ユニットがその局所戦略を効果的に利用する、数千ス…

AlphaStarの論文を読む

Natureで発表されたAlphaStarの論文を読んでいきます。 無料で読めるPDFは、DeepMindのブログからダウンロードできます。PythonとTensorFlowによる疑似コードも公開されており、Supplementary Dataからダウンロードできます。Methodも含めると結構なボリュー…