公開するなら、この機会にこれ(Q学習+関数近似)関連で持っている知識をついでに整理しようと思ってまとめました。ニュース記事とかNatureとかNIPSの論文だけ読むと、DQN作ったDeepmind/Googleすげー!!!って感覚になりそうですが、強化学習的な歴史的経緯を考えると強化学習+深層学習になった、むしろかなり当然の成り行きで生まれた技術であることがわかります。(ATARIのゲームを人間以上のパフォーマンスでプレイするというのがビジュアル的にわかりやすかった$\leftrightarrow$問題設定が良かったというのもあります。learning"http://www.nature.com/nature/journal/v518/n7540/abs/nature14236.htmlについて、そこにいたるまでの強化学習の経緯をなるべく関係するところだけを取り上げて解説するつもりです。オタクな追っかけ的情報ですが、筆頭著者のMnihさんはUCTをはじめ確率的プランニングで有名なSzepesvári先生と、おなじみニューラルネットワークのゴッドファーザー、Hinton先生の元で学んだ人で、DQNが生まれたのは自然な流れといえるでしょう。いうか、強化学習って?強化学習自体、聞きなれない方もいるかもしれません。Learning"とかでも「本書では機械学習の多くの分野を扱う。」のような扱いになっています。これは、強化学習の特殊な条件設定のためだと思います。)と機械学習をシェイカーに入れて力いっぱいかき混ぜたものになっているからです。ここではそういった理論に立ち入ることなく、「強化学習って何するのよ?」という事をできるだけ簡単に説明します(するつもりです)。強化学習:環境とエージェント強化学習とは、"環境"中に置かれた"エージェント"が、環境との相互作用を通して最適な方策(行動を決定するきまり)を得るための機械学習の手法のことを言います。Learning)とは、ある環境内におけるエージェントが、現在の状態を観測し、取るべき行動を決定する問題を扱う機械学習の一種。百聞は一見にしかずというやつで、模式図で表すと次の図のようになります。強化学習は次の単純なステップを繰り返すことで時間が進行していきます。呼ばれる直前の行動の良し悪しを示す1つの数(スカラー量)をエージェントに返す。$r=r(s,a,s')$。我々は強化学習の条件から、環境を直接操作するといったことはできません。我々が自由に操作できるのは、あくまでエージェントのみです。このような環境とエージェントの相互作用、そして制約が、強化学習の置かれた特殊性を表しています。\cdotsを最大化させるような方策であると考えます。これが強化学習における目的関数です。エージェントが受け取る報酬を表します。割引率と呼ばれる強化学習のパラメータです。有限の値になるように導入される定数です。0.99$などといった$1$に近い値に設定します。表すことが可能な最適方策が、少なくとも1つ存在することが理論的に知られています3。詳細は割愛しますが、以下の節で紹介する学習手法はいずれも上記の目的関数を最大化させる決定論的な方策を探す手法という点で同じものです。DQNがATARIゲームを学習する場合、4ステップ間のゲーム画面(観測)をもって状態が構成されると仮定して学習を行っています。Q-Networkが生まれた背景について紹介していきます。Iterationについて説明します。Q学習Q学習は強化学習の古典的なアルゴリズムで、強化学習のアルゴリズムでは最も広く知られた存在かもしれません。呼ばれる関数を近似することで最適方策を学習します。$R$の期待値」を表す値です。