強化学習

1/13ページ

強化学習 : SarsaとQ学習

この記事は、強化学習の代表的なアルゴリズムであるSarsaとQ学習、2つのアルゴリズムの違いについてのまとめです。 SarsaとQ学習の違いは一言で言うと、Q関数の更新にエージェントのポリシー(方策)を用いるかどうか、です。まず、ポリシーとQ関数の関係について確認しておきます。 ポリシーとは、ある状態$s$が与えられたときにとる行動を返す関数$\pi(s)$です。次に得る利得が最も高くなりそうなポリシーは、基本的に状態$s$と行動$a$ […]

逆強化学習を理解するための強化学習の基礎

1. はじめに  逆強化学習の手法についてはこちらを御覧ください。本記事では逆強化学習の手法については解説していません。  逆強化学習は、エキスパートの行動から報酬を推定する手法です。例として下図のようなことを実現することが可能になります。 (K.Kitani, et al., 2012, Activity Forecasting, ECCV) この例では、逆強化学習によって人の行動の報酬を推定し、経路予測をしています。 一般的に、強化 […]

Prioritized Experience Replayを読んだ

Tom Schaul, John Quan, Ioannis Antonoglou, David Silver ICLR 2016 arXiv, pdf どんなもの? 深層強化学習を安定して行うためのテクニックにExperience Replayがある. この論文では,保存したExperienceに優先順位をつけてサンプリングを行うことで,深層強化学習の性能の向上を目指す. 先行研究との差分 深層強化学習に有効な,保存したExperie […]

gymで強化学習環境を作る

gymは強化学習の開発プラットフォームです。比較的簡単に強化学習を行うことができるのが特徴です。 https://gym.openai.com/ インベーダーやバランスゲーム的な何かなどのいろいろな強化学習環境がgymに登録されているのですが、強化学習を使う人は目の前に解きたいゲームがある人が多いはずです。 そこで今回はgymで強化学習環境を作ります。 バージョン 主なライブラリのバージョンは以下です。特に今回のメインであるgymは少し […]

高校数学で理解する逆強化学習(その2)

はじめに 逆強化学習 (Inverse Reinforcement Learning; IRL) が注目されている。強化学習は、問題と報酬(の条件)があたえらたときに、報酬を最大化する行動方策を学習する問題だが、逆強化学習は問題と報酬を最大化する行動方策が与えられたときに報酬(の条件)を推定する。この方法を発展させることで、熟練者の行動サンプルを元に問題を解くのに適した行動方策を学習する師弟学習などに繋がってゆく。 この記事では、3回に […]

【強化学習】実装しながら学ぶPPO【CartPoleで棒立て:1ファイルで完結】

2017年に発表された強化学習のアルゴリズム「PPO」を実装しながら、解説します。 PPO(Proximal Policy Optimization) は、openAIから発表された強化学習手法です。 ●Proximal Policy Optimization – OpenAI Blog Proximalは日本語にすると、「近位」という意味です。 本記事では、PPOを解説したのちに、CartPoleでの実装コードを紹介します […]

強化学習っぽいことをしてみた

はじめに 強化学習の手法の一つQ学習を用いて後出しじゃんけんをしたら絶対勝てるように学習するプログラムを書いてみました。if文を使えば後出しじゃんけんをしたら絶対勝てるプログラムは書けますが、後出しじゃんけんという簡単な題材で強化学習の勉強のために書いてみました。 ※実装はpythonです。 ※強化学習初心者が書いてるので間違いや、意味不明なところがあるかもしれません。 強化学習 強化学習とは学習するプログラムが経験を通して適切な行動を […]

Deep Reinforcement Learning with Double Q-learningを読んだ

Hado van Hasselt, Arthur Guez, David Silver AAAI 2016 arXiv, pdf どんなもの? DQNとDouble Q-learningを組み合わせたDouble DQNを提案. 学習時の過大評価(overestimations)を低減し,DQNを上回るパフォーマンスを実現. 推定誤差が与える影響について,例を交えて丁寧に議論をしている印象. 先行研究との差分 DQNとDouble Q- […]

強化学習をしてみた

はじめに 前回は強化学習っぽいことをしたので、今回は強化学習をしてみたいと思います。そもそもなぜ前回したことが強化学習っぽいかというと、強化学習は各行動ではなく連続した行動に対して報酬が与えられ適切な学習をしていきます。なので、前回のような行動に対して即報酬が与えらるようなものを強化学習と呼んでいいのかと思い強化学習っぽいと表現しました。 問題設定 今回は以下のような環境でQ学習を使って適切な学習をするプログラムを書いてみます。 状態2 […]

1 13