タグ

dqnに関するchess-newsのブックマーク (10)

  • 倒立振子でDQNにおけるモデルの複雑さと学習内容の関係をちらっと確かめてみた系の話 - めもめも

    何の話かというと qiita.com 上記の記事では、「倒立振子」を題材にした、DQN(Deep Q Network)による強化学習の解説があり、非常によくまとまっています。 一方、この記事の中では、全結合層を4層に重ねたネットワークを利用しているのですが、倒立振子の問題に限定すれば、もっとシンプルなネットワークでも対応できる気がしなくもありません。 というわけで、「0層(パーセプトロン)」「1層」「2層」のネットワークでどこまで学習できるのか、モデルの複雑さと学習内容の関係を確認してみたよー、というのがこのブログのネタになります。 DQNとは? まずは簡単にDQNを解説しておきます。 ビデオゲームの自動プレイで有名になりましたが、「与えられた環境において、最善の行動を選択する」という処理を実現することが目標です。ここで言う「行動」は、ビデオゲームの操作のように、「どのボタンを押すのか」と

  • [Python]強化学習(DQN)を実装しながらKerasに慣れる - Qiita

    はじめに この記事はいまさらながらに強化学習(DQN)の実装をKerasを使って進めつつ,目的関数のカスタマイズやoptimizerの追加,複数入力など,ちょっとアルゴリズムに手を加えようとした時にハマった点を備忘録として残したものです.そのため,DQNの解説記事というよりも初心者向けKerasTipsになります. 実行環境 Python3.5.2 Keras 1.2.1 tensorflow 0.12.1 DQNとは DQN(DeepQNetwork)がDeepMindから発表されて2年以上経つので,もはやいたる所に解説記事や実装サンプルがあり,ここでの詳しい解説は不要だと思います.が,ざっくり言うと,Q-Learningという強化学習手法のQ関数部分を,深層学習により近似することで、動画像から直接Q値を推定することを可能にした学習手法です. DQNの理論としては ゼロからDeepまで学

    [Python]強化学習(DQN)を実装しながらKerasに慣れる - Qiita
    chess-news
    chess-news 2017/05/29
    dqnまとめ
  • DQNをKerasとTensorFlowとOpenAI Gymで実装する

    はじめに 少し時代遅れかもしれませんが、強化学習の手法のひとつであるDQNをDeepMindの論文Mnih et al., 2015, Human-level control through deep reinforcement learningを参考にしながら、KerasとTensorFlowとOpenAI Gymを使って実装します。 前半では軽くDQNのおさらいをしますが、少しの強化学習の知識を持っていることを前提にしています。 すでにいくつか良記事が出ているので紹介したいと思います。合わせて読むと理解の助けになると思うので、是非参考にしてみてください。 DQNの生い立ち + Deep Q-NetworkをChainerで書いた DQNが生まれた背景について説明してくれています。Chainerでの実装もあるそうです。 ゼロからDeepまで学ぶ強化学習 タイトルの通り、ゼロからDeepま

    DQNをKerasとTensorFlowとOpenAI Gymで実装する
  • NeuroEvolutionモデル 〜 深層学習 と 遺伝的アルゴリズム の 融合モデル について - Qiita

    NeuroEvolutionモデル 〜 深層学習 の ネットワーク構成 と 隠れ層のパラメータ を 環境の変化 に 適応させながら、「進化論的」に世代を繰り返して、動的 に 修正進化するモデル 1. 今回 見つけたもの NeuroEvolution: Evolutionary Artificial Neural Network, EANN = 「ニューラルネットワーク」or 「深層ニューラルネットワーク」 × 「遺伝的進化計算アルゴリズム」 Wikipedia NeuroEvolution Neuroevolution または Neuro-evolution は人工ニューラルネットワークの学習に遺伝的アルゴリズムを用いる機械学習の手法である。 ネットワークの性能を測るのが容易であるが、教師あり学習を用いて正しい入力と出力の対の概要を作るのが困難または不可能であるゲームやロボットのモーター制

    NeuroEvolutionモデル 〜 深層学習 と 遺伝的アルゴリズム の 融合モデル について - Qiita
  • tf-dqn-simple/dqn_agent.py at master · algolab-inc/tf-dqn-simple

  • 超シンプルにTensorFlowでDQN (Deep Q Network) を実装してみる 〜導入編〜  | ALGO GEEKS

    みなさん、DQNしてますか? DQNについては、下記の記事によくまとめられており、実装してみようとした方も多いのではないでしょうか。 DQNの生い立ち + Deep Q-NetworkをChainerで書いた ゼロからDeepまで学ぶ強化学習 しかし、いざ自力で動作させてみようとすると、こんな問題にぶち当たると思います。 「学習時間なげえ。。。」 DQNに限らず、ディープラーニングのモデルを学習させようとすると、平気で数日以上かかります。 そして、学習させたモデルが期待通りの動作をしなかったとしたら、もう投げ出したくなってしまいます。 (よくある話です) なので、筆者が新しいモデルを一から実装する際には、なるべく単純なモデル、データから始めるようにしています。 ここでは、超シンプルなDQNを実装し、動作させてみることにします。 早速いってみましょう。CPUで3分もあれば学習が終わります!

    超シンプルにTensorFlowでDQN (Deep Q Network) を実装してみる 〜導入編〜  | ALGO GEEKS
  • ゼロからDeepまで学ぶ強化学習 - Qiita

    ロボットから自動運転車、はては囲碁・将棋といったゲームまで、昨今多くの「AI」が世間をにぎわせています。 その中のキーワードとして、「強化学習」というものがあります。そうした意味では、数ある機械学習の手法の中で最も注目されている(そして誇張されている・・・)手法ともいえるかもしれません。 今回はその強化学習という手法について、基礎から最近目覚ましい精度を出しているDeep Q-learning(いわゆるドキュン、DQNです)まで、その発展の流れと仕組みについて解説をしていきたいと思います。 記事の内容をベースに、ハンズオンイベントを開催しました(PyConJPのTalkの増補改訂版) Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン 講義資料の方が図解が豊富なので、数式とかちょっと、という場合はこちらがおすすめです。 Tech-Circle #18 Pythonではじ

    ゼロからDeepまで学ぶ強化学習 - Qiita
  • PythonでAIシミュレーションプラットフォームOpen AI Gym を利用して遊ぶ (DQN編) - Qiita

    どうも、オリィ研究所(http://orylab.com/) の ryo_grid こと神林です。 今回はOpen AI Gymで遊んでみたので、それについて書いてみます。 Open AI Gym (https://gym.openai.com) とは AI開発者が自分のAIを動かすことのできるシミュレータを提供してくれる環境です。 Python向けにはライブラリを提供しています。 AI GymによりAI開発者やAI研究者はAIの学習ロジックの研究開発に専念でき、その可視化やシミュレーションを行う手間が省けます。また、同じシミュレーションを複数のユーザが競い合って解いているので、参加者全体でのアルゴリズムの性能向上が期待されます。 主なターゲットは強化学習によって構築されるAIです。Deep Q-Learning Network(DQN)を代表とする深層強化学習と呼ばれる手法が少し前から話

    PythonでAIシミュレーションプラットフォームOpen AI Gym を利用して遊ぶ (DQN編) - Qiita
    chess-news
    chess-news 2017/05/17
    gym 倒立振子 OpenAI_Gymの使い方でわかりやすい内容
  • DQNの生い立ち + Deep Q-NetworkをChainerで書いた - Qiita

    はじめに そもそもDQNが作りたかったわけじゃなくて、他の目的でChainerを使いたかったのでその練習にDQNを書いたんですが、せっかくだし公開しようと思いました 公開しました 。またどうせ公開するなら、この機会にこれ(Q学習+関数近似)関連で持っている知識をついでに整理しようと思ってまとめました。 ニュース記事とかNatureとかNIPSの論文だけ読むと、DQN作ったDeepmind/Googleすげー!!!って感覚になりそうですが、強化学習的な歴史的経緯を考えると強化学習+深層学習になった、むしろかなり当然の成り行きで生まれた技術であることがわかります。(ATARIのゲームを人間以上のパフォーマンスでプレイするというのがビジュアル的にわかりやすかった$\leftrightarrow$問題設定が良かったというのもあります。) この記事ではNIPSとNatureの以下の2の論文 ・ V

    DQNの生い立ち + Deep Q-NetworkをChainerで書いた - Qiita
  • 倒立振子で学ぶ DQN (Deep Q Network) - Qiita

    強化学習の一手法であるQ-learning とディープニューラルネットを組み合わせた Deep Q Network、通称DQNを使って倒立振子の振り上げ問題を解決してみます。 問題設定 「倒立振子の振り上げ問題」というのは、今回はこういう問題設定です。 まず空中に静止したモータがあって、モータ軸に棒の一端がつながっています。棒は中心に質量が集中していて剛性$\infty$で太さ0の、よくある棒です。初期状態では棒は重力にしたがって下向きにぶら下がっています。この状態から振り子を振り上げて倒立状態で静止させてください、という問題です。古きよき制御工学では、振り上げ用と静止用に別設計されたコントローラを2つ用意して切り替えるなど、非線形要素を含むコントローラを用いて対処することになります。いや、やったことないですけど、そうらしいです。 今回は、モータは右か左に一定トルクの回転しかできない、とし

    倒立振子で学ぶ DQN (Deep Q Network) - Qiita
  • 1