全10382文字
PR

現在は第3次人工知能(AI)ブームといわれている。立役者の1つが「強化学習」。本連載は、強化学習の基礎から最新の話題まで、技術のエッセンスを直感的に理解してもらい、より専門的な教科書や論文を読みこなせるようになってもらうことが目標である。最終回は、Q学習がいまひとつのときに試してみたい、強化学習の古典的な手法を紹介する。

 今回は、Q学習とは異なる、強化学習の様々な手法を紹介します。これらは、深層学習と組み合わせた深層強化学習(Deep Reinforcement Learning)が登場する以前からある、いわば古典的な手法です。深層強化学習はこれらの手法を前提に提案されているため、最新手法を理解する上でも、古典的な手法をきちんと押さえておくことが大切です。

 強化学習を利用する立場からすると厄介なのは、「この問題にはこの手法が適している」と明確な判断がつかないことです。手元の課題に適した手法を知るには、結局のところ様々な手法を実際に試してみるのが一番です。強化学習自体、試行錯誤で、すべての行動を試した上で、ようやく最適な方策を探す技術であるのと同様に、「どの手法が最適なのか?」を知るためには、それぞれの手法を、まずは使ってみることです。

 最も一般的なQ学習を試して、いまひとつ芳しくない結果に終わった場合には、今回紹介する数々の手法を思い出してみてください。

更新式がわずかに違う

 最初に紹介するのは、Q学習によく似た「Sarsa」と呼ばれる手法です。Q学習と同様に、まずは適当な初期値を設定し、前回の推定値に基づいて新たな推定値を更新し続ける、ブートストラップ方式を取ります。

 具体的には、環境の状態がsのときに行動aを実行し、その結果得られる報酬rや次の状態s’を観察して、行動価値Q(s,a)を更新し続けます。最終的に得られた行動価値をもとに、従うべき方策を決めます。

 Q学習との違いは、基本的に更新に使う式だけです。Sarsaでは次の式を利用します。ちなみにSarsaという名称は、音楽やソースのサルサ(salsa)からきているわけではなく、下式に必要な5つの項目(状態s、行動a、報酬r、次の状態s’、次の行動a’)を並べた言葉だそうです。

 この式が、下記に示すQ学習の式と何が違うのか見比べてみてください。

 すぐにお分かりいただけるように、Q学習では[]内にmaxがありますが、Sarsaにはありません。maxは、すべてのa’を入れ替えてQ(s’,a’)を評価したときに、得られる最大の価値を選ぶという操作です。これに対してSarsaでは、現在の方策π(a|s)に従ってa’を決め、そのa’に対応するQ(s’,a’)の値を使うのです。つまり、Q学習はエージェントの行動を決める方策π(a|s)に関係なく最大のQ(s’,a’)を選ぶ一方で、Sarsaは方策π(a|s)に基づいて求めるというわけです。

 ちなみにSarsaでは、方策π(a|s)として現在のQ(s,a)をもとにしたεグリーディー法(ほとんどの場合はQ(s,a)が最大の行動を選び、わずかな確率εでランダムに行動を選ぶ方法)などを使うのが普通です。学習が進むにつれてQ(s,a)の値が次第に正確になっていきますので、それに応じてεの値が小さくなるような工夫などをしています。