深層強化学習のコース
ニューラル ネットワークと強化学習の組み合わせを検討します。 Python と PyTorch のアルゴリズムと例
AlphaGo Zero を使用した Deepmind と Dota 2 の OpenAI によって達成された驚くべき結果について聞いたことがありますか?すべてはディープ ニューラル ネットワークと強化学習に関するものです。もっと詳しく知りたいですか?
これは、Deep RL を最終的に学び、新しいエキサイティングなプロジェクトやアプリケーションでそれを使用するための適切な機会です。
ここでは、これらのアルゴリズムについて詳しく説明します。その中で、q ラーニング、ディープ q ラーニング、PPO、アクタークリティカルを学び、Python と PyTorch を使用してそれらを実装します。
最終的な目標は、これらの汎用テクノロジーを使用して、現実世界のあらゆる種類の重要な問題に適用することです。デミス・ハサビス
このリポジトリには次のものが含まれます。
主に DeepMind と Berkley Youtube のチャンネルからの講義 (およびその他のコンテンツ)。
アルゴリズム (DQN、A2C、PPO など) は PyTorch で実装され、OpenAI Gym: RoboSchool および Atari でテストされました。
ぜひフォローして#60DaysRLChallengeをフォローしてください
今ではSlack チャンネルもできました。招待状を受け取るには、[email protected] までメールしてください。また、アイデア、提案、改善点がある場合は、メールでお知らせください。
ディープ ラーニング、コンピューター ビジョン、自然言語処理を学ぶには、私の1 年間の ML の旅をご覧ください。
始める前に.. 前提条件
- Python と PyTorch の基本レベル
- 機械学習
- 深層学習 (MLP、CNN、RNN) の基礎知識
簡単なメモ: 私の新しい本が出ました!
強化学習とディープ RL をさらに詳しく学ぶには、私の著書「Python による強化学習アルゴリズム」を参照してください。
目次
- 強化学習の風景
- RL Cycle と OpenAI Gym の実装
- 動的プログラミングによる問題の解決
- Q 学習と SARSA アプリケーション
- ディープ Q ネットワーク
- 確率的および DDPG 最適化の学習
- TRPOおよびPPOの導入
- DDPG および TD3 アプリケーション
- モデルベースの RL
- DAggerアルゴリズムによる模倣学習
- ブラックボックス最適化アルゴリズムを理解する
- ESBAS アルゴリズムの開発
- RL の課題を解決するための実際的な実装
索引 - 強化学習
- 第 1 週 –概要
- 第 2 週 - RL の基礎
- 第 3 週 -値ベースのアルゴリズム - DQN
- 第 4 週 -ポリシー勾配アルゴリズム - REINFORCE と A2C
- 第 5 週 -高度なポリシー グラデーション - PPO
- 第 6 週 -進化戦略と遺伝的アルゴリズム - ES
- 第 7 週 -モデルベースの強化学習 - MB-MF
- 第 8 週 -高度なコンセプトと選択したプロジェクト
- 過去 4 日間 -レビューと共有
- 最高のリソース
- 追加のリソース
第 1 週 – 概要
- 強化学習がなぜそれほど重要な学習方法なのか - 簡単な説明
- 概要とコースの概要 - バークレーの Levine 著 CS294
- 深層強化学習: ピクセルからポン by Karpathy
その他のリソース
- 強化学習の「バイブル」: 第 1 章 - サットンとバルト
- 優れた入門論文: 深層強化学習: 概要
- コーディングを開始する: ゼロから: 50 行の Python で AI のバランス調整を行う
第 2 週 - RL の基礎: MDP、動的プログラミング、およびモデルフリー制御
過去を思い出せない者はそれを繰り返す運命にある -ジョージ・サンタヤナ
今週は、問題の定義から始まり、ポリシーや状態の品質を表現するために使用される関数の推定と最適化まで、強化学習の基本ブロックについて学びます。
講義 - 理論
- マルコフの意思決定プロセス - David Silver (DeepMind)
- 動的プログラミングによる計画 - David Silver (DeepMind)
- モデルフリー予測 - David Silver (DeepMind)
- モデルフリー制御 - David Silver (DeepMind)
- Ɛ-貪欲なポリシーの反復
- GLIE モンテカルロ検索
- サルサ
- 重要度のサンプリング
今週のプロジェクト - Q ラーニング
FrozenLake に Q ラーニングを適用- 演習として、SARSA を使用してゲームを解くか、自分で Q ラーニングを実装することができます。前者の場合、必要な変更はわずかです。
その他のリソース
- 強化学習の「バイブル」: 第 3 章と第 4 章 - Sutton & Barto
- 価値関数の紹介 - DRL UC Berkley by Sergey Levine
第 3 週 - 値ベースのアルゴリズム - DQN
今週は、より高度な概念を学び、ディープ ニューラル ネットワークを Q 学習アルゴリズムに適用します。
講義 - 理論
- 値関数の近似 - David Silver (DeepMind)
- 微分可能関数近似器
- インクリメンタルメソッド
- バッチメソッド (DQN)
- 高度な Q 学習アルゴリズム - Sergey Levine (カリフォルニア大学バークレー校)
- リプレイバッファ
- ダブルQラーニング
- 連続アクション (NAF、DDPG)
- 実践的なヒント
今週のプロジェクト - DQN とその亜種
DQN と Pong に適用されるいくつかの亜種- 今週の目標は、Atari ゲームをプレイするための DQN アルゴリズムを開発することです。もっと面白くするために、私は DQN の 3 つの拡張機能、つまり Double Q-learning 、 Multi-step learning 、 Dueling network 、 Noisy Netsを開発しました。試してみて、自信があれば、優先リプレイ、決闘ネットワーク、または配布 RL を実装できます。これらの改善について詳しく知りたい場合は、論文をお読みください。
論文
必読
- 深層強化学習で Atari をプレイする - 2013
- 深層強化学習による人間レベルの制御 - 2015
- Rainbow: 深層強化学習の改善を組み合わせる - 2017
DQNの延長
- ダブル Q ラーニングによる深層強化学習 - 2015
- 優先エクスペリエンス リプレイ - 2015
- 深層強化学習のための決闘ネットワーク アーキテクチャ - 2016
- 探索のためのノイズの多いネットワーク - 2017
- 分位点回帰による分布強化学習 - 2017
その他のリソース
- 強化学習の「バイブル」: 第 5 章と第 6 章 - Sutton & Barto
- 企業における深層強化学習: ゲームから業界までのギャップを埋める
第 4 週 - ポリシー勾配アルゴリズム - REINFORCE と A2C
第 4 週では、ポリシーを直接最適化するアルゴリズムのクラスである Policy Gradient メソッドを紹介します。また、Actor-Critic アルゴリズムについても学習します。これらのアルゴリズムは、ポリシー勾配 (アクター) と価値関数 (批評家) の両方を組み合わせます。
講義 - 理論
- ポリシー勾配メソッド - David Silver (DeepMind)
- 有限差分ポリシーの勾配
- モンテカルロ政策の勾配
- 俳優と批評家の政策の勾配
- ポリシー勾配の概要 - Sergey Levine (要約、オプション)
- ポリシーの勾配 (REINFORCE および Vanilla PG)
- 分散の削減
- 俳優兼批評家 - セルゲイ・レヴィーン (さらに詳しく)
- 俳優・評論家
- ディスカウント要素
- Actor-Critic アルゴリズム設計 (バッチ モードまたはオンライン)
- 状態依存のベースライン
今週のプロジェクト -バニラ PG と A2C
CartPole に適用された Vanilla PG と A2C - 今週の演習は、ポリシー勾配法またはより洗練されたアクター批判を実装することです。リポジトリでは、PG と A2C の実装バージョンを見つけることができます。バグ警告! A2C では奇妙な結果が得られることに注意してください。 PG と A2C の実装が簡単だと思われる場合は、A2C (A3C) の非同期バージョンを試してみてください。
論文
- 関数近似による強化学習のためのポリシー勾配法
- 深層強化学習の非同期手法
その他のリソース
- 強化学習の「バイブル」: 第 9 章と第 10 章 - Sutton & Barto
- 直感的な RL: Advantage-Actor-Critic (A2C) の紹介
- 非同期アクター/クリティック エージェント (A3C)
第 5 週 - 高度なポリシー グラデーション - PPO
今週は、「バニラ」ポリシー勾配手法の安定性と収束性を向上させる高度なポリシー勾配手法について説明します。 OpenAI によって開発され、OpenAI Five で採用された RL アルゴリズムである PPO を学習し、実装します。
講義 - 理論
- 高度な政策勾配 - Sergey Levine (カリフォルニア大学バークレー校)
- 「バニラ」ポリシーの勾配メソッドの問題
- ポリシーのパフォーマンス限界
- 単調改善理論
- アルゴリズム: NPO、TRPO、PPO
- Natural Policy Gradients、TRPO、PPO - John Schulman (Berkey DRL Bootcamp) - (RECAP、オプション)
- 「バニラ」ポリシー勾配メソッドの制限
- 自然政策の勾配
- トラストリージョンポリシーの最適化、TRPO
- 近接ポリシーの最適化、PPO
今週のプロジェクト - PPO
BipedalWalker に PPO を適用- 今週は、PPO または TRPO を実装する必要があります。 (TRPOと比較して)そのシンプルさを考慮すると、私はPPOをお勧めします。プロジェクト フォルダー Week5 には、 BipedalWalker の再生方法を学習する PPOの実装があります。さらに、フォルダー内には、プロジェクトの開発に役立つその他のリソースが含まれています。楽しむ!
PPO について詳しく知りたい場合は、論文を読み、Arxiv Insights のビデオをご覧ください。
論文
- トラスト リージョン ポリシーの最適化 - 2015
- 近接ポリシー最適化アルゴリズム - 2017
その他のリソース
- PPO と TRPO をより深く理解するには: (ロボットの) 幸福の追求
- ディープRLのボルト・ナット
- PPO のベスト プラクティス: 近接ポリシーの最適化を使用したトレーニング
- Arxiv InsightsによるPPOアルゴリズムの解説
第 6 週 - 進化戦略と遺伝的アルゴリズム - ES
昨年、進化戦略 (ES) と遺伝的アルゴリズム (GA) が RL 手法と同等の結果を達成することが示されました。これらは派生のないブラック ボックス アルゴリズムであり、学習には RL よりも多くのデータが必要ですが、数千の CPU にわたってスケールアップできます。今週は、このブラックボックス アルゴリズムについて見ていきます。
講義と記事 - 理論
- 進化戦略
- ES の紹介: 進化戦略のビジュアル ガイド
- ES for RL: 安定した戦略の進化
- 誘導体を含まない方法 - 講義
- 進化戦略(論文ディスカッション)
- 遺伝的アルゴリズム
- 遺伝的アルゴリズムの概要 - サンプルコードを含む
今週のプロジェクト - ES
LunarLander に適用される進化戦略- 今週のプロジェクトは ES または GA を実装することです。 Week6 フォルダーには、LunarLanderContinuous を解決するための論文「強化学習のスケーラブルな代替手段としての進化戦略」の基本的な実装があります。より難しい環境でプレイしたり、アイデアを追加したりするためにこれを変更することができます。
論文
- Deep Neuroevolution: 遺伝的アルゴリズムは、強化学習のためのディープ ニューラル ネットワークをトレーニングするための競争力のある代替手段です
- 強化学習のスケーラブルな代替手段としての進化戦略
その他のリソース
第 7 週 - モデルベースの強化学習 - MB-MF
これまでに研究されたアルゴリズムはモデルフリーであり、与えられた状態でより良いアクションのみを選択することを意味します。これらのアルゴリズムは非常に優れたパフォーマンスを実現しますが、大量のトレーニング データが必要です。代わりに、モデルベースのアルゴリズムが環境を学習し、学習したモデルに応じて次のアクションを計画します。これらの方法はモデルフリーよりもサンプル効率が高くなりますが、全体としては最悪のパフォーマンスが得られます。今週は、これらのメソッドの背後にある理論を学び、最後のアルゴリズムの 1 つを実装します。
講義 - 理論
- モデルベース RL、David Silver (DeepMind) (簡潔版)
- 学習と計画の統合
- モデルベースの RL の概要
- 統合アーキテクチャ
- シミュレーションベースの検索
- モデルベースの RL、Sergey Levine (カリフォルニア大学バークレー校) (詳細バージョン)
- データから動的システムを学習する
- モデルベースの RL の概要
- グローバルモデルとローカルモデル
- ローカルモデルと信頼領域を使用した学習
- 最適なコントローラーを模倣してポリシーを学習する
- 学習されたモデルを使用したポリシーへの逆伝播
- ガイド付きポリシー検索アルゴリズム
- DAggerで最適制御を模倣
- 高度なモデル学習と画像
- 潜在空間内のモデル
- 画像空間内で直接モデル化
- 逆モデル
今週のプロジェクト - MB-MF
RoboschoolAnt に MB-MF を適用- 今週、私はこの論文で説明されているモデルベースのアルゴリズムを実装することにしました。私の実装はここにあります。注意: 論文のように Mujoco に実装する代わりに、OpenAI Gym と統合されたオープンソースのロボット用シミュレーターである RoboSchool を使用しました。
論文
- 深層強化学習のための想像力拡張エージェント - 2017
- 教師なし補助タスクによる強化学習 - 2016
- モデルフリー微調整によるモデルベースの深層強化学習のためのニューラル ネットワーク ダイナミクス - 2018
その他のリソース
- 強化学習の「バイブル」: 第 8 章 - サットンとバルト
- 世界モデル - エージェントは自分の夢の中で学ぶことができますか?
第 8 週 - 高度なコンセプトと選択したプロジェクト
先週の内容は、高度な RL の概念と、あなたが選んだプロジェクトについてです。
講義 - 理論
- セルゲイ・レヴィン (バークレー)
- 推論と制御の関係
- 逆強化学習
- 探検(パート1)
- 探索 (パート 2) と転移学習
- マルチタスクの学習と転移
- メタ学習と並列処理
- 高度な模倣学習と未解決の問題
- デビッド・シルバー (ディープマインド)
最終プロジェクト
ここではプロジェクトのアイデアをいくつか見つけることができます。
- ポマーマン (マルチプレイヤー)
- AI による義足チャレンジ (チャレンジ)
- Word モデル (紙による実装)
- 研究依頼 OpenAI(研究)
- レトロコンテスト(転移学習)
その他のリソース
- アルファ碁ゼロ
- 紙
- DeepMind ブログ投稿: AlphaGo Zero: ゼロからの学習
- Arxiv Insights ビデオ: AlphaGo Zero の仕組み - Google DeepMind
- OpenAI Five
- OpenAI ブログ投稿: OpenAI Five
- Arxiv Insights ビデオ: OpenAI Five: Dota II で人間のプロに直面する
過去 4 日間 - レビューと共有
60 日間 RL チャレンジの完了おめでとうございます!!楽しんだか共有していただければお知らせください。
またね!
最高のリソース
強化学習: 入門 - Sutton & Barto 著。強化学習の「バイブル」。ここでは、第 2 バージョンの PDF ドラフトを見つけることができます。
深層強化学習の実践 - Maxim Lapan 著
ディープラーニング – イアン・グッドフェロー
Levine による深層強化学習 - カリフォルニア大学バークレー校のクラスについては、こちらのサイトをご覧ください。
強化学習コース - DeepMind の David Silver 著。 AlphaGo の主任研究者である Silver による素晴らしい入門講義。これらは、Sutton & Barto による強化学習という本に従っています。
追加のリソース
素晴らしい強化学習。強化学習専用の厳選されたリソースのリスト
RL 上の GroundAI。強化学習に関する論文
一杯のコーヒー☕
ご貢献は大歓迎です!乾杯!