強化学習について

強化学習について調べた際のメモです。

  • 達成したいゴールがあるが、各行動に対する評価は与えられない場合
  • 「行動の選択肢」と「報酬」
  • 強化学習という名前は脳の学習メカニズムであるオペラント学習に由来する
  • 報酬は「連続した行動の結果」に対して与えられる(フィードバックに時間差がある)
  • 報酬から各行動に対する評価を自分で与える
  • ステップごとの評価を与えなくて良いので教師あり学習よりも複雑な問題を扱える
  • 学習に時間がかかる
  • 状態S、モデルT(状態遷移の関数)、行動A、報酬Rでモデル化 → Markov Decision Process (MDP)
  • 時間的な制約下で報酬を最大化するような、ポリシーπ(S → Aの関数)を獲得する問題
    • 時間割引をすることでローリスクな行動ばかり取ってしまうのを防ぐ
  • Value Iteration (幅優先探索?), Policy Iteration (深さ優先探索?)
  • Q値 = 状態行動価値 = 「状態 s で行動 a を選択後、ずっと最適政策をとりつづけるときの利得の期待値」
  • Sarsa
    • 実際行動してみて一番価値が大きい行動を探す
  • モンテカルロ法
    • 報酬が得られるまで行動してみて、報酬を分配して各行動を評価する
  • Q-Learning
    • Tが不要
    • 期待値(実際の報酬)と見込みの差分から学習する → TD学習
    • 「状態sを離散化した数」×「行動の種類」の表
    • 次の状態の価値を現在推定される値の最大値とする
  • 探索と活用のトレードオフ (exploration and exploitation dilemma)
    • ε-greedy法、Boltzmann分布を使った方法
  • Deep Q-Leaning (DQN)
    • 2013年、Deepmindのチームによる論文1
    • 行動と状態の組み合わせの爆発(状態行動空間の爆発) → ニューラルネットで近似
    • 入力は状態s、出力は行動aの分類
    • Q-LearningでのTD誤差を誤差関数とし、Qをニューラルネット(CNN)化する
    • Experience Replay, Fixed Target, 報酬のclipping
    • Prioritised Experience Replay (学習が進んでいない状態を優先して学習), Duelling DQN (Q関数を状態価値関数とAdvantage関数に分離)
    • Deep Recurrent Q-Network (DRQN)もある
  • A3C (Asynchronous Advantage Actor-Critic): 並列計算、Advantageによる報酬の計算、Actor-Critic
  • TRPO, Generalised Advantage Estimator, UNREAL, PPO

Refs

【追記】 - ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learni…