デュビデュバの技術ブログ

主に機械学習系の記事を書いていきます。コメント大歓迎です。よろしくお願いします。

Open AI Spinning Up で深層強化学習のお勉強 -Introduction-

以下サイトで深層強化学習について学んでいきたいと思います。 spinningup.openai.com

余談ですけど、強化学習とかやっていると、「学習」って単語を人間に使えなくなりませんか?「学習」って言おうとしてもなんか違和感でわざわざ「勉強」とか「学ぶ」とか言ってしまいます。私だけかな。笑

強化学習については、今年(2019年)に出た以下の本を読みました。この本はわかりやすいし、細かい理論も書いてあったのですが、実装は無かったので、Spinning Upします。

Spinning Up で学べる事

OpenAIが作成した教育リソースで、深層強化学習について学習できるようです。 主に以下のことが学べるみたい。

  • RLの用語、アルゴリズムの種類、基本理論の簡単な紹介
  • RL研究で成長する方法についてのエッセイ
  • トピックごとにまとまった、重要論文のまとめリスト
  • よく文書化された、スタンドアローンな主要アルゴリズムのコード
  • ウォームアップ用のいくつかの演習

Spinning Up について

こんな感じのことが書いてました。

現在公開されている深層強化学習アルゴリズムはコード設計の詳細な説明が省略されているか、コードがアルゴリズムとどのように関わっているのかがわかりにくいです。Spinning Upは深層強化学習について新たに何を学べばよいか、また、どうやってアルゴリズムをコードに変換すればよいかをクリアにする助けとなりえます。

OpenAIの使命は、AGI(Artificial General Intelligence)の安全な開発と、より一般的なAIからの利益の広範な分配を確保することです。Spinning Upのようなティーチングツールは、これらの両方の目標を達成するのに役立ちます。

こうやって知識を共有してくれることは、とてもありがたい話ですね。

ソースコードについて

  • 性能を保ちながら、可能な限りシンプルに。
  • 互いに非常に一貫性があり、アルゴリズム間の基本的な類似性を明らかにしている
  • ロギング、保存、ロード、MPIユーティリティ以外は、コードは共有されず、自己完結している
  • 実装は、理論とコードのギャップを最小限に抑えるために、可能な限り擬似コードに近づくようにパターン化

可読性の高いソースコードは勉強しやすそうです。

まとめ

アルゴリズムについて学べて、ソースコードまでついていて、しかもそのコードは同じ形式になっているらしいです。すごく勉強が捗りそう。

次回

順番的には次回インストール編なのですが、インストールはすでに苦労しました。。。(下のQiita記事)
なんでだろう。全部pipで突っ込んでるのが悪いのかな。動いたし、そろそろパソコン買い換えだからいいけど。買い換えたらちゃんとAnaconda使おっと。。。

qiita.com



OpenAI Spinning Upの記事一覧 coffee-g9.hatenablog.com