モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

工作HardwareHub ロゴ画像 (Laptop端末利用時)
工作HardwareHub ロゴ画像 (Mobile端末利用時)

強化学習および深層強化学習 (G検定)

モーダルを閉じる

ステッカーを選択してください

モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2021/06/28
最終更新最終更新
2023/11/08
記事区分記事区分
一般公開

G検定のシラバスにおける、強化学習および深層強化学習について記載します。

強化学習

方策 (policy)

強化学習で達成したいことは、報酬和を最大にする方策 (policy) π\pi学習することです

状態 SS、行動 AA[0,1][0, 1] の確率に変換します。

π:A×S[0,1]π(a,s)=Pr(at=ast=s)\pi: A \times S \rightarrow [0, 1] \\ \pi(a, s) = Pr(a_t = a | s_t = s)

後述の ε-greedy 方策における ε 等、方策はパラメータを持ちます。

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

強化学習において、方策 (policy) には「活用」と「探索」という概念があります。

  • 活用 (exploitation)
    • 現在知っている情報から、報酬が最大となるような行動を選びます。
  • 探索 (exploration)
    • 現在知っている情報以外の情報を獲得するための行動を選びます。
    • 学習のある時点で得られた方策のみを用いて行動選択すると、局所解に陥る可能性があります。
    • これを回避するために、学習した情報を無視して、ランダムに行動選択することを「探索」とよびます。

バンディットアルゴリズムでは、活用と探索のバランスを取ろうとします。具体的には以下のような手法があります。

  • ε-greedy 方策
    • 基本的に活用を選択して、一定確率 ε で探索します。
  • UCB 方策

マルコフ決定過程モデル

「現在の状態 sts_t から将来の状態 st+1s_{t+1} に遷移する確率は、現在の状態 sts_t のみに依存し、それより過去の状態には一切依存しない」という性質をマルコフ性とよびます。

状態遷移にマルコフ性を仮定したモデルを、マルコフ決定過程とよびます。

強化学習において、環境の状態遷移はマルコフ性を持つとして扱われることが一般的です。

強化学習の手法の分類

強化学習の手法は、以下のように分けられます。

  • 「モデルベース」 → 環境の情報が完全に手に入るときに用います。
    • 方策ベース
    • 価値ベース
  • 「モデルフリー」
    • 方策ベース → 「方策勾配法」が該当します。
    • 価値ベース → 方策を固定して、行動を選択します。間接的に方策が改善されます。

モデルベースの手法

「状態遷移確率」と「報酬関数」の二つを合わせて「モデル」とよぶことがあります

モデルが既知であるとは、環境に対する情報が完全であるということになります。

最適価値関数を求めて報酬和を最大化します。

  • 状態遷移確率
    • ある状態 sis_i である行動 aa を選んだとき、別のある状態 sjs_j に遷移する確率です。
  • 報酬関数
    • ある状態 sis_i である行動 aa を選んだとき、得られる報酬 rr を出力する関数です。

モデルフリーの方策ベースの手法

方策 (policy) π\pi が持つパラメータが θ\theta であるとします。

方策 π(θ)\pi(\theta) では、ある行動を取る確率を以下のように表現できるとします。

p(θ)=pπθp(\theta) = p^{\pi_{\theta}}

パラメータ θ\theta を変化させることを繰返して、報酬和を最大化する手法です。方策を直接的に探索しています

「方策勾配法」は「モデルフリーの方策ベースの手法」に該当します。

  • 一連の行動を行い、得られた報酬から方策を評価して、方策勾配を求めます。
  • 方策勾配が分かれば、方策を更新すべき方向が分かります。
  • ロボットアームの行動など、連続値を扱う必要のある行動にも対応できます。

モデルフリーの価値関数ベースの手法

  • 方策を固定します。
  • 価値の高い状態に遷移するように行動を選択します。
  • ある状態に対してある行動を取った場合に得られる期待値を算出します。
  • 得られる報酬和を最大化します。
  • Q 学習などが該当します。

Q 学習

「モデルフリー」の「価値関数ベース」の強化学習アルゴリズムです。

「価値関数」としては、以下の「Q値」を扱います。

「Q値」は、ある状態においてある行動を取った場合に、その後に最終的に得られる報酬和の期待値、を出力する関数です。Q 学習では Q 値を最適化します。

以下の二つの部分から成ります。

  • 「Q値」の推定 (価値推定) を行なう部分。
    • ata_t によって遷移する状態は st+1s_{t+1} です。Q(st,at)Q(s_t, a_t) を推定するにあたり、現在推定されている Q(st+1,at+1)Q(s_{t+1}, a_{t+1}) が最大となるような状態 at+1a_{t+1}選択するのが良いであろうと仮定します
    • α\alpha は学習率です。
    • 後述の DQN では、「Q値」をニューラルネットワークで表現して推定します。
  • 推定した価値を参考にして行動選択する部分。

