1. 序章

このチュートリアルでは、イプシロン-貪欲なQ学習、よく知られている強化学習アルゴリズムについて学習します。 また、時間差や途中でのポリシー外学習など、いくつかの基本的な強化学習の概念についても説明します。 次に、探索との比較を行います。 搾取のトレードオフとイプシロン-貪欲な行動の選択。 最後に、学習パラメーターとそれらを調整する方法について説明します。

2. Q学習アルゴリズム

強化学習(RL)は、機械学習のブランチであり、システムはアクションの結果から学習します。 このチュートリアルでは、 Q学習に焦点を当てます。これは、ポリシー外の時間差(TD)制御アルゴリズムと呼ばれます。 1989年にワトキンスによって提案されました。

状態とアクションのペアを格納するテーブルを作成して入力します。 テーブルは、またはQテーブルと同じ意味で呼び出されます。

Qテーブルでは、状態とアクションの状態とアクションのペアに対応しています。 報酬の略です。 は現在のタイムステップを示し、したがって次のタイムステップを示します。 アルファ()とガンマ()は学習パラメータであり、次のセクションで説明します。

この場合、状態とアクションのペアの可能な値は、次の式によって繰り返し計算されます。

   

これは、アクション値関数またはQ関数と呼ばれます。この関数は、特定の状態で特定のアクションを選択する値を概算します。 この場合、はアルゴリズムによって学習されたアクション値関数です。 最適なアクション値関数を近似します。 

アルゴリズムの出力は計算値です。 状態とアクションのQテーブルは次のようになります。

Q学習の簡単なアプリケーションは、迷路でのパスファインディングです。迷路では、考えられる状態とアクションは簡単です。 Q学習を使用すると、エージェントに目標に向かって移動し、途中でいくつかの障害を無視する方法を教えることができます。

3×3グリッドの中央にエージェントがある、さらに単純なケースを想定してみましょう。 このミニの例では、可能な状態は、エージェントが常駐できるグリッドのセルです。 可能なアクションは、エージェントが移動できる(最大で)8つの隣接するセルです。 状態とアクションの値は次のとおりです。

この場合、エージェントの状態を指定してQ値を簡単に表すことができます。 上記の例では、エージェントが真ん中にあり、開始したばかりの状態です。 もちろん、エージェントは最初はその周囲について何も知りません。 アクションを実行すると、アクション値が認識され、各ステップでQテーブルが更新されます。 何度か試行した後、対応するQテーブルセクションが次のように収束すると予想されます。

その結果、エージェントは爆弾を無視し、アクション値に基づいてゴールに向かって移動します。

3. Q学習プロパティ

Q学習は、すでに述べたように、ポリシー外の時間差(TD)制御アルゴリズムです。 次に、これらのプロパティの意味を調べてみましょう。

3.1. モデルフリーの強化学習

Q学習はモデルフリーのアルゴリズムです。モデルフリーのアルゴリズムは試行錯誤の方法と考えることができます。 エージェントは、内部モデルやマルコフ決定過程を構築することなく、環境を探索し、アクションの結果から直接学習します。

最初に、エージェントは環境内で考えられる状態とアクションを知っています。 次に、エージェントは探索によって状態の遷移と報酬を発見します。

3.2. 時間差

これはTDアルゴリズムであり、ステップを実行した後に予測が再評価されます。不完全なエピソードでも、TDアルゴリズムの入力が生成されます。 全体として、最終的な結果を待たずに、最後のアクションが最初に推定したものとどのように異なるかを測定します。

Q学習では、Qテーブルに格納されているQ値は、推定値を使用して部分的に更新されます。 したがって、Q学習で最終的な報酬を待って、以前の状態とアクションのペアの値を更新する必要はありません。

3.3. オフポリシー学習

