G検定(ジェネラリスト検定)
えーすりーしー
A3C
A3C
Asynchronous Advantage Actor-Critic
別称: 非同期アドバンテージ・アクタークリティック
A3Cは、1台のマシンの複数のCPUスレッドで並列に動くアクター学習者が非同期に更新を重ねる、アクタークリティック型の深層強化学習の手法です。
詳しい説明
非同期の枠組みの中で最も良かった手法
A3C(Asynchronous Advantage Actor-Critic)は、深層強化学習のための概念的に単純で軽量な枠組みの中で提案された手法です。この枠組みは、ニューラルネットワークで作った制御器を、非同期の勾配降下で最適化します。論文では、標準的な4つの強化学習アルゴリズムそれぞれに非同期版を作り、並列に動くアクター学習者(actor-learner)が学習を安定させる効果を持つことを示しました。その結果、4つの手法のいずれでもニューラルネットワークの制御器を学習できました。
4つのうち最も性能が良かったのが、アクタークリティックの非同期版であるA3Cです。A3CはAtariのドメインで当時の最先端を上回りました。しかも、GPUではなく単一のマルチコアCPUを使い、半分の学習時間でこの成果を出しています。
経験再生の代わりに並列のアクターで安定させる
DQNの学習では、経験再生(replay memory)が学習を安定させる役割を担っていました。A3Cの枠組みは経験再生を使いません。代わりに、複数の並列アクターがそれぞれ異なる探索方策で環境を探索し、この並列性が経験再生と同じ安定化の役割を果たします。
並列のアクター学習者を使う利点は2つあります。1つ目は、学習時間が並列のアクター学習者の数にほぼ比例して短くなることです。2つ目は、学習の安定を経験再生に頼らなくなったので、Sarsaやアクタークリティックのようなオンポリシーの手法でもニューラルネットワークを安定して学習できるようになったことです。
1台のマシンの複数のCPUスレッドで動かす
アクター学習者を非同期に動かす点は、Gorilaの枠組みと似ています。ただし、Gorilaのように別々のマシンとパラメータサーバを使うのではなく、1台のマシンの複数のCPUスレッドを使います。学習者を1台のマシンにまとめることで、勾配やパラメータを送る通信のコストが無くなり、Hogwild!スタイルの更新で学習できます。
A3Cは、方策と価値関数の推定の両方を保持します。n-step Q学習の非同期版と同じく前向きの見方(forward view)で動き、同じn-stepリターンの組み合わせを使って方策と価値関数の両方を更新します。更新は、tmax回の行動を取るたびに、または終端状態に達したときに行います。
離散と連続の両方に使える汎用性
A3Cは、Atariのような離散的な行動空間だけでなく、連続的な行動空間の課題にも使えます。論文では、Mujoco物理エンジンで模擬した、接触を伴う剛体の物理の課題(物を操作する課題や移動する課題)を扱いました。価値ベースの手法と違い、A3Cは連続的な行動へ簡単に拡張できるため、この実験ではA3Cだけを評価しています。物理的な状態を入力にしても画素を入力にしても、24時間未満の学習で良い解を見つけ、多くの場合は数時間以内でした。
さらにA3Cは、視覚入力だけからランダムな3D迷路を探索する一般的な戦略も学習しました。2Dと3Dのゲーム、離散と連続の行動空間の両方で成功し、フィードフォワード型と再帰型のどちらのエージェントも学習できることから、論文はA3Cを当時最も汎用的で成功した強化学習エージェントだと述べています。
試験で問われること
G検定
- A3CがDQNの経験再生を使わずに学習を安定させる仕組みを、並列のアクターと探索方策の違いという観点から説明できますか。
- 経験再生に頼らないことで、Sarsaやアクタークリティックのようなオンポリシーの手法が安定して使えるようになった理由を説明できますか。
- A3Cが別々のマシンとパラメータサーバではなく、1台のマシンの複数のCPUスレッドで動く利点は何ですか。
- A3Cが方策と価値関数の両方を持ち、離散的な行動空間だけでなく連続的な行動空間の課題にも適用できたことを説明できますか。
最終更新日: 2026/09/23