最終更新日:
強化学習:基本的用語の解説
こんにちは。スキルアップAIの野口です。
一般に機械学習は「教師あり学習」「教師なし学習」「強化学習」の3つに大別できます。その中でも特に「強化学習」には、他2つの機械学習には出てこない多くの用語(概念)が見られます。
そこで今回は、強化学習を学ぶ上で必要となってくる、強化学習における基本的な用語について解説します。
-
強化学習における基本的な用語
- 1-1. エージェントと環境の相互作用
- 1-2. 状態・行動・報酬
- 1-3. ステップ・エピソード
- 1-4. マルコフ決定過程
- 1-5. 方策
- 1-6. 収益
- 1-7. 価値
- まとめ
- おわりに
- 参考文献
1.強化学習における基本的な用語
1-1.エージェントと環境の相互作用
図1:エージェントと環境の相互作用
強化学習の枠組みには「エージェント(agent)」と「環境(environment)」と呼ばれる構成要素が登場します。意思決定および行動の主体のことを「エージェント」と呼び、エージェントと相互作用を行う対象のことを「環境」と呼びます。「相互作用」とは、エージェントと環境が互いに情報の送受信を行うことを指します。
1-2.状態・行動・報酬
ここでいう「情報」とは「状態(state)」「行動(action)」「報酬(reward)」の3つのことを指します。つまり、エージェントと環境において、状態・行動・報酬という3つの情報の送受信が行われるということになります。
3つの情報のうち「状態」はエージェントの置かれている状況を表し、「行動」はエージェントの振る舞いを表します。そして「報酬」は、行動の即時的な良さを表します。つまり、ある1回の行動を評価する指標が報酬ということになります。この報酬は、即時的であることを強調するために「即時報酬」と呼ばれることもあります。
エージェントと環境における相互作用の概念図を図1に示します。エージェントから環境に向けて「行動」が送られます。一方で環境は、送られた「行動」に応じて「状態」と「報酬」をエージェントに送信します。
1-3.ステップ・エピソード
このエージェントと環境の相互作用(情報の送受信)は繰り返し行われることになります。このときの相互作用が行われる回数のことを「ステップ」と呼びます。
また、強化学習で解きたいタスクの開始から終了までの期間のことを「エピソード」と呼びます。エピソードは複数のステップから構成されます。
つまり、強化学習にはステップとエピソードという2種類の時間単位が存在するということになります。
1-4.マルコフ決定過程
図2:マルコフ決定過程の例とマルコフ決定過程でない例。
図中のsは状態、aは行動を表しています。
またs、aのそれぞれの添字は、時間ステップを表しています。
強化学習では、マルコフ決定過程(Markov Decision Process: MDP)と呼ばれる数理モデル(確率過程)で、エージェントと環境の相互作用を記述します。マルコフ決定過程の例とマルコフ決定過程でない例を図2に示します。
マルコフ決定過程において重要な性質は「現在の状態 st と採用した行動 at から、次の状態 st+1 が確定する」というものです。この性質を「マルコフ性」と呼びます。もしマルコフ性が成立しない数理モデル(確率過程)で相互作用を記述してしまうと、問題が複雑になってしまい現実的な時間で解くことができなくなってしまいます。そのため強化学習においてはマルコフ決定過程がよく用いられます。
1-5.方策
エージェントの行動を決定するルールを「方策(policy)」と呼びます。「図1:エージェントと環境の相互作用」を見ると、エージェントから行動が出力されているのがわかります。この行動を出力するルール(関数)が方策です。
強化学習で用いられる用語のなかでも、方策は特に重要な用語になります。なぜなら、強化学習の問題とはすなわち方策の最適化問題であると捉えられるからです。つまり、強化学習の問題を解くということは、言い換えれば「最適な方策を見つけること」ということになります。
なお、有限マルコフ決定過程(状態数と行動数がともに有限であるマルコフ決定過程)においては、最適な方策は少なくとも1つは存在するということが知られています。
1-6.収益
最適な方策を発見するためには、その方策が良い方策かどうかを判断するための評価指標が必要になってきます。その方策が良い方策かどうかは、その方策によって決められた行動が良い行動かどうかを評価することによって、間接的に判断することができます。
1-2で解説した「報酬」は、ある行動の即時的な良さを示す指標でした。単純に考えれば、報酬を行動(方策)の評価指標に使えそうな気もします。しかしよく考えてみると、1回の報酬で行動(方策)を評価することはあまり適切ではないことに気づくでしょう。なぜならば、すぐには大きい報酬を得られない行動であっても、それは後に大きい報酬を得るために必要な行動である可能性があるからです。したがって行動を正しく判断するには、長期的に得られる報酬に注目する必要が出てきます。
そこで考えられる指標が「収益(return)」です。収益は、ある時間ステップを開始時点とする期間で得られた累積報酬を指します。収益を方策(行動)の評価指標として用いる方が、報酬を評価指標として用いるより適切と思えることでしょう。しかし、収益を評価指標として用いることには欠点が1つあります。それは、収益が期間の開始時点の状態に依存するため、収益が確率的に変動するということです。
1-7.価値
そこでその欠点を補うために導入されるのが「状態価値(state value)」または単に「価値(value)」と呼ばれる評価指標です。状態価値は、ある状態から方策にしたがって行動し続けたときに得られる、収益の期待値です。例えば、1エピソードで得られる収益の期待値などが用いられます。値に期待値を使うのは、確率的に変動する値を平均的な値として算出したいためです。
他にも、ある状態である行動をとり、その後、方策にしたがって行動し続けたときに得られる収益の期待値が用いられることもあります。この収益の期待値は「状態行動価値(state-action value)」または単に「行動価値(action value)」と呼ばれています。例えば、ある状態でどの行動を取るべきか知りたい場合には行動価値が用いられます。
2.まとめ
強化学習の枠組みには「エージェント」と「環境」と呼ばれる2つの構成要素が存在します。エージェントと環境は、お互いに情報の受け渡し(相互作用)を行います。ここで言う情報とは、状態・行動・報酬と呼ばれる3つの情報のことを指します。
また、行動は方策と呼ばれるルール(関数)によって決定されます。強化学習では、エージェントと環境の相互作用を、マルコフ決定過程と呼ばれる数理モデル(確率過程)で記述します。
強化学習の問題を解くとは、最適な方策を求めることに他なりません。したがって、その方策が良い方策であるかを評価する必要があります。このとき使われる方策の評価指標としては「価値」が一般的に用いられます。
3.おわりに
本ブログで紹介した強化学習を実践するには、Pythonの習得が不可欠です。スキルアップAIでは、現在「機械学習のためのPython入門講座」を開講中です。本講座では、Pythonプログラミング未経験レベルから始めて、scikit-learnを用いて機械学習モデルを構築できるようになることを目指します。また、現場で使えるディープラーニング基礎講座では、強化学習の基本を学びます。 本ブログをお読みになって興味を持たれた方はぜひ受講をご検討ください。
また、毎週水曜日に実践的AI勉強会「スキルアップAIキャンプ」を開催しています。勉強会では、様々な実践的テーマを取り上げ、データ分析・AI開発の実務力アップにつながるヒントをご提供します。講師が参加者の皆さんからの質問や悩みに答えるコーナーもあります。
興味がある方はぜひ参加してみてください!
4.参考文献
【監修】スキルアップAI 取締役CTO 小縣信也
AI指導実績は国内トップクラス。「太陽光発電発電量予測および異常検知」など、多数のAI開発案件を手掛けている。日本ディープラーニング協会主催2018E資格試験 優秀賞受賞、2019#1E資格試験優秀賞受賞。著書「徹底攻略ディープラーニングE資格エンジニア問題集」(インプレス)。
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: