LoginSignup
0
0
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【論文読み】Asynchronous Methods for Deep Reinforcement Learning

Last updated at Posted at 2024-06-15

はじめに

元論文: Asynchronous Methods for Deep Reinforcement Learning
著者: Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu

引用数1万超え.

概要

深層強化学習とは強化学習と深層学習を組み合わせたもので,表現力が増すなどの利点があります.

解決したい課題

経験リプレイ (過去のエージェントのデータを保存しておいて学習に使用する技術) は,学習を安定させることができるため使われてきました.

しかしメモリを大量に使用するという問題点があります.

アイデア

エージェントを非同期的に学習させます.これにより,メモリ使用量を削減しつつ学習が安定するらしいです.

提案アルゴリズム

非同期1ステップQ学習(Asynchronous One-Step Q-learning)

各エージェントが独立してQ学習を行い,報酬を基に行動を改善します.

ステップごとに勾配が計算され,dθとして蓄積されていきます.
一定ステップごとに,蓄積された勾配を使用して共有パラメータを更新します.

アルゴリズム

Algorithm 1

非同期1ステップSarsa(Asynchronous One-Step Sarsa)

非同期1ステップQ学習とほぼ同じですが,Q学習の代わりにSarsaを用いたものです.

非同期nステップQ学習(Asynchronous n-step Q-learning)

一度にnステップを考慮して学習し,効率を上げます.

勾配を一定ステップ分蓄積するのは非同期1ステップQ学習でもしていました.
こちらではn回行動を決定してn回状態を更新し,その結果から勾配を計算することで,n回の行動をまとめて計算し効率化しています.

Algorithm S2

非同期アドバンテージアクタークリティック(Asynchronous Advantage Actor-Critic, A3C)

行動と価値の両方を学習し,より賢い行動を選べるようにします.

学習すべきものを価値関数と行動を決めるポリシーに分割し,ポリシーを間接的ではなく直接的に学習させます.

Algorithm S3

さいごに

実験では既存手法に比べてかなりスピードアップしており,高性能も出していました.

A3Cが良い結果を出し,1-stepよりn-stepの方が良い結果を出すようです.

A3Cでポリシーを価値関数と分けて明示的に学習させるというのは,単純ですが確かに効果が高そうで,広く活かせそうに思います.
n-stepが1-stepより効率だけでなく最終的な性能でも勝っているのは一見意外ですが,ある程度まとめて学習することで,ノイズを過剰に学習せずに済んだのかもしれません.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0