til

強化学習 (reinforcement learning)

ページ構成の際、次の情報源を参考にした。

概要

エージェントが環境の中で行動する毎に、新たな状態を観測し、かつ正または負の報酬を与えることで、エージェントが環境内で最も収益の良い行動を取るように導く機械学習の手法。

初めに、強化学習で用いられる用語と変数について、由来を次の通りまとめる。

強化学習における訓練のサイクルは次の通り。

  1. エピソードの開始: 環境をリセットし、エージェントに状態を観測させ、行動を選択させる。その後、新たな状態を返し、報酬を与える
  2. エピソードの終了: エピソードの終了条件を満たした場合、エピソードを終了する。環境をリセットし、次のエピソードに備える。
  3. ポリシーの更新: エピソード終了時、または適切な間隔で、エージェントは方策を更新する。

また、強化学習のタスクは次の2つに分類される。

学習の流れとタスクの分類を踏まえて、深層強化学習のアルゴリズムはモデルベースとモデルフリー、更にモデルフリーは価値ベースと方策ベースに分類される。

gymnasium.Envにおいては、強化学習は次のように抽象化されている。

  1. 最上位のレイヤーとしてアルゴリズムがあり、ポリシーと環境に加えてハイパーパラメータを内包する
  2. ポリシーとして、多層パーセプトロンやCNNなどの深層ニューラルネットワークを持つ
  3. 環境はstepメソッドを必ず持つ。stepは行動を引数に、観測結果と報酬を返す。

強化学習のアルゴリズム

方策勾配法 (Vanilla Policy Gradient)

REINFORCE

PPO

方策ベースの手法。

Actor-Critic

価値ベースかつ方策ベースの手法。

世界モデル (World Models)

価値ベースかつ方策ベースの手法。