TadaoYamaokaの開発日記

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

強化学習

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

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

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

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

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

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

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

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

Prioritized Experience Replayのsum-treeの実装

つくりながら学ぶ!深層強化学習のPrioritized Experience Replayの実装は、説明をシンプルにするためReplay Memoryを線形で探索する実装が紹介されていた。 つまり、各transitionのTD誤差を優先度として、0からReplay Memoryの優先度の合計の間で、ランダム…

Windows上でPyTorchを使って強化学習を試す

以前はOpenAI GymはWindowsに対応してなかったが、以下のようにpipからインストールするだけで動くようになっている。 atariも問題なく動く。 pip install gym pip install gym[atari]ただし、env.render()で描画するとウィンドウの位置変更などができないと…

迷路を方策勾配法で解く

最近買った「つくりながら学ぶ!深層強化学習」という強化学習の本で、迷路を方策勾配法で解くという内容が記載されていたが、数式展開がなく自分で式を導出するのに苦労したのでメモを残しておく。 この本の迷路の問題の内容は、Webにも掲載されている。 第…

将棋AIの進捗 その26(自己対局による強化学習の経過2)

前回から時間が空いたが、自己対局による強化学習を続けている。10ブロック、192フィルタのモデルの自己対局による学習が、79サイクル※回したところで飽和気味になったため、10ブロックのモデルからパラメータを転移して15ブロックのモデルで強化学習を行う…

将棋AIの進捗 その24(自己対局による強化学習)

これまではAperyの初期局面集にfloodgateの棋譜を加えたものを初期局面集として自己対局を行っていたが、中終盤のバリエーションを増やすため、 やねうら王教師局面からAperyの初期局面集を作成(評価値200以内局面を抽出) 初期局面集から詰みの局面を除く と…

将棋でディープラーニングする その34(強化学習【成功】)

以前にRL policy networkをelmoの自己対戦でデータを使ってREINFORCE algorithmで学習させたが、うまく学習できなかった。昨日の日記でマルチタスク学習を実装したので、RL policy networkをバリューネットワークと同時に学習させることで、RL policy networ…

将棋でディープラーニングする その15(強化学習)

前回まで棋譜を用いた教師あり学習で、将棋の方策ニューラルネットワークを学習した。今回から、強化学習で方策改善を行う。 強化学習の手法は、AlphaGoの論文と同じREINFORCE algorithm*1を試す。AlphaGoの論文の強化学習の手法は以下の通りである。 AlphaG…

強化学習の教科書

昨日の日記で強化学習の勉強を始めたと書いたが、教科書についてまとめておく。購入した教科書は、昨日の日記で取り上げた と、TD学習を発案した著者による この本である。強化学習を体系的に記述してあり、本格的に学ぶなら後者の本がよいと思う。ただし、…

強化学習の勉強

コンピュータ将棋の記事をちょっと書いたこともあり、強化学習について勉強を始めました。教科書として用いるのは、 この本です。この本で使用されているサンプルプログラムは、Octaveとg++が使用されいます。 Windowsで最新のOctaveとMSYS2で実行するのに少…