輪読会「ゼロから作るDeep Learning④ 強化学習編」第1回

はじめに

てくますプロジェクトでは、てくますゼミと呼ばれる学習会を開催しています。

少人数であーだこーだ議論しながら、考える楽しさを分かち合うことを大切にしています。

現在は「ゼロから作るDeep Learning④ 強化学習編」という本を読み進めています。

今回は本書第1回の輪読会ということで、1章を読み進めました!

本記事では、今回の勉強会で学んだことをざっくりと紹介していきます。

学習内容

強化学習とは

強化学習は、教師あり学習や教師なし学習と同様、機械学習の一種です。

強化学習とは、「エージェント」「環境」が相互作用しながら高い報酬を得るように学習する方法です。

エージェント、環境の状態を観測し、それに基づき行動を行います。その結果として、エージェントは環境から報酬を受け取ると同時に新しい状態を観測します。

バンディット問題

バンディット問題は、強化学習の基本的な例です。

特性が異なる複数のスロットマシンがある状況で、プレイヤーは決められた回数(たとえば1000回)スロットマシンをプレイして、その中でできるだけ多くのコインを集めることを考えます。

  • 行動:複数のスロットマシンから1台を選びプレイする
  • 報酬:得られたコインの枚数

最初プレイヤーは、どのスロットマシンが当たりやすいかといった情報を知らず、実際にプレイをしていく中で、良さそうなマシンを探していく必要があります。

スロットマシンをプレイして得られるコインの枚数には、0枚、1枚、5枚、10枚などランダム性です。スロットマシンの良さは、平均してもらえるコインの枚数(期待値)によって決まります。

例 あるスロットマシンをプレイして得られるコインの枚数
0枚の確率 0.7
1枚の確率 0.15
5枚の確率 0.12
10枚の確率 0.03
期待値は、0 × 0.7 + 1 × 0.15 + 5 × 0.12 + 10 × 0.03 = 1.05

報酬の期待値は行動価値と呼びます。

あるスロットマシンを何回か動かしたとき、そのスロットマシンの行動価値の推定値は、観測した何回かの平均(標本平均)となります。これは「真の行動価値」ではないですが、回数を重ねるごとに信頼度の高い推定値となっていきます。

ε-greedy法

さて、エージェントはどのような戦略を取るべきでしょうか。

  • これまでの結果を利用して、最善と思われるスロットマシンをプレイする(greedyな行動)
  • スロットマシンの価値の推定精度を上げるために、様々なスロットマシンを試す

前者を活用、後者を探索と呼びます。

活用と探索のバランスの取り方は様々ですが、その中で最も基本的なものがε-greedy法です。
これは確率εで探索を行い、それ以外の確率で活用を行うという手法です。

この手法を用いることで、エージェントはなるべく高い報酬を得る(つまり1000回の中でできるだけ多くのコインを集める)ように学習することができます。

非定常問題

ここまでは、スロットマシンに設定された行動価値はプレイする期間、変化しない想定でした。反対に、プレイするたびにスロットマシンの行動価値が変動するような問題を考えることもできます。これを非定常問題と呼びます。

定常問題では行動価値を計算するために標本平均を計算していました。一方、非定常問題では、すべての報酬を平等に扱うのではなく、新しく得られた報酬を重要に考えるべきです。そのため、標本平均の代わりに指数移動平均を用います。

標本平均 \(Q_n=\displaystyle \frac{1}{n}R_1+\displaystyle \frac{1}{n}R_2+…+\displaystyle \frac{1}{n}R_n\)

指数移動平均 \(Q_n=αR_n+α(1-α)R_{n-1}+…+α(1-α)^{n-1}R_1+(1-α)^nQ_0\)

最後に

今回から強化学習について学び始めました。メンバーは6人でやっています。

新しい用語がたくさん登場! 内容的にはまだ穏やかな感じですが、どんどん難しくなっていくんでしょうね。次回のゼミも楽しみです。

では、また!

本シリーズの記事はこちら

各ゼミの第1回記事はこちら