Q学習はポリシー外のアルゴリズムです。エージェントのアクションとは関係なく、最適な(貪欲な)ポリシーに基づいて状態とアクションのペアの報酬を推定します。 ポリシー外のアルゴリズムは、ポリシーとは関係なく、最適なアクション値関数を近似します。 さらに、ポリシー外のアルゴリズムは、構成されたアクションを使用して推定値を更新できます。 この場合、Q学習アルゴリズムは、学習フェーズでは発生しなかったアクションを調査し、その恩恵を受けることができます。

結果として、Q学習はシンプルで効果的な強化学習アルゴリズムです。 ただし、貪欲なアクションの選択により、アルゴリズムは(通常)最高の報酬を持つ次のアクションを選択します。 この場合、アクションの選択は、おそらくより長く、より良いパスで実行されないため、近視眼的な学習アルゴリズムになります。

4. イプシロン-貪欲なQ学習アルゴリズム

Qテーブルへの記入方法についてはすでに説明しました。 Q学習アルゴリズムがどのように機能するかをよりよく理解するために、擬似コードを見てみましょう。

擬似コードでは、最初に、最終状態を除く任意の値を含むQテーブルを作成します。 最終状態のアクション値はゼロに設定されます。

初期化後、エピソードのすべてのステップを実行します。 各ステップで、Qテーブルからアクションを選択します。 次のセクションでは、イプシロン-貪欲なアクションの選択について説明します。

アクションを実行すると、状態がからに変わります。 その間、私たちはの報酬を受け取ります。 次に、これらの値を使用してQテーブルエントリを更新します。 最終状態に達するまで繰り返します。

5. アクションの選択

強化学習アルゴリズムの目標は、さまざまな状況下での動作方法をエージェントに教えることです。 エージェントは、トレーニングプロセス中に実行するアクションを検出します。

5.1. 探索対。 搾取のトレードオフ

アクションの選択がどのように実行されるかをよりよく理解するには、最初に探索と活用の概念を理解する必要があります。

強化学習では、エージェントはその環境を発見しようとします。 上記のように、モデルフリーのアルゴリズムは試行錯誤に依存しています。 これらのトライアル中、エージェントには一連のアクションから選択できます。 一部のアクションは以前に選択されており、エージェントが結果を推測する場合があります。 一方、これまでに実行されたことのないアクションもあります。

多腕バンディット問題では、エージェントは最初、環境に関する知識をまったく持っていないか、限られています。 エージェントは、結果が不明なアクションを選択して探索し、環境に関する詳細情報を取得することを選択できます。 または、環境に関する事前の知識に基づいて、悪用してアクションを選択し、優れた報酬を得ることができます。

エージェントがすでに知っていることを活用することと、ランダムなアクションを探索することの概念は、探索と活用のトレードオフと呼ばれます。 エージェントが探索するとき、それは現在の知識を改善し、長期的にはより良い報酬を得ることができます。 ただし、悪用すると、最適ではない動作であっても、すぐに多くの報酬が得られます。 エージェントは両方を同時に実行できないため、トレードオフがあります。

すでに述べたように、最初はエージェントは可能なアクションの結果を知りません。 したがって、十分な初期調査が必要です。 一部のアクションが他のアクションよりも優れた報酬につながる場合は、エージェントにこれらのオプションを選択してもらいます。 ただし、エージェントがすでに知っていることを利用することだけが危険なアプローチです。

たとえば、貪欲なエージェントが最適ではない状態でスタックする可能性があります。 または、時間の経過とともに環境が変化する可能性があります。 結果として、私たちは探査と搾取のバランスを保ちたいと思っています。 どちらか一方をあきらめない。

5.2. イプシロン-貪欲なアクションセレクション

Q学習では、報酬に基づいてアクションを選択します。 エージェントは常に最適なアクションを選択します。 したがって、特定の状態で可能な最大の報酬を生成します。

イプシロン欲張りアクションの選択では、エージェントは両方の活用を使用して事前の知識を活用し、探索を使用して新しいオプションを探します。

 

イプシロン欲張りアプローチは、ほとんどの場合、推定報酬が最も高いアクションを選択します。目的は、探索と活用のバランスを取ることです。 探索することで、新しいことを試す余地ができ、時にはすでに学んだことと矛盾することがあります。

