強化学習 (reinforcement learning)
ページ構成の際、次の情報源を参考にした。
概要
エージェントが環境の中で行動する毎に、新たな状態を観測し、かつ正または負の報酬を与えることで、エージェントが環境内で最も収益の良い行動を取るように導く機械学習の手法。
初めに、強化学習で用いられる用語と変数について、由来を次の通りまとめる。
- 報酬
- 収益
- ある状態における、その状態からの生涯年収のようなもの
- 変数Gの由来はGainと思われる
- ロールアウト
強化学習における訓練のサイクルは次の通り。
- エピソードの開始: 環境をリセットし、エージェントに状態を観測させ、行動を選択させる。その後、新たな状態を返し、報酬を与える
- エピソードの終了: エピソードの終了条件を満たした場合、エピソードを終了する。環境をリセットし、次のエピソードに備える。
- ポリシーの更新: エピソード終了時、または適切な間隔で、エージェントは方策を更新する。
また、強化学習のタスクは次の2つに分類される。
- エピソードタスク
- 終わりのある問題。
- 囲碁、Atariのゲームなど。
gymnasium.Env#step
の返すterminatedの値がTrueの場合、それはエピソードの終了を意味する。
- 連続タスク
- 終わりのない問題。
- 在庫管理の問題、ロボットの操作の問題など。
学習の流れとタスクの分類を踏まえて、深層強化学習のアルゴリズムはモデルベースとモデルフリー、更にモデルフリーは価値ベースと方策ベースに分類される。
- モデルベース
- モデルフリー
- 価値ベース
- 方策ベース
- ロールアウトが固定タイムステップで行われる傾向がある
gymnasium.Env
においては、強化学習は次のように抽象化されている。
- 最上位のレイヤーとしてアルゴリズムがあり、ポリシーと環境に加えてハイパーパラメータを内包する
- ポリシーとして、多層パーセプトロンやCNNなどの深層ニューラルネットワークを持つ
- 環境は
step
メソッドを必ず持つ。step
は行動を引数に、観測結果と報酬を返す。
強化学習のアルゴリズム
方策勾配法 (Vanilla Policy Gradient)
REINFORCE
PPO
方策ベースの手法。
Actor-Critic
価値ベースかつ方策ベースの手法。
世界モデル (World Models)
価値ベースかつ方策ベースの手法。