エージェント(強化学習)

Agent

エージェントとは

強化学習におけるエージェント(Agent)とは、環境の中で行動を選択し、学習を行う主体のことです。エージェントは環境から状態を観測し、方策に従って行動を決定し、その結果として報酬を受け取りながら、より良い行動選択ができるように自身の方策や価値推定を更新していきます。

表:エージェント(強化学習)の要点まとめ
ひとことで言うと環境の中で行動を選び、学習していく主体のこと。
たとえるとゲームのプレイヤー、工場のロボット、在庫を決める担当者。
注意点エージェントが観測できる情報の範囲を、設計時に明確に決めておく。

エージェントの構成要素

エージェントは一般的に方策(Policy)、価値関数(Value Function)、モデル(環境の内部表現)のいずれかまたは複数を持ちます。方策のみを持つエージェント(方策ベース)、価値関数のみを持つエージェント(価値ベース)、両方を持つエージェント(Actor-Critic)、さらに環境モデルも持つエージェント(モデルベース)など、設計思想によって分類されます。

図:エージェントの役割
1状態を受け取る環境からの情報
▶
2方策で判断どう動くか決める
▶
3行動を実行環境に働きかける
▶
4報酬で学ぶ方策を更新する

エージェントと環境の相互作用

エージェントは各タイムステップで環境の状態を観測し、行動を選択して環境に作用します。環境はその行動に応じて次の状態に遷移し、報酬をエージェントに返します。エージェントはこの経験(状態、行動、報酬、次状態)の蓄積をもとに方策を改善していきます。この相互作用ループこそが強化学習の根幹を成しています。

マルチエージェントシステム

複数のエージェントが同一環境で協力または競争する設定をマルチエージェント強化学習と呼びます。対戦ゲームや交通制御、協調ロボティクスなどで研究が進められています。