機械学習(特に強化学習)が好きな人のノート

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

強化学習

【open ai gym、強化学習】Acrobotの紹介

今回はAcrobotについて紹介します。 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの終了判定 ちょっと動かしてみる サンプルコード 実行結果 参考文献 問題の概要 Acrobotは下のイメージ図にあるように 2つのリンクが中間…

【Open AI gym、強化学習】Pendulumの紹介

問題の概要 Pendulumは、 単振り子の問題になります。 以下の振り子に適切な力を加え、 振り子を立たせることが目的となる問題です。 出典:Leaderboard · openai/gym Wiki · GitHub 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピ…

【Open AI gym、強化学習】MoutainCar(連続値)の紹介

前回の記事でMoutainCar問題を紹介しました。 www.tcom242242.net 今回はMoutainCarの制御値が連続値のバージョンを紹介します。 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの終了判定 ちょっと動かしてみる サンプルコ…

【Open AI gym、強化学習】CartPoleの紹介

問題の概要 CartPoleは、 棒が設置してある台車があり、 台車を棒が倒れないように うまくコントロールする問題になります。 出典:Leaderboard · openai/gym Wiki · GitHub 問題の概要 制御値、観測、報酬等について 制御値(行動) 観測 報酬 エピソードの…

【深層強化学習、keras-rl】keras-rlでDouble-DQNを試す

今回は、keras-rlを使ってDouble-DQNを試します。 Double-DQNは、DQNの過大評価という課題の緩和のために開発された手法です。 ちなみに私の環境は ubuntu 18.04 python 3.6.0 です。 DDQNについて keras-rlのインストール 解く問題 ソースコード 結果の出力…

状態価値関数と状態行動価値関数について

今回は、強化学習で重要な状態価値と状態行動価値についてお話しようと思います。 状態価値関数$V(s)$とは、名前の通り各状態$s$の価値であり、 状態行動価値関数$Q(s, a)$とは、各状態$s$での各行動$a$の価値を表しています。 ここで言う価値というのは期待…

深層強化学習のライブラリまとめ

とりあえず、深層強化学習ライブラリをまとめてみました。 ただ思ったより数が多いので、とりあえず列挙しておくだけです。 まだ完成していませんが、現状を挙げておきます。 最終的には全部試してみたいと思っています。 tensorforce keras-rl chanear-rl b…

【強化学習、モデルベース強化学習】Dyna-Q

恐らく最もシンプルであり、 最初に考案されたモデルベース強化学習であるDyna-Qについて紹介します。 モデルベース強化学習 Dyna-Q アルゴリズム 実験 プログラム 結果 参考文献 その他 用語 モデルベース強化学習 一言で簡単に言ってしまえば、 モデルベー…

【強化学習】SARSAとQ Learningとの違い

SARSAとQ Learningの違いについて参考文献をもとにお話したいと思います。 SARSAとQ Learningのそれぞれのアルゴリズムとプログラムについては下記の記事で紹介しています。 www.tcom242242.net www.tcom242242.net SARSAとQ Learningの学習方法の違い 崖が…

【強化学習】アクタークリティック

