強化学習環境の実施、
Unityで簡単で便利に!
強化学習環境、
どうすればいいですか?
2016年にアルファゴが大きな衝撃を与えて以来、アルファゴに適用されたと知られている強化学習(Reinforcement Learning)への関心が大きく高まり、その熱気はまだまだ熱いようです。この強化学習を構成する大きな要素は、以下のように強化学習アルゴリズムと強化学習環境です。これら2つが互いに行動、状態、報酬などの情報をやり取りしながら、強化学習アルゴリズムが学習を遂行するようになります。
アルファゴ以来、強化学習アルゴリズムは本当に多くの進歩を遂げてきました。これに合わせて、OpenAI GYM、Mujoco、Atari、GTA5、Malmoなど、さまざまな種類の強化学習環境も公開されてきました。これらの環境はほとんどゲームに基づく環境です。強化学習はゲームに適用するのに良いアルゴリズムが明らかですが、最近の強化学習をゲームだけでなく、推薦、ロボット、ドローン、エネルギー、金融など、さまざまな分野に適用しようとする試みが増えています。
しかし、このようなさまざまな分野の強化学習環境は依然として不足しています。特に、開発者が望む具体的な仕様を正確に満たす環境が公開されることは期待しにくいです。あなたが強化学習を適用したい特定のセンサー構成と関節構造を持つロボット環境があるとしても、その分野の公開された強化学習環境がなければ研究を始めることは不可能かもしれません。
すでに作られた環境を利用すると
このような欠点があります。
環境について
修正
難しい
環境ごと
使い方
違い
必要
環境
ないかもしれない
しかし、2017年9月、世界最大のゲームエンジン会社の1つであるUnityで、このような悩みを解決してくれるUnity Machine-Learning Agentというツールを公開しました。
Unity ML-Agentsによる
実装する強化学習環境!
Unity Machine Learning Agentを使用すると?
本講義では、このユニティマシンラーニングエージェントを利用して様々な強化学習環境を直接実装する方法を学ぶだけでなく、その環境に適用する強化学習アルゴリズムの理論、コード実装まで進める予定です。
受講前のご案内!
本講義の内容には、下記の本「パイトーチとユニティML-Agentsで学ぶ強化学習」の本の内容と同じ内容が含まれています!受講前に該当事項についてご留意いただきありがとうございます!

Unity Machine Learning Agentの完全征服 - 基礎編
Unity Machine Learning Agent完全征服講義の全内容は基礎編と応用編に分かれて進行され、今回の講義はこのうち基礎編内容です。基礎編で調べる具体的な内容は次のとおりです。
- 強化学習基礎用語と理論
- Unityのインストールと基礎の使い方
- Unity Machine Learn Agentのインストール、コンポーネントの説明、使用法(mlagents-learn、Python API)
- 環境制作
- GridWorld, Drone, KartRacing
- 強化学習アルゴリズム理論学習とコード実装
- DQN、A2C、DDPG、Behavioral Cloning
今回の講義を通じて制作する環境と学習するアルゴリズムのコードは、羽毛ハブにすべて含まれています。
以下の画像は、今回の講義を通じて直接実装してみる強化学習環境と、これを皆さんが実装する強化学習アルゴリズムを通じて学習した結果です。
グリッドワールド環境を作成する
ドローン環境を作る
カートレーシング環境を作成する
よくある質問
確認してみてください。
Q. Unityを使ったことがないのに受講しても大丈夫でしょうか?
Unityを初めて使ってみる方も講義に簡単に従うことができるように、設置から始めて簡単な環境を直接作る過程までじっくりと内容を進めます。 Unityの内容だけを詳しく扱うことはありませんが、講義を受講したら、アセットストアにあるアセットを利用して環境を制作したり、簡単な環境を直接作って強化学習環境を作ることができます。
Q. 機械学習エージェントを使用するためには、強化学習内容を必ず知っておく必要がありますか?
機械学習エージェントは基本的に強化学習をサポートするツールなので、強化学習の基本的な概念は知っておくと、より簡単に機械学習エージェントを使用できます。ただし、Unity Machine Learning Agentでさまざまな強化学習アルゴリズムを提供して、これを利用して強化学習環境でエージェントの学習を進めることもできるため、その機能を利用する場合、強化学習についての深い知識がなくても、簡単に機械学習エージェントを使用することができます。
Q. 講義を受講するには、ディープラーニングの深い理解や多くの実装経験が必要でしょうか?
PytorchでMNISTデータを分類するモデルを直接実装してみた程度であれば、大きな難なく講義を受講できると思います。そして、もしTensorflow 2.xバージョンを使ってみた方でも、Pytorchの基礎だけを勉強すれば、難なく講義を受講することができると思います。