CNTK 2.2 Python API 解説 (7) – 強化学習の基礎: DQN, Policy Gradient / CNTK v2.3 リリース

CNTK 2.2 Python API 解説 (7) – 強化学習の基礎: DQN, Policy Gradient / CNTK v2.3 リリース
0. はじめに
◆ CNTK ( Microsoft Cognitive Toolkit ) 2.2 の Python API 解説第7弾です。
今回は強化学習がテーマで、OpenAI gym の CartPole を題材にして DQN と Policy Gradient アプローチで CNTK で実装します。
◆ CNTK v2.3 リリース
本題に入る前に、(もうご存知の方も多いかと思いますが、)
待望の CNTK v2.3 が 11月22日にリリースされました ので、簡単にリリースノートを見ておきましょう :
CNTK v2.3 Release Notes
このリリースのハイライト
より良い ONNX サポート。
分散トレーニングにおけるより良いパフォーマンスのために NCCL2 へスイッチしています。
改良された C# API。
OpenCV は CNTK をインストールするために必要ではありません、それは Tensorboard 画像特徴と画像リーダーのために必要なだけです。
各種パフォーマンス改良。
ネットワーク最適化 API の追加。
スパースのためのより高速な Adadelta。
チュートリアルも新たに追加されていました。是非トライしてみてください。
◆ さて、強化学習は行動主義心理学により触発された機械学習の領域です。
ソフトウェア・エージェントが報酬を最大化するために、与えられた環境においてどのように行動を取るべきかに関心を寄せます。
ある種の機械学習の設定では正解ラベルへのアクセスを持ちませんので、教師あり学習のテクニックに頼ることはできません。
けれども、相互作用可能な何かがあり、そしてそれが教えてくれる何某かのフィードバックを得られる場合には、
動作をどのように改良するかを学習するために強化学習が利用できます。
定番ですが題材として OpenAI gym シミュレーターからの CartPole 環境を使用します。これはカートにポールのバランスを取ることを教えます :
以下の GIF アニメは、本記事でトレーニングした DQN モデルのデモ・サンプルの実行です :
本記事の

AINOW
人工知能専門メディアAINOW(エーアイナウ)です。人工知能を知り・学び・役立てることができる国内最大級の人工知能専門メディアです。2016年7月に創設されました。取材のご依頼もどうぞ。https://form.run/@ainow-interview
サイト名: Qiita

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する