SARSA

SARSA (State–action–reward–state–action) は、Q 学習と同様に「Q 値」を最適化するアルゴリズムの一つです。

Q(st,at)Q(st,at)+α(rt+γQ(st+1,at+1)Q(st,at))Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha (r_t + \gamma Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t))

Q 学習と異なり、Q(st,at)Q(s_t, a_t) の更新時には Q(st+1,at+1)Q(s_{t+1}, a_{t+1}) が最大となるような at+1a_{t+1} を選択するとは仮定しません。

その代わり、実際にエージェントに at+1a_{t+1} を選択させて、その結果を用います

"State–action–reward–state–action" という名称は、更新時に必要な要素であり、"action" 二つはそれぞれ ata_tat+1a_{t+1}意味しています

REINFORCE

「モデルフリーの方策ベースの手法」である「方策勾配法」をベースとした、具体的なアルゴリズムの一つです。

Actor-Critic

「価値関数ベース」および「方策ベース」の考え方を組み合わせた手法の一つです。

行動を決める Actor と方策を評価する Critic から成ります。

A3C (Asynchronous Advantage Actor-Critic)

深層強化学習

ニューラルネットワークを用いて、状態の重要な情報のみを縮約表現します。状態数が多い問題に対しても強化学習が適用できるようになりました。

  • 深層学習は「特徴表現学習」を行なうものです。
  • 深層強化学習では「特徴表現学習」を指して「状態表現学習」とよぶことがあります。

Deep Q Network (DQN)

  • 強化学習の手法の一つ「Q 学習」における、「Q 値 (Q 関数)」をニューラルネットワークで表現します。
    • ニューラルネットワークの「入力」は「状態」です。
    • 出力層の各ノードは、各行動の価値となります。
  • DQN における、Q 値を推定する部分以外の行動選択の部分は、Q 学習で同じです。

Experience replay

  • 「状態、行動、報酬」を replay buffer に記録しておき、replay buffer からランダムに取り出して後の遷移で用いる手法です。
  • 重みの更新は状態遷移に強い相関を受けるため安定しませんが、Experience replay によってこれを安定化させます。

Dueling network

Q 関数をニューラルネットワークで近似する際に、状態のみから計算できる部分と、行動のみから計算できる部分、を別々に計算します

Reward clipping

  • ニューラルネットワークの重みは報酬の値に大きく影響を受けます。
  • 報酬の値を「1, -1, 0」のみに限定したり [1,1][-1, 1] の範囲に限定することで、学習を安定化させる手法です。
  • 報酬の大小を区別できなくなる、というデメリットはあります

Double DQN

  • Q 関数は、次の状態の Q 関数の値が最大になるように更新されます。そのため、誤差の上方向に影響を受けます。
  • これを防ぐために、「オンラインネットワーク」と「ターゲットネットワーク」を用います

Categorical DQN

  • Q 関数は、ある状態とある行動により、この後に得られる報酬和の期待値 (期待収益) です。
  • 期待収益を離散確率分布とすることで、学習を安定させます。
  • 期待収益を離散確率分布とすることで、期待収益の分散を表現します。

Rainbow

  • Double DQN
  • Prioritized Experience Replay
  • Dueling network
  • Categorical DQN
  • Noisy network

等をすべて組み合わせた手法です

OpenAI Five

  • マルチエージェント強化学習を、深層学習で行なうゲーム AI の一つです。
    • 複数エージェントによる強化学習です。
  • 2018 年に発表されました。
  • LSTM が用いられています。

AlphaStar

  • マルチエージェント強化学習を、深層学習で行なうゲーム AI の一つです。
    • 複数エージェントによる強化学習です。
  • AlphaGo を開発した DeepMind 社によって、2019 年に発表されました。
  • StarCraft というゲームを攻略します。

残差強化学習

モデル化できていない、現実世界に残存する部分を強化学習で学習する手法です。

2019年に、プリンストン大学や Google 等のチームが、TossingBot という研究を発表しました

AlphaGo

入力である「ある盤面」は盤面の画像であり、ネットワークの学習時には CNN を用います。

2016 年に世界的なトップ騎士であるイ・セドルに囲碁で勝利しました。

教師あり学習フェーズ

二つのネットワークを学習させます。

  • SL Policy (Supervised Learning Policy Network)
    • 人間の棋譜を教師データとします。
    • ある盤面から、次の盤面を予測します。
  • Rollout Policy
    • 人間の棋譜を教師データとします。
    • ある盤面から、次の盤面を予測します。
    • 予測性能を下げる代わりに計算を高速化します。

強化学習フェーズ