の確率が低い場合、探索することを選択します。つまり、 これまでに学んだことを利用しないことを選択します。この場合、アクションはアクションとは無関係にランダムに選択されます-値の見積もり。

無限の試行を行うと、各アクションは無限の回数実行されます。 したがって、イプシロン欲張りアクション選択ポリシーは、確実に最適なアクションを検出します。

次に、実装について考えてみましょう。

上で説明したように、通常は最適なアクション、つまりQ値が最も高いアクションが選択されます。 それ以外の場合、アルゴリズムはランダムアクションを探索します。

イプシロン欲張りアルゴリズムは、理解と実装が簡単です。 それでも、打ち負かすのは難しく、より洗練されたアルゴリズムと同様に機能します。 

他のアクション選択方法を使用することも可能であることに留意する必要があります。 目前の問題に応じて、さまざまなポリシーのパフォーマンスが向上する可能性があります。 たとえば、 softmaxアクション選択戦略は、値をアクション確率にマッピングすることにより、探索と活用の相対レベルを制御します。 ここでは、分類器ニューラルネットワークの最終層で使用するソフトマックス活性化関数と同じ式を使用します。

6. イプシロン-貪欲なQ学習パラメーター

擬似コードからわかるように、アルゴリズムは3つのパラメーターを取ります。 それらのうちの2つ(アルファとガンマ)はQ学習に関連しています。 一方、3番目(イプシロン)は、イプシロン-貪欲なアクションの選択に関連しています。

Q値を更新するために使用されるQ関数を思い出してみましょう。

   

それでは、パラメータを見てみましょう。

6.1. アルファ()

他の機械学習アルゴリズムと同様に、 alpha()は学習率またはステップサイズを定義します。上記の式からわかるように、状態の新しいQ値は、古いQ値をインクリメントすることによって計算されます。アルファに選択したアクションのQ値を掛けたもの。

アルファは、0から1()までの実数です。 アルファをゼロに設定すると、エージェントは新しいアクションから何も学習しません。 逆に、アルファを1に設定すると、エージェントは事前の知識を完全に無視し、最新の情報のみを評価します。 アルファ値が高いほど、Q値の変化が速くなります。

6.2. ガンマ()

ガンマ()は割引係数です。 Q学習では、ガンマに最適な将来価値の推定値が乗算されます。 次の報酬の重要性は、ガンマパラメータによって定義されます。

ガンマは0から1までの実数です()。 ガンマをゼロに設定すると、エージェントは将来の報酬を完全に無視します。 このようなエージェントは、現在の報酬のみを考慮します。 一方、ガンマを1に設定すると、アルゴリズムは長期的に高い報酬を探します。 ガンマ値が高いと変換が妨げられる可能性があります。割引されていない報酬を合計すると、Q値が高くなります。

6.3. イプシロン()

Epsilon()パラメーターは、Q学習アルゴリズムのイプシロン欲張りアクション選択手順に関連しています。アクション選択ステップでは、すでに持っているQ値に基づいて特定のアクションを選択します。 イプシロンパラメーターは、アルゴリズムにランダム性を導入し、さまざまなアクションを試行するように強制します。 これは、局所最適にとらわれないようにするのに役立ちます。

イプシロンが0に設定されている場合、私たちは探索することはありませんが、常に私たちがすでに持っている知識を活用します。 逆に、イプシロンを1に設定すると、アルゴリズムは常にランダムなアクションを実行し、過去の知識を使用することはありません。 通常、イプシロンは0に近い小さな数として選択されます。

7. 結論

この記事では、イプシロングリーディQ学習とイプシロングリーディアクションの選択手順について説明しました。 Q学習に関連する強化学習の概念、つまり、時間差、ポリシー外学習、モデルフリー学習アルゴリズムを学習しました。 次に、探索との比較について説明しました。 搾取のトレードオフ。 最後に、イプシロン欲張りQ学習アルゴリズムのハイパーパラメーターとそれらを調整する方法を調べました。