立教大学で話したセミナーの内容です。Deep Q-Learningについての説明と、それを応用して「FXで勝つ」Agentの構築について話しました。簡単な結果も出たので、それについの簡単な考察もしています。
立教大学で話したセミナーの内容です。Deep Q-Learningについての説明と、それを応用して「FXで勝つ」Agentの構築について話しました。簡単な結果も出たので、それについの簡単な考察もしています。
Photo via Visual Hunt 少し前のことですが、AlphaGoという囲碁の人工知能プログラムがイ・セドル九段に勝利したことで話題になりました。*1 また、一部のゲームにおいて「DQN(Deep Q-network)」が人間よりも上手くプレイするようになったというニュースも話題になっていましたね。*2 今回はこれらの事例で使われている「深層強化学習」という仕組みを使って、FXのシステムトレードができないかと思い、調べてみました。 注意:強化学習もFXも勉強し始めたばかりなので、色々間違っている箇所があるかもしれません。ご指摘いただけると幸いです。 今回の内容 1.強化学習について 1-1.強化学習 1-2.Reinforcement Learning: An Introduction (2nd Edition) 1-3.UCL Course on RL 1-4.強化学習につい
はじめに 少し時代遅れかもしれませんが、強化学習の手法のひとつである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ま
Deep Q Network(いわゆるDQN)で自作の迷路を解いてみました。 プログラムはこちらにあります。 https://github.com/shibuiwilliam/maze_solver 概要 DQNは強化学習の一種で、最適な戦略選択にニューラルネットワークを使っているものになります。 強化学習やニューラルネットワークの説明は以下が参考になります。 強化学習 ゼロからDeepまで学ぶ強化学習 - Qiita ニューラルネットワーク TensorFlowのチュートリアルを通して、人工知能の原理について学習する - Qiita 強化学習はゲームやロボット制御で使われている技術なのですが、状況(State)に対してプレイヤー(エージェントとも)が行動(Action)を起こすことで、状況の変化とその行動への報酬(reward)を得るモデルです。 状況に対する行動を繰り返すことプレイヤー
Get performance gains ranging up to 10x to 100x for popular deep learning and machine learning frameworks through drop-in Intel® optimizations. AI frameworks provide data scientists, AI developers, and researchers the building blocks to architect, train, validate, and deploy models through a high-level programming interface. All major frameworks for deep learning and classical machine learning hav
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html [1312.5602] Playing Atari with Deep Reinforcement Learning Q-Learningにおいて、action-value functionをDNNで関数近似したもので、Deep RLの皮切りとなった. Q-Learningとはなんだったか? 自分用の強化学習メモからの復習的ななにか. Model-free、Off-Policy、Value-basedなControl target policy : greedy behavior policy : -greedy (TD-TargetにはサンプリングしたBellman Optimality Equation) パラメータで関数近似した場合、 論文まとめ
Unlock Your Potential: Top 10 Reasons to Learn Python Python is one of the most popular programming languages in the world. As technology advances and more companies use Python … Read More C# course from scratch for beginners If you have only a general idea of what programming is and have never been professionally engaged in it, we recommend that you start learning from the very basics. Read More
はじめに そもそもDQNが作りたかったわけじゃなくて、他の目的でChainerを使いたかったのでその練習にDQNを書いたんですが、せっかくだし公開しようと思いました 公開しました 。またどうせ公開するなら、この機会にこれ(Q学習+関数近似)関連で持っている知識をついでに整理しようと思ってまとめました。 ニュース記事とかNatureとかNIPSの論文だけ読むと、DQN作ったDeepmind/Googleすげー!!!って感覚になりそうですが、強化学習的な歴史的経緯を考えると強化学習+深層学習になった、むしろかなり当然の成り行きで生まれた技術であることがわかります。(ATARIのゲームを人間以上のパフォーマンスでプレイするというのがビジュアル的にわかりやすかった$\leftrightarrow$問題設定が良かったというのもあります。) この記事ではNIPSとNatureの以下の2本の論文 ・ V
みなさん ライントレーサーってご存知ですか? メカトロの入門として遊んだ方もいくらかいるのではないでしょうか。 今回はChainerでやってみるDeep Q Learning - 立ち上げ編 に引き続き、 基礎体力づくりとしてライントレーサーにDQNで校庭を走らせることにしました。 GitHubにも置きました。良いパラメータやモデル、アルゴリズムなど見つけたら教えてください。 GitHub : DeepQNetworkTest/DQN003.py プログラムの雰囲気 ライントレーサーは前記Youtubeのロボと同様に光センサ1個の情報で動きます。 走行はmobile robot風に左輪と右輪の速度差などで向きを変えたり前進したりする仕様。慣性はない。 線の太さはグラフィックとして書かれている1pxを中心に幅10pxです。 緑色 そっけないルールベース ライントレーサー # 線が見えていると
ChainerでDQN。強化学習を三目並べでいろいろ試してみた。(Deep Q Network、Q-Learning、モンテカルロ)PythonMachineLearningChainerReinforcementLearning 初めてのQiita投稿です。Ridge-iという会社で機械学習を中心としたコンサル~開発をしてます。 強化学習について教える機会が出てきたので、三目並べをベースに モンテカルロ Q-Learning Deep Q Network (いわゆるDQN) についてJupyter(ipython) で実装して教材を作りました。 ちなみに強いプレーヤー同士ならば、ドローだけが繰り返されるはずです。(WarGameの有名なやつですね。) 結論としては モンテカルロ 実装簡単。100回試行位でほぼ負けなし(50回くらいだと時々負ける) Q-Learning 更新式の設計に気
ロボットから自動運転車、はては囲碁・将棋といったゲームまで、昨今多くの「AI」が世間をにぎわせています。 その中のキーワードとして、「強化学習」というものがあります。そうした意味では、数ある機械学習の手法の中で最も注目されている(そして誇張されている・・・)手法ともいえるかもしれません。 今回はその強化学習という手法について、基礎から最近目覚ましい精度を出しているDeep Q-learning(いわゆるドキュン、DQNです)まで、その発展の流れと仕組みについて解説をしていきたいと思います。 本記事の内容をベースに、ハンズオンイベントを開催しました(PyConJPのTalkの増補改訂版) Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン 講義資料の方が図解が豊富なので、数式とかちょっと、という場合はこちらがおすすめです。 Tech-Circle #18 Pythonではじ
Keras を勉強します。 keras-rl でオリジナルの強化学習タスク・オリジナルのDQNモデルを学習したという記事が本日 Qiita に投稿されていましたが(参考記事)、まず keras-rl と gym がわからないので example コードを実行することにします。 参考記事 やること 手順 感想 参考記事 以下の記事を参考にさせていただきましたが、やったことは記事内容のトレースよりはるか低みです。 qiita.com やること 強化学習で伝統的なポールバランシングタスクをエージェントに学習させます。 小学生のとき掃除の時間に、手のひらに箒をのせて倒れないようにバランスを取るのをよくやったと思います。 今回のタスクのポールの動く範囲は2次元平面内に制約されています。台車も直線上を動きます。 gym でのタスク設定は以下のページ参照。 OpenAI Gym CartPole-v0
何の話かというと qiita.com 上記の記事では、「倒立振子」を題材にした、DQN(Deep Q Network)による強化学習の解説があり、非常によくまとまっています。 一方、この記事の中では、全結合層を4層に重ねたネットワークを利用しているのですが、倒立振子の問題に限定すれば、もっとシンプルなネットワークでも対応できる気がしなくもありません。 というわけで、「0層(パーセプトロン)」「1層」「2層」のネットワークでどこまで学習できるのか、モデルの複雑さと学習内容の関係を確認してみたよー、というのがこのブログのネタになります。 DQNとは? まずは簡単にDQNを解説しておきます。 ビデオゲームの自動プレイで有名になりましたが、「与えられた環境において、最善の行動を選択する」という処理を実現することが目標です。ここで言う「行動」は、ビデオゲームの操作のように、「どのボタンを押すのか」と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く