強化学習の手法で、Q学習・SARSA・REINFORCE・Actor-Criticが出てくる
どれが何を学んでるんか整理したい
【疑問】Q学習・SARSA・方策勾配法・Actor-Critic、名前は覚えたけど違いが説明できん【G検定】
前提のおさらい。行動価値関数 は、状態 で行動 をとってから先の収益の期待値。割引率 で先の報酬を軽く見る
>>1
大きく分けると2つ
価値を学ぶやり方: を学んで、一番 が大きい行動を選ぶ。Q学習とSARSA
方策を学ぶやり方:「どの状態でどの行動をどれくらいの確率でとるか」(方策)を直接学ぶ。方策勾配法とREINFORCE
両方を組み合わせたのがActor-Critic
>>3
Q学習の更新式は
かっこの中は「実際にもらった報酬+次の状態の一番ええ 」と「今の見込み」の差。この差のぶんだけ、学習率 で少し寄せる
>>4
数字で1回やる。今 、報酬 、次の状態の一番大きい が5、、
>>4
SARSAとQ学習は何が違うん?式がほとんど同じに見える
>>6
違うのは次の状態のところだけ。Q学習は「次に一番ええ行動をとる」と仮定して を使う
SARSAは「次に実際に選んだ行動 」の を使う。名前は使う5つ()の頭文字
さっきの例で、探索のために の行動を実際に選んだら、SARSAでは
>>7
実際に選んだ行動を使うと、何がうれしいん?
>>8
探索でたまに変な行動をとることまで込みで価値を見積もるから、慎重な動き方を学びやすい
崖のそばを歩く例がよく出てくる。Q学習は「いつも最善を選ぶなら」崖ぎりぎりの最短ルートを学ぶ。SARSAは「ときどきランダムに動く」のを込みにして、崖から少し離れたルートを選びやすい
>>9
それはSARSAのほうがええ、ってことちゃうやろ。探索をやめた後は最短ルートのほうが得やし
>>10
そう。どっちがええかは、学習中の失敗がどれくらい痛いかしだい。実機のロボットで学習中に壊したら困るなら慎重なほう、シミュレーションなら気にせんでええ
方策勾配法は、方策をパラメータ で表して、収益の期待値が大きくなる向きに を動かす
価値を経由せんから、ロボットの関節の角度みたいに行動が連続の値でも扱いやすい
>>12
REINFORCEはその代表で、ウィリアムズの1992年の論文。1回最後までやって、収益が大きかった行動の確率を上げる
2択の方策で「右」の確率が0.5、収益 、学習率0.01なら、ソフトマックスの方策では「右」の重みが 増える
>>13
収益は運でかなりぶれるやろ。たまたま大きかった回に引っぱられへんの?
>>14
引っぱられる。だから勾配のばらつきが大きいのがREINFORCEの弱点
そこで、方策を学ぶ役(Actor)とは別に、状態の価値を見積もる役(Critic)を置くのがActor-Critic
>>15
Criticは「思ったよりよかったか」を数字で返す。 と見積もってた状態で、報酬1をもらって の状態に移ったら
正やから、Actorはこの行動の確率を上げる。1回の収益まるごとより、ぶれが小さい
>>16
まとめると、Q学習・SARSAは価値、REINFORCEは方策、Actor-Criticはその両方。この区別で選択肢はだいぶ絞れる
管理人のひとこと
- 価値を学ぶ(Q学習・SARSA)、方策を学ぶ(方策勾配法・REINFORCE)、両方(Actor-Critic)の3つに分けられる。
- Q学習は次の状態の を使う。 で2.35。SARSAは実際に選んだ行動の を使い、 なら2.17。
- SARSAは探索込みで価値を見積もるので慎重なルートを選びやすい。どちらがよいかは学習中の失敗の重さしだい。
- REINFORCE(ウィリアムズ、1992年の論文)は収益の大きかった行動の確率を上げるが、ばらつきが大きい。Actor-CriticはCriticの (例では1.5)で方策を更新する。