【論文調査】Experience Replay関連の論文6本
0. はじめに
強化学習用Experience Replayライブラリcpprbの次なる開発に向けて論文調査をし、自分のブログに調査スライドを公開したので、その紹介記事です。
サイトにスライドを埋め込んで公開する方法については別途記事として 準備中です。 (追記2/13)公開しました。
off-policy の強化学習では、探索によって得られた遷移を一旦保存しておいて、シャッフルしてから学習に利用する Experience Replay が広く利用されています。
Experience Replayの有名な拡張として、保存した遷移をTD誤差の大きさに応じてサンプルする Prioritized Experience Replay (PER) があります。
PERの後にも、サンプリング効率の向上のために様々な手法が提案されており、それを調査して概要をまとめました。詳しい内容については原論文を参照ください。
1. Competitive Experience Replay (CER)
H. Liu et. al., “Competitive Experience Replay”, ICLR (2019) (arXiv)
- 「ロボットアームを特定の位置にあるタスクを行う」など、ゴールが設定されていてかつ報酬が疎な状況で効率的に探索する手法
- 2つのエージェント
と を同時に学習 (GANみたいに競わせる) - 学習時には、ランダムに保存されているエピソードを選択し、それぞれのエピソードからランダムに遷移を選びミニバッチを作成
- エージェント
はエージェント が探索していない状態を探すように、
エージェントはエージェント が探索した状態に到達するように、
ミニバッチ内の報酬を(非対称に)増減-
, if -
: は を満たす の数
-
- エージェント
の初期化方法は2パターン - independent-CER: タスクの初期分布どおりに初期化する (
) - interect-CER: エージェント
の状態からランダムサンプルする ( )
- independent-CER: タスクの初期分布どおりに初期化する (
- Hindsight Experience Replay (HER)と組み合わせることで、性能向上が見られる
原論文より引用
2. Remember and Forget for Experience Replay (ReF-ER)
G. Novati and P. Koumoutsakos, “Remember and Forget for Experience Replay”, ICML (2019) (arXiv, code)
- 現在の方策とあまりに離れている行動方策から取得された遷移の利用を制限することで、サンプル効率を向上させる手法
- 重要度(importance)を次のように定義:
ただし、 : 現在の方策、 : 行動方策 -
なら "near-policy"、それ以外なら "far-policy" -
ルール1: far-policy の時、損失のgradientを0にする。
-
ルール2: KLダイバージェンスによる正規化項を加える。
-
-
は焼きなまし項 -
: 学習率、 : far-policyの遷移の数、 : 全遷移の数、 : ハイパーパラメータ
-
原論文からの引用。ReF-ER-1: ルール1のみ適用。ReF-ER-2: ルール2のみ適用。ReF-ER: ルール1&2の両方を適用
3. Experience Replay Optimization (ERO)
D. Zha et. al., “Experience Replay Optimization”, IJCAI (2019) (arXiv)
- Replay Bufferをマスクする確率を別のネットワークのReplay Policy (
)で学習させる手法
(エージェントのPolicyとReplay Policyの両方をそれぞれ学習させる) - 遷移に対してスコア(
)を定義:
ただし、: 番目の遷移の特徴量 - マスク(
)はベルヌーイ分布で作成 - マスクが、1となる遷移の中から一様にエージェントの学習用ミニバッチをサンプルする
- サンプルした遷移に対して、新しいスコアを再計算して保存する
- Replay Policyは、replay reward (
: エピソードの累計報酬の増加量)を最大化するように学習させる
原論文より引用
4. Attentive Experience Replay (AER)
P. Sun et. al., “Attentive Experience Replay”, AAAI (2020) 34, 5900-5907
- 状態の類似度を計算し、類似度の高い状態をエージェントのpolicyの学習に利用する手法
- ミニバッチのサイズ
の 倍の 個の遷移を一様にサンプルする - (タスク依存の)類似度関数
を用いて、今の状態 とサンプルした の類似度を計算し、
類似度の高い個をミニバッチに採用する - MuJoCoには、コサイン類似度:
- Atari 2600には、512次元の埋め込み特徴量の差:
- MuJoCoには、コサイン類似度:
-
は焼きなましパラメータで、 と ステップを利用して徐々に変化 -
: ハイパーパラメータ、 : トータルステップ数
-
原論文より引用
5. Dynamic Experience Replay (DER)
J. Luo and H. Li, “Dynamic Experience Replay”, CoRL (2020) (arXiv)
- ロボットコントロール等のタスクにおいて、人間が作成したデモンストレーションだけではなく、タスクを成功したエピソードもデモンストレーションの一部として採用する手法
- デモンストレーション用に特別な領域を持つ複数のReplay Bufferを用意
- Workerは、探索した遷移を無作為に選んだ
に保存し、タスクを成功した際には別のReplay Buffer にも保存する - Trainerは、無作為に選んだ
からpriorityに応じて遷移をサンプルし学習する - 方策更新後にpriorityを更新する
- 定期的に、各Replay Buffer
のデモンストレーション領域の遷移を の遷移で置き換える
原論文より引用
6. Neural Experience Replay Sampler (NERS)
Y. Oh et. al., “Learning to Sample with Local and Global Contexts in Experience Replay Buffer”, ICLR (2021) (arXiv)
- Replay Bufferからサンプルする確率を別のネットワークNERSで学習する手法
- EROと異なり、PERのpriority (=TD誤差の大きさ)にあたるスコア(
)を予測する
- EROと異なり、PERのpriority (=TD誤差の大きさ)にあたるスコア(
- Actor/Criticの学習に利用したミニバッチの遷移に対して
- スコア(
)をNERSで更新する - インデックス(
)を保存しておく ( )
- スコア(
- エピソード終端で、
から一様にサンプルし( )、replay reward を最大化するようにNERSを学習させる (その後 に戻す) - 入力は、
-
: 番目の時刻、 : TD誤差、 : 割引率、 : ターゲットネットワークのパラメータ
- 入力は、
- NERSは3種類のネットワーク(
)の組合せ (下の引用図も参照) -
: ローカルネットワーク。遷移ごとに計算 -
: グローバルネットワーク。遷移ごとに計算し、ミニバッチで平均する -
: スコアネットワーク。 の出力と の出力を結合したものを入力に各遷移のスコア ( ) を計算
-
原論文より引用
原論文より引用
追記 2/18
Experience Replayの理論に関する調査記事を書きました。
Discussion