Hugging Face Q学習入門

Q関数とQテーブルの理解

Q関数は、特定の状態にいることと特定の行動を取ることの価値を決定する行動価値関数です。「Q」は「Quality(品質)」の略です。

内部では、Q関数はQテーブルに依存します。これは各セルが状態-行動ペアの価値に対応する行列です。エージェントはこのテーブルをチートシートとして使用し、状態と行動が与えられると、Q関数はQテーブルを検索して対応するQ値を出力します。

学習は以下のように進行します:

  1. 初期化: Qテーブルは通常ゼロで初期化され、エージェントは環境に関する知識がない状態で開始します。
  2. 探索: エージェントが環境と相互作用するにつれて、状態-行動価値のより良い近似でQテーブルを更新します。
  3. 最適化: Qテーブルが最適化されると、エージェントはすべての可能な状態に対して最適な行動を知っているため、最適な方策を持ちます。

Q学習アルゴリズム

Q学習は、エピソードの最後まで待つのではなく、各ステップで行動価値関数を更新する構造化されたプロセスに従います。

行動選択: ε-グリーディ戦略

探索と活用のトレードオフを管理するために、Q学習はEpsilon-Greedy Strategyを採用します:

  • 探索: 確率 $\epsilon$ で、エージェントは新しい状態-行動ペアを発見するためにランダムな行動を選択します。
  • 活用: 確率 $1 - \epsilon$ で、エージェントはQテーブルから最も高い状態-行動価値を持つ行動を選択します。

学習が進むにつれて、$\epsilon$ の値は徐々に減少(デケイ)し、エージェントの行動はランダムな探索から学習した知識の活用へとシフトします。

更新メカニズム

行動 $A_t$ を実行し、報酬 $R_{t+1}$ と次の状態 $S_{t+1}$ を受け取った後、エージェントはTDターゲットを用いて $Q(S_t, A_t)$ の値を更新します。TDターゲットは即時報酬と、次の状態における最良の状態-行動ペアの割引価値(ブートストラップ)から構成されます。

オフポリシー vs. オンポリシー学習

Q学習はoff-policyアルゴリズムとして分類されます。なぜなら、行動と更新で異なる方策を使用するからです:

  • 行動方策: エージェントが環境で実際に行う行動を選択するために、Epsilon-Greedy方策が使用されます。
  • 更新方策: TDターゲットを計算しQ値を更新するために、常に最高価値の行動を選択するグリーディ方策が使用されます。

対照的に、on-policyアルゴリズム(例: Sarsa)は、行動と更新の両方に同じ方策(例: Epsilon-Greedy)を使用します。

実践的な応用と例

Q学習を示すために、Hugging Faceはマウスが毒を避けながらチーズにたどり着く迷路の例を使用します。エージェントの学習は報酬関数によって駆動されます:

  • +10: 大きなチーズの山に到達(ゴール)。
  • +1: 小さなチーズに到達。
  • 0: チーズのない状態に移動。
  • -10: 毒に触れる(終了状態/死亡)。

高い初期 $\epsilon$ のためにランダムな行動を取り、報酬に基づいてQテーブルを更新する反復的なステップを通じて、エージェントは最終的に最適な経路(例: 右、右、下)を学習します。

トレーニング環境

実装を手を動かして行うために、ガイドは2つの主要な環境を提案しています:

  1. Frozen Lake v1: エージェントが開始状態 (S) からゴール状態 (G) へ、穴 (H) を避けながら移動しなければならない、滑りにくいバージョンです。
  2. Autonomous Taxi: エージェントが都市内をナビゲートし、乗客を地点 A から地点 B へ輸送することを学習しなければならない環境です。

Sources