アクタークリティック(actor-critic)とは アクター(actor) クリティック(critic) 終わりに 参考文献 アクタークリティック(actor-critic)とは アクタークリティックは 行動を選択肢するアクター(actor)と、 アクターが選択した行動を評価するクリティック(…

【強化学習】SARSA

SARSAとは 評価用問題 プログラム 結果 SARSAとは sarsaは強化学習の一種で、Q値を以下の式で更新します。 $$ \begin{eqnarray} Q(s, a) \leftarrow Q(s, a) + \alpha (r + \gamma Q(s', a') - Q(s, a)) \end{eqnarray} $$ $Q(s, a)$の更新量は、遷移先状態…

softmax行動選択

$\epsilon$-greedy と同様によく用いられる「softmax行動選択」についてご紹介します。 この手法も期待報酬値が高い選択肢の選択確率が高くなるように選択確率を決定します。 具体的には、softmax関数を用いて以下の式によって各選択肢の選択確率を決めます…

【サーベイ】Bayesian Policy Reuse

概要 すでに、あるタスクにおいて学習済みの方策$\pi$を現在のタスクに適切(より類似した問題を解いた方策)に適用することは非常に重要 この論文では、学習済みの方策$\pi$の集合があり、その中から現在のタスクに最も適した方策を選択する問題を定義 ベイ…

【強化学習、入門】Q Learning

Q Learningの説明のために、 簡単な迷路の例を用いて、説明したいと思います。 最後に例で用いた迷路を実装してQ Learningで解かせてみました。 Q Learning(Q学習) Q Learningとは、一言で言ってしまうと 現在の行動の価値(Q値)を遷移先の状態の 最大Q値 …

【強化学習】UCBアルゴリズム

UCBアルゴリズム UCBアルゴリズムは知らないものに楽観的にを ポリシーにした行動選択戦略です。 UCBではUCB値という値を用いて、 行動選択を行います。 UCB値は選択肢毎に設定され、 以下の式を用いて、更新していきます。 \begin{align} UCB_i = Q_{i} + C…

Win or Learn Fast-PHC

Win or Learn Fast Win or Learn Fast(WoLF)は マルチエージェント強化学習における重要な学習原理の1つです。 この手法は2人2行動ゲームにおいて、ナッシュ均衡に収束することが 証明されていることから、マルチエージェント強化学習では、重要な原理の…

【強化学習】ベルマン方程式

ベルマン方程式 一般的に、方策 $\pi$ を用いた際の状態$s$の状態価値をベルマン方程式を用いて以下のように定義します。 $$ \begin{eqnarray} V^{\pi}(s) &=& \mathbb{E}_{\pi}[R_t \mid s_t = s] \\ &=& \mathbb{E}_{\pi}[r_{t+1}+\gamma V(s_{t+1}) \mid …

【強化学習】ε-greedyアルゴリズムでバンディット問題を解く【2】

進捗2 ε-greedy手法で バンディット問題を解いてみた。 (バンディット問題といってもシンプルなやつです) 前回 www.tcom242242.net 目的 ε-greedy行動選択を実装して試したい ちなみにε-greedy行動選択については以下を参照 進捗 ε-greedy行動選択を行いな…

【深層強化学習、TensorFlow】Deep-Q-Networkの紹介と実装

Deep Q Network Deep Q Network Deep Q Networkの概要 Deep Q Networkの構成 Deep Q Networkの学習の流れ Experience Replay(Q Networkの学習) Fixed Target Q-Networkの更新 Reward Clipping プログラム 実験結果 Deep Q Networkの概要 Deep Q Network(DQN)…

【深層強化学習】【DQN】Target Network

DQNは、Q-Network,Target-Networkの二つのネットワークを用いる。 この二つのネットワークを用いることで、Q学習の課題の1つである、状態の過大評価を緩和する。 DQNでは、Q値を更新する際に遷移先 $s'$ の状態の最大価値 $maxQ(s')$ を用いる。 そのため、…

Stochastic Games

Stochastic Games マルチエージェント強化学習を分析する際に有用な Stochastic Games(SG)について簡単にご紹介します。 ちなみにSGs は別名 Markov Gamesです。 SGは次のタプルで表現されます。 $$ \begin{eqnarray} SG = \langle n,S,A^1 ,...,A^n ,R^1 ,.…

マルチエージェント強化学習まとめ

マルチエージェント強化学習とは(概要) マルチエージェント強化学習の種類 マルチエージェント強化学習のアルゴリズム マルチエージェント強化学習の数学的分析用フレームワーク サーベイ論文等 その他 参考文献 マルチエージェント強化学習とは(概要) 複数…

強化学習目次

強化学習概要 行動選択手法 代表的な強化学習アルゴリズム 深層強化学習関連 ライブラリ keras-rl tensorforce モデルベース強化学習 階層型強化学習 マルチエージェント強化学習 強化学習関連の雑多なこと 参考文献 強化学習概要 強化学習超入門 行動選択手…

マルチエージェント強化学習目次

※執筆中

マルコフ決定過程

概要 マルコフ決定過程とは、状態遷移は 現在の状態とその時の行動にのみ依存する(マルコフ性) ような確率モデルである。 数学的に分析しやすいので、強化学習などではよく用いられる 参考文献 https://ja.wikipedia.org/wiki/マルコフ決定過程

Q学習

Q学習概要 強化学習のアルゴリズムの一種 行動価値を更新する際に、遷移先状態の最大行動価値 $\max_a Q(s,a)$ を用いて更新するのが特徴 Q学習のアルゴリズム エージェントは現在の状態sの行動価値Q(s)に基づいて行動選択(例ε-greedy 詳細は参考文献参照) …

強化学習入門

強化学習は一言で言うと、試行錯誤を通じて、得られる報酬を最大化するように行動指針を修正していく、学習フレームワークです。 得られる報酬に応じて、各行動を行う確率を修正(強化)していきます。 得られる報酬が大きい行動は高い確率で行うようにし、 …

【keras】【深層強化学習】keras-rlを試してみる

背景 keras-rlとは install方法 OpenAI Gym OpenAI Gymでのインストール方法 cartpole問題とは 実験 ソースコード(DQN) 実験結果 エピソード毎の報酬の変化の推移 背景 keras-rlとは kerasを用いて、Deep Q Learningを実装したライブラリです。 比較的容易に…

N本バンディットプロブレム

N本バンディットプロブレムのプログラムを作成した。 N本バンディットプロブレム概要 n本レバー(選択肢)がついているスロットのようモノがある プレーヤーはレバーを引くとそのレバーの確率分布に従って、報酬を得ることができる プレーヤーはなるべく損を…

ε-greedy行動選択

ε-greedy行動選択の概要 εグリーディ行動選択とは、εの確率でランダムに行動選択、それ以外の確率(1-ε) で最も期待値の高い行動を選択する手法です。強化学習などではよく使われます。 例 下の図のような問題を用いて説明しようと思います。 プレーヤーには…