強化学習: はじめに
Sutton & Barto の著書「強化学習: 入門 (第 2 版)」の Python レプリケーション
コードに関して混乱がある場合、またはバグを報告したい場合は、私に直接メールするのではなく、問題を開いてください。残念ながら、この本には演習の解答がありません。
コンテンツ
第1章
- 三目並べ
第2章
- 図 2.1: 10 アームのテストベッドからの例示的なバンディット問題
- 図 2.2: 10 アーム テストベッドでのイプシロン貪欲アクション値メソッドの平均パフォーマンス
- 図 2.3: 楽観的な初期行動価値の推定
- 図 2.4: 10 アームのテストベッドでの UCB アクション選択の平均パフォーマンス
- 図 2.5: 勾配バンディット アルゴリズムの平均パフォーマンス
- 図 2.6: さまざまなバンディット アルゴリズムのパラメータ研究
第3章
- 図 3.2: ランダム ポリシーを使用したグリッドの例
- 図 3.5: グリッドワールドの例に対する最適なソリューション
第4章
- 図 4.1: 小さなグリッドワールド上での反復的な政策評価の収束
- 図 4.2: ジャックのレンタカーの問題
- 図 4.3: ギャンブラーの問題の解決策
第5章
- 図 5.1: ブラックジャック ポリシーの近似状態値関数
- 図 5.2: Monte Carlo ES によって発見されたブラックジャックの最適なポリシーと状態値関数
- 図 5.3: 重み付けされた重要度のサンプリング
- 図 5.4: 推定値が驚くほど不安定な通常の重要度のサンプリング
第6章
- 例 6.2: ランダム ウォーク
- 図 6.2: バッチ更新
- 図 6.3: 風が強いグリッド ワールドに適用された Sarsa
- 図 6.4: 崖歩きタスク
- 図 6.6: TD 制御手法の暫定および漸近パフォーマンス
- 図 6.7: Q ラーニングとダブル Q ラーニングの比較
第7章
- 図 7.2: 19 状態のランダム ウォークにおける n ステップ TD 法のパフォーマンス
第8章
- 図 8.2: 計画ステップの数が異なる Dyna-Q エージェントの平均学習曲線
- 図 8.4: ブロッキングタスクにおける Dyna エージェントの平均パフォーマンス
- 図 8.5: ショートカット タスクにおける Dyna エージェントの平均パフォーマンス
- 例 8.4: 優先順位付けされたスイープにより、Dyna 迷路タスクの学習時間が大幅に短縮される
- 図 8.7: 予想される更新とサンプル更新の効率の比較
- 図 8.8: さまざまなアップデート配布の相対的な効率
第9章
- 図 9.1: 1000 状態のランダム ウォーク タスクの勾配モンテカルロ アルゴリズム
- 図 9.2: 1000 状態のランダム ウォーク タスクにおける半勾配 n ステップ TD アルゴリズム
- 図 9.5: 1000 状態のランダム ウォーク タスクにおけるフーリエ基底と多項式
- 図 9.8: 初期一般化と漸近精度に対する特徴幅の影響の例
- 図 9.10: 1000 状態のランダム ウォーク タスクにおける単一タイリングと複数タイリング
第10章
- 図 10.1: 1 回の実行での Mountain Car タスクの移動コスト関数
- 図 10.2: Mountain Car タスクの半勾配 Sarsa の学習曲線
- 図 10.3: Mountain Car タスクにおける半勾配 Sarsa のワンステップ パフォーマンスとマルチステップ パフォーマンス
- 図 10.4: n ステップのセミグラジエント Sarsa の初期パフォーマンスに対する alpha と n の影響
- 図 10.5: アクセス制御キューイングタスクの差分半勾配 Sarsa
第11章
- 図 11.2: ベアードの反例
- 図 11.6: Baird の反例に対する TDC アルゴリズムの動作
- 図 11.7: Baird の反例に対する予想される ETD アルゴリズムの動作
第12章
- 図 12.3: 19 状態ランダム ウォークでのオフライン λ リターン アルゴリズム
- 図 12.6: 19 状態ランダム ウォークの TD(λ) アルゴリズム
- 図 12.8: 19 状態のランダム ウォークにおける真のオンライン TD(λ) アルゴリズム
- 図 12.10: Mountain Car 上のトレースを置き換えた Sarsa(λ)
- 図 12.11: Mountain Car での Sarsa(λ) アルゴリズムの概要比較
第13章
- 例 13.1: アクションが切り替えられた短いコリドー
- 図 13.1: 短回廊グリッド ワールド上の REINFORCE
- 図 13.2: 短いコリドーのグリッドワールド上のベースラインを使用した REINFORCE
環境
- Python 3.6
- しびれる
- マットプロットライブラリ
- シーボーン
- tqdm
使用法
すべてのファイルは自己完結型です
python any_file_you_want.py
貢献
不足しているサンプルを提供したり、バグを修正したりしたい場合は、お気軽にイシューをオープンするかプルリクエストを行ってください。