IMPALA
IMPALA(Importance Weighted Actor-Learner Architecture):強化学習の分散アーキテクチャ
IMPALA とは一言で?
大規模・多タスクな強化学習を安定かつ効率的に実行するための分散型エージェントである.
IMPALA のアーキテクチャ
IMPALA は Actor が軌跡を収集し Learner が一括学習することで,高スループットかつ安定した分散学習を可能にする構成
graph LR
subgraph Learner Side
L[Learner (GPU で勾配更新)]
end
subgraph Actor Cluster
A1[Actor 1<br>(軌跡収集)]
A2[Actor 2<br>(軌跡収集)]
A3[Actor 3<br>(軌跡収集)]
A4[Actor N<br>(軌跡収集)]
end
A1 -- 軌跡送信 --> L
A2 -- 軌跡送信 --> L
A3 -- 軌跡送信 --> L
A4 -- 軌跡送信 --> L
L -- 最新ポリシー送信 --> A1
L -- 最新ポリシー送信 --> A2
L -- 最新ポリシー送信 --> A3
L -- 最新ポリシー送信 --> A4
Actor は環境と対話して状態・行動・報酬の軌跡を収集
- Learner は GPU 上でまとめて処理し,勾配更新
- Actor は学習には関与せず,周期的に最新のパラメータを取得
- 非同期かつ多対一の通信構造でスケーラブル