Reinforcement Learningは現在最もホットな研究テーマの1つで、その人気は日に日に高まる一方です。
- 強化学習とは何でしょうか? 他の ML 技術とどのように関連するのでしょうか。
強化学習 (RL) は機械学習技術の一種で、エージェントが自身の行動や経験からのフィードバックを使用して、対話型の環境で試行錯誤しながら学習できるようにするものです。
教師あり学習と強化学習はどちらも入力と出力の間のマッピングを使用しますが、エージェントへのフィードバックがタスクを実行するための正しい行動のセットである教師あり学習とは異なり、強化学習では正と負の行動に対するシグナルとして報酬と罰を使用します。 教師なし学習ではデータ点間の類似と相違を見つけることが目標であるが、強化学習ではエージェントの累積報酬の総和を最大化するような適切な行動モデルを見つけることが目標である。 下図は強化学習モデルの基本的な考え方と要素を表しています。
図1
- How to formulate a basic reinforcement learning problem?
RL問題の要素を表すいくつかの主要用語:
Environment: エージェントが動作する物理的な世界
State: エージェントの現在の状況
Reward: 環境からのフィードバック
ポリシー: エージェントの状態を行動に対応させる方法
値:
Value: エージェントが特定の状態で行動を起こすことによって受け取る将来の報酬
強化学習の問題は、ゲームを通して最もよく説明することができます。 エージェント(パックマン)の目標は、途中の幽霊を避けながら、グリッド内の食べ物を食べることであるパックマンゲームを例にとってみましょう。 グリッドの世界はエージェントにとって対話的な環境である。 パックマンは食べ物を食べると報酬を受け取り、ゴーストに殺されると罰を受ける(ゲームに負ける)。 状態はグリッド世界におけるパックマンの位置であり、累積報酬の合計はパックマンがゲームに勝つことである。
最適な政策を構築するために、エージェントは新しい状態を探索しながら同時にその報酬を最大化するというジレンマに直面することになる。 これはExploration vs Exploitation trade-offと呼ばれる。
マルコフ決定過程(MDP)は強化学習における環境を記述する数学的枠組みで、ほとんどすべてのRL問題はMDPを用いて形式化することが可能である。 MDPは有限の環境状態S、各状態における可能な行動A(s)、実数値報酬関数R(s)、遷移モデルP(s’、s|a)の集合から構成される。 しかし、実世界の環境では、環境ダイナミクスの事前知識がない可能性が高い。
Q-learningはよく使われるモデルフリーなアプローチで、自己再生するパックマンエージェントを構築するのに使用することができる。 これは、状態sにおいて行動aを行うことの価値を示すQ値の更新の概念を中心に展開される。値更新ルールはQ学習アルゴリズムの核心である。
図2:強化学習の更新ルール
図3:パックマン
深い強化学習パックマンエージェントの動画はこちら
- 最も使われている強化学習アルゴリズムとは何でしょう。
Q学習とSARSA (State-Action-Reward-State-Action) は、よく使われるモデルフリーRLアルゴリズムの2つです。 両者は探索戦略の点で異なるが、利用戦略は類似している。 Q-learningがオフポリシー方式で,エージェントが別のポリシーから導かれる行動a*に基づいて値を学習するのに対し,SARSAはオンポリシー方式で,エージェントは現在のポリシーから導かれる現在の行動aに基づいて値を学習する. この2つの方法は実装が簡単だが、未知の状態に対する値を推定する能力がないため、一般性に欠ける。
これは、ニューラルネットワークを使用してQ値を推定するディープQ-Networksなどのより高度なアルゴリズムによって克服することが可能である。 しかし、DQNは離散的で低次元の行動空間しか扱うことができない。 DDPG(Deep Deterministic Policy Gradient)は、高次元の連続的な行動空間で政策を学習することによってこの問題に取り組む、モデルフリー、オフポリシー、アクタークリティックのアルゴリズムです。
図4:Reinforcement Learningのアクタークリテック構造
- Reinforcement Learningの実用的アプリケーションとは?
RLは多くのデータを必要とするため、ゲームやロボット工学のようにシミュレーションデータが容易に利用できる領域で最も適用されます。
- RL はコンピュータゲームをする AI の構築に非常に広く使用されています。 AlphaGo Zero は、古代中国の囲碁ゲームにおいて世界チャンピオンを破った最初のコンピュータプログラムです。 DeepMind の「Deep Reinforcement Learning for Robotic Manipulation with Asynchronous Policy updates (非同期ポリシー更新によるロボット操作のための深層強化学習)」は、この良い例です。
- RL の他のアプリケーションには、テキストの要約エンジン、ユーザーとの対話から学習し時間とともに改善できる対話エージェント (テキスト、音声)、ヘルスケアにおける最適な治療方針の学習、オンライン株式取引用の RL ベースのエージェントがあります。
- 強化学習を始めるには?
強化学習の基本概念を理解するには、
- Reinforcement Learning-An Introductionという、強化学習の父であるリチャードサットンと彼の博士課程の指導者アンドリューバルトの本があります。 この本のオンラインドラフトはこちら http://incompleteideas.net/book/the-book-2nd.html
- ビデオ講義を含むDavid Silverの教材はRL入門コースとして最適
- Pieter AbbeelとJohn Schulman (Open AI/ Berkeley AI Research Lab) によるRLの技術チュートリアルもこちらです。
- RL エージェントの構築とテストを始めるには、
- Andrej Karpathy による、生のピクセルから Policy Gradients を使用して Neural Network ATARI Pong エージェントをトレーニングする方法についてのこのブログは、わずか 130 行の Python コードで最初の Deep Reinforcement Learning エージェントが起動できるようにするために役に立ちます。
- DeepMind Labは、豊富なシミュレーション環境を備えたエージェントベースのAI研究のために作られた、オープンソースの3Dゲームのようなプラットフォームです。
- Project MalmoもAIの基礎研究をサポートするためのAI実験プラットフォームです。
- OpenAI gymは強化学習アルゴリズムの構築と比較用のツールキットです。
Bio.Navigatorの記事:「Deep強化学習」。 Shweta Bhattは、民間および公共部門での経験を持つAI研究者であり、困難な問題を解決するためにデータから知識を引き出すことの影響と応用に情熱を注いでいる。 5972>
関連:
- Resurgence of AI During 1983-2010
- Exclusive: Interview with Rich Sutton, the Father of Reinforcement Learning
- When reinforcement learning should not be used?
- Making Machine Learning Simple
関連:Resurgence of AI With data