まったりAI勉強記

AI(人工知能)について、特にゆかりがあるわけでもない社会人が、まったりとAIについて勉強していく勉強日記です。

【G検定】機械学習の具体的手法 - 代表的な手法 その9

どうも、カタミチです。

さて、ここまでで「教師あり学習」の手法、「教師なし学習」の手法まで見てきました。今回は最後の「強化学習」の手法ですね。

 

理論概要

まず、強化学習の理論の概要からおさらい。

強化学習は、環境から状態を受け取り、そこからより高い報酬を受け取れるような行動を選択するよう学習していく。これですね。

これを「将来にわたって獲得できる累積報酬を最大化する」という風に考えます。時刻をt、累積報酬をRtとすると、式として表すとこんな感じ。

f:id:feh_asama:20220125155606j:image

このRtが最大化される事を目指すわけです。ここで、γは割引率と呼ばれるハイパーパラメータです。…ハイパーパラメータ?

「割引率」は金融でも用いられる用語のようです。例えるなら「今の100円と1年後の100円のほうに価値がある」を数式で表現するためのもの…だそうです。今の100円は、国債などの無リスク資産に投資すれば100円以上になるじゃん!という事のようです。

理解はできますね。まぁ、実際にはリスクの高い資産に手を出して、100円が1年後には80円くらいまで減ってたりもしますが(血涙)

ちなみに、学習プロセスを制御するために使用されるパラメータの事をハイパーパラメータと言うようです。機械学習の用語だったんですね、はい。

 

バンディットアルゴリズム

累積報酬が最大となるように行動を選択する、とひと言に言っても、一連の行動の組み合わせは無数にあります。

ここで用いられる考え方が、活用探索です。お、探索は第1次AIブームの時に出てきた考え方ですね。…と、思ったら微妙に定義が違いそう。

活用:知ってる情報から報酬が最大になるように行動を選ぶ
探索:知ってる情報以外の情報を獲得するために行動を選ぶ

なるほど。「活用」は、営業マンで言うところの「ルート営業」ですね。で、探索は「新規開拓営業」。ルート営業ばっかりやってた方が楽ですが、たまには新規開拓しないと先がありません。まぁ、イメージ的にはそれに近いでしょうかねー。

バンディットアルゴリズムは、その活用と探索のバランスを取りましょう、というアルゴリズムのようです。なぜbandit(強盗)アルゴリズムなのか…。粗暴に選びそうな雰囲気(ふむ)

具体的な手法に、ε-greedy方策UCB方策があります。どちらにも含まれる「方策(policy)」とは、「ある状態からとりうる行動の選択肢、およびその選択肢をどう決定するかの戦略」のことで、各行動を選択する確率表現になります。

 

マルコフ決定過程モデル

強化学習において、状態(St)が次の状態(St+1)に遷移する時、その遷移する確率は現在の状態(St)のみに依存し、それより過去の状態には依存しない、と言う過程を置いています。そうしないと訳がわからなくなりそうですもんね。この事をマルコフ性と言い、状態遷移にマルコフ性を仮定したモデルのことをマルコフ決定過程と言うそうです。…なんか、用語が分かりにくいですね(汗)。マルコフ性利用モデル、とかにしてほしい…。

 

価値関数

活用と探索のバランスがいい感じに取れる方策が見つかるといいんですが、実際にはなかなか難しいようです。

そこで、状態や行動の価値を設定してその価値が最大になるように学習するアプローチが考えられました。それぞれの価値を、状態価値関数行動価値関数で表します。この価値関数のことをQ値とも呼ぶようですね。

Q値を最適化する手法に、Q学習SARSAがあるみたいです。詳しい内容は書かれていなかったので、ここもひとまず用語だけ押さえる感じですかねー。

 

方策勾配

方策勾配法というのは、上の価値関数を最大化するのとは別のアプローチで、方策をあるパラメータで表される関数とし、そのパラメータを学習することで、直接方策を学習していくアプローチです。ロボット制御など、特に行動の選択肢が大量にある場合に用いられます。

具体的な手法の一つにREINFORCEというものがあり、AlphaGoにも活用されているようです。

おー、ようやくここにきて、AlphaGoの名前が登場しましたね。ようやくここまできたかー、という感じです。

また、価値関数ベースおよび方策勾配ベースの考え方を組み合わせたActor-Criticというアプローチも存在しています。応用手法にA3Cなどがあります。

 

ということで

やりたいことはシンプルな気がするんですが、色々な方法が出てきたので絵を描いてみました。こんな感じかな…。

f:id:feh_asama:20220126175422j:image

バンディットアプローチと方策勾配法の関係性がイマイチ掴めませんでしたが、絵にするとこんな感じ…なのかなぁ。

だいぶ前に出てきた「探索木」の考え方とはまた全然違う感じでゲームの勝利を目指す…ってとこですかね。AlphaGoにも活用されている、REINFORCEとか言う手法も出てきましたし、深層学習とも関係があるのかな…?

まだまだ理解が浅いですが、引き続き進めていきますかねー。

ではまた。

勉強に使ってる書籍はこちら↓
深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版