SL Policy を強化学習によって RL Policy にします。

  • Reinforcement Learning Policy Network (RL Policy)
    • SL Policy 同士を戦わせます。
    • 勝った側が打った手を方策勾配法で強化していきます。
    • 片方を RL Policy として強化し続けます。

RL Policy を二つ用意します。

  • Value Network
    • RL Policy は最善手を打つと仮定します。
    • RL Policy 同士を戦わせた結果を、各盤面の勝率として扱うことができます。
    • ある盤面から、その盤面における勝率を予測するネットワークを Value Network とよびます。
    • 教師データは、RL Policy 同士を戦わせて得られた棋譜です。

Value Network を、モンテカルロ木探索 (MCTS) のアルゴリズムにおける、行動選択部分に組込みます。

SL Policy と Value Network で行動選択を行います。

モンテカルロ木探索

ある状態から行動選択を繰り返して報酬和を計算する、ということを複数回行った後、報酬和の平均値を状態の価値とする、価値推定方法です。

AlphaGo Zero

人間の棋譜データを用いた教師あり学習は行いません。AlphaGo を上回る強さに到達しています。

AlphaGo では Policy Network、Rollout Policy、Value Network の三つを学習していましたが、AlphaGo Zero では、これらを一つのネットワークにまとめています。簡潔なアーキテクチャとなっており、学習にかかる時間も短くなっています。

Alpha Zero

囲碁以外のゲームにおいても、人間のトッププレイヤーを越えていた多くのゲーム AI を圧倒する性能を持つようになりました。

人間の棋譜データを用いた教師あり学習は行いません。

0
詳細設定を開く/閉じる
アカウント プロフィール画像 (本文下)

推しはTypeScript

記事の執筆者にステッカーを贈る

有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

さらに詳しく →
ステッカーを贈る コンセプト画像

Feedbacks

Feedbacks コンセプト画像

    ログインするとコメントを投稿できます。

    関連記事

    • 機械学習の具体的手法 (G検定)
      サムネイル画像-646a23ff3c
      G検定のシラバスにおける「機械学習の具体的手法」に関連する事項を記載します。 線形回帰 説明変数、目的変数 説明変数と目的変数が、直線や超平面といった、線形の関係にある状態を線形回帰とよびます。説明変数が 2つ以上の場合を重回帰とよびます。線形回帰を用いたモデルの学習は、教師あり学習です。 ![](/ugc/techimages/0b5d1f17-daae-4518-a7b6-d3e61
      ほっこりさんほっこりさん11/18/2023に更新
      いいねアイコン画像0
    • 人工知能に関する一般事項 (G検定)
      サムネイル画像-d31cec1a3f
      G検定のシラバスにおける 「人工知能(AI)とは(人工知能の定義)」 「人工知能をめぐる動向」 「人工知能分野の問題」 に関連する事項を記載します。 エニアック (ENIAC) 1946年にアメリカのペンシルバニア大学で開発された、真空管を使った巨大な計算機です。 ダートマス会議 1956年にアメリカで開催されました。 ジョン・マッカーシーが、「人工知能」という言葉を
      ピカピカピカピカ11/18/2023に更新
      いいねアイコン画像0
    • ディープラーニングの社会実装に向けて (G検定)
      サムネイル画像-d3eb29a5b4
      G検定のシラバスにおける「ディープラーニングの社会実装に向けて」に関連する事項を記載します。 プロジェクト管理 CRISP-DM CRISP-DM (CRoss-Industry Standard Processing for Data Mining) は、機械学習やデータサイエンスのプロジェクトを進めるにあたり、指針となる 6 つの段階からなるモデルです。 ![](/ugc/techi
      きらりコードきらりコード11/21/2023に更新
      いいねアイコン画像0
    • ディープラーニングの手法 (G検定)
      サムネイル画像-703f7cde57
      G検定のシラバスにおける「ディープラーニングの概要」および「ディープラーニングの手法」に関連する事項を記載します。 シグモイド関数を用いた学習における勾配消失について ディープラーニングで用いられる活性化関数の一つに、シグモイド関数があります。 y=11+exp⁡(−x)y = \frac{1}{1 + \exp(-x)} y=1+exp(−x)1​シグモイド関数を用いて、以下のような合成関数を考...
      ねこねこ11/22/2023に更新
      いいねアイコン画像0
    • ディープラーニングの比較的新しいモデル (G検定)
      サムネイル画像-3cc5763cd3
      G検定に向けて、比較的新しいモデルについて記載します。 深層生成モデル 生成モデル 画像のデータセットがどのような分布になっているかを推測し、その分布に基づいて、元の画像と似たような画像データを生成するモデルです。 深層生成モデル ディープラーニングを取り入れた生成モデルのことです。 潜在空間 深層生成モデルでは、元データセットから画像が持つ潜在空間を
      インフラくじらインフラくじら11/10/2023に更新
      いいねアイコン画像0