方策の学習とバンディット:行動の選び方を学ぶ
行動の選び方そのものを学ぶ方策ベースの強化学習と、探索と活用の兼ね合いを扱うバンディットアルゴリズムを学びます。基礎層では、方策を直接うまくする道と、崖のそばのルート選びで分かれるQ学習とSARSAの判断の違いをつかみます。深掘り層では、方策勾配法やREINFORCE、Actor-Critic、ε-greedy方策やUCB方策まで説明できるようになります。
ねらい
このレッスンでは、行動の選び方そのものを学ぶ方策ベース(ほうさくベース)の強化学習と、試すことと稼ぐことの兼ね合いを扱うバンディットアルゴリズムを学びます。
基礎
方策を直接うまくする道があるという大枠と、探索(たんさく)と活用(かつよう)の兼ね合いをつかみます。あわせて、方策の扱いの違いが、前のレッスンで学んだQ学習とSARSAの道選びをどう分けるかを見ます。
1. 価値をはさむ道と方策を直接うまくする道
前のレッスンで、状態に応じてどの行動を選ぶかの方針を方策と呼ぶと学びました。Q学習もSARSAも、行動の価値をはかり、価値の高い行動を選ぶ手法でした。この道では、方策は「価値をくらべて選ぶ」という形で価値のうしろに隠れています。
価値をはさむ道には、苦手な場面があります。行動の候補が膨大な場面と、ロボットの関節の角度のように行動が連続した量である場面です。候補が数えきれないほどあると、行動の1つ1つに価値をはかってくらべる方式は成り立ちにくくなります。
そこで、もう1つの道が生まれました。価値をはさまず、方策そのものを直接うまくしていく道です。「この状況ではこの行動を選びやすくする」という方針そのものを報酬が増える方向へ少しずつ調整します。良い報酬につながった行動は次からもっと選ばれやすく、そうでない行動は選ばれにくくします。
方策を直接調整するこのやり方を方策ベースのやり方と呼びます。価値をはかって間接的に選ぶ道と、方策を直接学ぶ道。強化学習には、この2つの大きな道があります。
ポイント
強化学習には、価値をはかって間接的に行動を決める道と、方策そのものを直接うまくする道があります。行動の候補が膨大なときや連続した量のときは、直接学ぶ道が向いています。
2. 強化学習につきまとう探索と活用のトレードオフ
方策の話を進める前に、強化学習の全体につきまとう悩みを1つ押さえます。今いちばん良いと分かっている行動を取り続けるか、まだよく分からない行動を試すか、という悩みです。
初めての街で夕食の店を選ぶ場面が、ちょうどこの形をしています。一度当たりの店を見つければ、毎晩そこに通うだけで今夜の満足は確実です。しかし、まだ入っていない店の中に、もっと良い店が眠っているかもしれません。かといって新しい店ばかり試せば、外れの夜も増えます。
今分かっている中で最も良い行動を選んで報酬を稼ぐことを活用といいます。まだよく分からない行動をあえて試して情報を集めることを探索といいます。活用ばかりでは、もっと良い行動を見逃したままになります。探索ばかりでは、目先の報酬を取りこぼします。この2つの兼ね合いを探索と活用のトレードオフといいます。
強化学習のエージェントも、学習のあいだずっとこの悩みの中にいます。ふだんは良さそうな行動を選びつつ、ときどき試しの行動を混ぜて学びます。実は、この「ときどき試す」という寄り道の扱いこそ、道選びを分けた張本人です。
3. 同じコースで道が分かれるQ学習とSARSA
ここで、崖のあるコースを考えます。平らな地面にスタートとゴールがあり、その間の片側だけが深い崖になっています。1歩進むごとに報酬が少し差し引かれ、崖に落ちると大きな罰を受けるので、落ちずに少ない歩数でゴールに着くほど良い成績です。近道は崖のふちに沿ってまっすぐ歩く道で、崖から離れて回りこめば安全ですが遠回りになります。1歩ごとに報酬が少し引かれ、崖に落ちれば大きな罰。最短は崖のふちに沿った道で、安全なのは崖から離れた遠回りの道でした。
まず、Q学習の頭の中をのぞきます。前のレッスンで見たとおり、Q学習は見積もりを更新するとき、次の状態で取れる行動のうち価値が最も大きいものを使います。自分が実際に次へ取る行動がどれかは、計算に入れません。
言いかえると、Q学習は「自分はこの先ずっと、崖から落ちない最善手を取り続けられる」という理想を前提に道の良さを計算しています。理想どおりに歩けるなら、崖のふちに沿った最短の道が最も多くの報酬を残します。だからQ学習は、崖ぎりぎりの道を平気で最適と見積もります。
学習中の実際の自分は、探索のためにときどきランダムに動いています。それでもQ学習は、その事情と切り離した最善の想定で学びます。前のレッスンで方策から離れた学習と呼んだ性質の正体が、この理想前提です。
対するSARSAは、見積もりの更新に、次の状態で実際に取った行動を使います。実際のエージェントは、ときどき探索の寄り道をします。崖のふちの道では、その寄り道が一度でも崖側へ出れば、大きな罰が現実になります。
SARSAの見積もりには、この失敗の痛みが実際の経験としてまざりこみます。その結果、崖ぎりぎりの道は危ない道として低く見積もられ、SARSAは崖から十分に離れた遠回りの道を最適と判断します。自分はときどきミスをするという現実を織り込み、実際の方針に沿って学ぶ。前のレッスンで方策に沿った学習と呼んだ性質は、この現実の織り込みを指しています。
同じコース、同じ報酬のルールでも、方策の扱い方しだいで答えが変わります。Q学習は大胆でSARSAは慎重だといわれる性格の違いの正体は、理想を前提に学ぶか、探索のミスまで織り込んで学ぶかの違いです。
ここまでの要点
- 強化学習には、価値をはかる道と、方策そのものを直接うまくする方策ベースの道があります。
- 今の最善で稼ぐ活用と、試して情報を集める探索の兼ね合いを探索と活用のトレードオフと呼びます。
- 同じ崖のコースでも、理想を前提にするQ学習は崖ぎりぎりの最短を選び、探索のミスを織り込むSARSAは安全な遠回りを選びます。
まずは全体像をつかめれば十分という人は、ここで区切って大丈夫です。「方策をどう扱うかで、同じ問題でも学ぶ答えが変わる」と押さえられていれば、この先の深掘りに進む土台はできています。
発展
ここからは、方策そのものを直接動かして学ぶ手法と、探索と活用を数の形で設計するバンディットの手法にふみこみます。
4. 報酬が増える向きへ方策を動かす方策勾配法とREINFORCE
基礎層で見た「方策を直接うまくする道」を実際のしくみにした代表が、方策勾配法です。方策勾配法は、方策を数式の形で表します。そのうえで、方策を少し変えたら報酬の見込みがどちらへ動くかを調べ、報酬が増える向きへ方策を少しずつ動かします。
ここでいう勾配とは、少し変えたときにどちら向きに増えるかを表す傾きのことです。霧の中で山をのぼるとき、頂上は見えなくても、足もとの傾きをたしかめれば高い方へ一歩ずつ進めます。方策勾配法は、この傾きを頼りに方策を良い方へ更新し続けます。
方策勾配法を実際の手順にした基本の手法が、REINFORCE(リインフォース)です。REINFORCEは、今の方策で行動をひととおり最後まで試します。そして、そのあいだに得られた報酬の合計を見ます。合計が大きかったときに取った行動は選ばれやすく、小さかったときの行動は選ばれにくくなるように、方策を動かします。
REINFORCEには弱点があります。最後まで試した結果をそのまま使うため、結果が運で大きくばらつき、学習が安定しにくいのです。同じ方策でも、たまたま良い結果が出る回もあれば、たまたま悪い結果が出る回もあるからです。この弱点を補う工夫が、次の手法を生みました。
理解の確認
方策勾配法は、報酬の見込みが増える向きという傾きを調べ、その向きへ方策を少しずつ動かします。REINFORCEはその基本形で、最後まで試した報酬の合計を手がかりにします。手がかりが運でばらつくため、学習が安定しにくい課題が残ります。
5. 方策と価値を組み合わせるActor-Critic
方策を直接学ぶ道と、価値をはかる道は、対立するものではありません。REINFORCEのばらつきという弱点は、価値の見積もりの力を借りると補えます。この発想で2つの道を組み合わせた手法が、Actor-Critic(アクター・クリティック)です。
Actor-Criticには、2つの役割があります。Actor(アクター、演じ手)は、実際に行動を選ぶ方策を受け持ちます。Critic(クリティック、批評家)は、その行動の価値を見積もる役を受け持ちます。Actorが行動を選び、Criticがその良し悪しを価値で評価し、Actorはその評価を手がかりに方策を更新します。
この分業が、ばらつきをやわらげます。REINFORCEが使っていたのは、運に左右される「最後までの報酬の合計」でした。Actor-CriticはCriticが学んだ価値の見積もりを使うため、より落ち着いた手がかりで方策を更新できます。方策を直接学ぶ柔軟さと、価値ではかる安定さの、両方を生かした手法です。
理解の確認
Actor-Criticは、行動を選ぶActorと、価値を見積もるCriticの組み合わせです。Criticの見積もりを手がかりにするため、報酬の合計をそのまま使うREINFORCEより学習が安定しやすくなります。
6. 探索と活用を数の形で扱うバンディットアルゴリズム
最後に、基礎層で見た探索と活用のトレードオフだけを最も単純な形に取り出して扱うしくみを見ます。バンディットアルゴリズムです。名前は、スロットマシンの俗称に由来します。
当たりやすさの分からないスロットマシンが何台も並んでいる場面を考えます。どの台をどれだけ試し、どの台を重点的に回すか。崖のコースと違って台の前から動かないので、状態の移り変わりを考える必要がなく、探索と活用の兼ね合いだけが純粋に残ります。この問題を土台に、試し方と稼ぎ方の作戦を設計します。
最も素直な作戦が、ε-greedy方策(イプシロングリーディーほうさく)です。ふだんは、今いちばん良いと分かっている台を選んで活用します。そのうえで、ときどき、ある小さな割合でわざとランダムに別の台を試して探索します。この「ときどき試す割合」をギリシャ文字のεで表します。εを大きくすると探索が増え、小さくすると活用が増えます。単純ですが、1つの台に固まったまま良い台を見逃し続ける事態を防げます。
もう1つの代表が、UCB方策(ユーシービーほうさく)です。UCB方策は、ただランダムに試すのではなく、試した回数が少なくて見込みの不確かな台を優先して試します。それぞれの台について、今の見込みの良さに不確かさの分の上乗せを足した値を求め、その値が最も大きい台を選びます。まだよく分からない台には大きな上乗せがつくので、自然と探索が進みます。回数を重ねて不確かさが減ると上乗せは小さくなり、見込みの良い台の活用へ移っていきます。
当てずっぽうの割合で試すε-greedy方策と、不確かさを見て賢く試すUCB方策。同じトレードオフに対する、試し方の設計の違いです。
理解の確認
バンディットアルゴリズムは、探索と活用の兼ね合いだけを純粋に取り出した問題設定です。ε-greedy方策は割合εでときどきランダムに試します。UCB方策は、不確かさの上乗せが大きい台を優先して試し、回数を重ねるにつれて活用へ移ります。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。