読者です 読者をやめる 読者になる 読者になる

プロクラシスト

みんなのProcrastination(先延ばし、回り道)を少しでも有意義に。

MENU

【強化学習を使いたいすべての人へ】DQNの実践&理論の勉強もできる記事の紹介(2017/1/7追記)

AlphaGo以降、加速するDQN研究だが…

囲碁で世界チャンピオンを破ってしまったのは衝撃でしたね。これ以降、更に研究が世界中で加速しています。
しかしAlphaGoに関しても、メディアではキャッチーな結果を伝えて*1、あまり技術的な中身に触れることはないので、魔法の箱と化しています。
そのため、強化学習、面白そうだけど囲碁の他にいまいち何ができるのかわからない。という人も多いと思います。

昨日、強化学習についての良い記事を見つけたので、一部抜粋して和訳をしながら紹介したいと思います。

Learning reinforcement learning

www.wildml.com

Why study Reinforcement learning

Reinforcement Learning is one of the fields I’m most excited about. Over the past few years amazing results like learning to play Atari Games from raw pixels and Mastering the Game of Go have gotten a lot of attention, but RL is also widely used in Robotics, Image Processing and Natural Language Processing.

「強化学習はとても面白い分野だと思っていて、最近ではAtari Gamesなどのゲームに対してすごい結果を出している。それだけに注目が行きがちだが、ロボティクスや画像処理、自然言語処理でも強化学習は利用されている。」

ゲームだけじゃなくて、色々な応用可能性がある分野だ!と言っています。

Combining Reinforcement Learning and Deep Learning techniques works extremely well. Both fields heavily influence each other.

「強化学習とDeep learningの技術を組み合わせ、成功を収めた。これにより、双方に恩恵がもたらされた」

On the Reinforcement Learning side Deep Neural Networks are used as function approximators to learn good representations.(…) In the other direction, RL techniques are making their way into supervised problems usually tackled by Deep Learning.

「強化学習の方では、関数近似にDNNを用いることで性能向上に繋がった。また、強化学習の技術がDeep Learningが対象とする教師あり問題に利用されている。」

後者の恩恵がイマイチわかりにくかったです。画像処理で注視する場所を、性能が上がるように最適化する。的なことを書いていたので、教師データを作る際の特徴抽出の仕方を強化学習で決定するということでしょうか。

最後に、今後数年で基礎研究によって強化学習のbreakthroughが起きそうだと述べている。まだまだ基礎分野が未成熟かつ有望な分野なのでしょう。

HOW TO STUDY REINFORCEMENT LEARNING

2つ良い強化学習勉強ツールを紹介している。(いずれも英語)

(ちなみに、Richard S.Suttonは古典的な(Deep learning以前の)強化学習に関する名著を書いていて、日本語訳もされています。基礎理論の骨組みは変わらないので、英語ニガテな方はこのあたりの書籍から入ると良いかもしれません。)

強化学習

強化学習

  • 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章
  • 出版社/メーカー: 森北出版
  • 発売日: 2000/12/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 76回
  • この商品を含むブログ (29件) を見る

In fact, these two cover almost everything you need to know to understand most of the recent research papers. The prerequisites are basic Math and some knowledge of Machine Learning.

「実際上記に上げた2つで、最新論文を読むほぼすべての知識をGetできる。が、基本的な数学(おそらく微積線形代数)と機械学習の知識は前提としている。」

That covers the theory. But what about practical resources?(…)
I’ve tried to implement most of the standard Reinforcement Algorithms using Python, OpenAI Gym and Tensorflow. I separated them into chapters (with brief summaries) and exercises and solutions so that you can use them to supplement the theoretical material above.

「上記の2つで理論はマスターできるが、実践できるような場所は少ない。そこで、pythonとOpenAI Gym, tensorflowを使って標準的な強化学習アルゴリズム実装してみた。全部githubリポジトリに乗せていて、チャプターごとに分け、短いまとめとそのチャプターの問題、回答を掲載している。」

githubリポジトリがこちら

github.com

追記【2017/1/7】

先日のNIPSで、強化学習をみんなができるように、プラットフォームを作ったという発表が立て続けにされました。 プラットフォームの元はOpenAIDeepMind。まさに二大巨頭!

詳しくはこちらの記事を見てみてください!

www.procrasist.com

これを機に、強化学習界隈がさらに盛り上がるといいですね!

まとめ

説明に加えExerciseまで作ってしまうとは…素晴らしいですね。 パッと見では、内容もAlphaGo以後の論文の内容まできちんと実装しているようです。

他の記事をみてもきちんとまとまった素晴らしい記事が多いので、これを勉強すれば最新の強化学習をキャッチアップする力がつくのではと期待しています。

とりあえず私は、まさに理論的な背景は読んで勉強したけど、実践の場もなく困っている人だったので、いくつかexerciseを試してみます~!みなさんも興味があればぜひ!

関連記事

*1:もちろんこれがメディアの仕事で、このような技術が日の目をみることはとても喜ばしいことだと思います。