現在は第3次人工知能(AI)ブームといわれている。このブームの立役者の1つが「強化学習」。本連載は、強化学習の基礎から最新の話題まで、分かりやすく解説する。読者の方に技術のエッセンスを直感的に理解してもらい、より専門的な教科書や論文を読みこなせるようになってもらうことが目標である。今回は、前回紹介したQ学習で最適解を導く動的計画法を解説する。
前回は強化学習の代表例としてQ学習を紹介しました。Q学習を使うと、特定の環境に置かれた人工知能(エージェント)は、目的を実現するための適切な行動を効率的に学習できる上、ある数学的な条件の下では最適な行動原理、すなわち将来にわたって獲得し得る報酬の合計(収益)を最大にできる方策(Policy)を導けます。
Q学習によって最適な方策を導くことができるのは、その前身となった「動的計画法(DP:Dynamic Programming)」と呼ばれる手法によるところが大きいです。動的計画法で培われた計算方法を異なる状況に応用した手法が、強化学習や、その代表例であるQ学習だといえます。
まずはQ学習で最適な方策を見つけるための前提条件を説明します。続いて、その条件下で最適解を導く標準的な手法の1つである動的計画法の概要を解説していきます。
現在の状態のみが将来を決める
まず、Q学習で求めた方策が最適になるための大前提を紹介しましょう。ポイントはエージェントが置かれた環境です。Q学習で最適解を求めるためには、環境の振る舞い方が一定の条件を満たす必要があります。
通常、強化学習ではエージェントの一連の動作を次のように模式化します(図1)。まずエージェントは現在の環境の状態を調べます(観測)。そして、観測によって把握した環境の状態に応じて、何らかの行動を取ります。その行動の結果、環境は次の状態に移り、エージェントは報酬を得ます。通常この報酬は、環境の状態が、エージェントが目標とする状態に近くなるほど大きくなる数値として与えられます。
学習は、環境の観測→行動→報酬の獲得→環境の観測…といったように、繰り返しによって進みます。この様子は、エージェントと環境が相互に影響を及ぼし合っているため、専門書などには「相互作用を繰り返す」と書かれています。
環境の状態(state)をS、エージェントの行動(action)をA、獲得する報酬(reward)をRで表すと、
S0→A0→R1→S1→A1→R2→S2→A2→R3…
となるわけです。ちなみに、それぞれの記号に付いた下付きの数字は時刻tを表しています。