清華大学の学生が強化学習プラットフォーム「TianShou」を開発:数千行のコードが完成、オープンソース化

清華大学の学生が強化学習プラットフォーム「TianShou」を開発:数千行のコードが完成、オープンソース化

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

どの世代にも才能ある人材が現れ、オープンソースの波はそれぞれ前のものよりも強力になっています。

つい最近、完全に Pytorch をベースにした簡潔で軽量かつ高速な深層強化学習プラットフォームが Github でオープンソース化されました。

強化学習に興味がある方は、ぜひお立ち寄りください。

なお、著者は清華大学の学部生である翁嘉義氏であり、 「天寿」プラットフォームを独自に開発した人物である。

そうです、名前は「天樹」です。

[[320671]]

なぜ天から与えられるのでしょうか?

主な利点は4つあります。

1. 高速。プラットフォーム全体は、わずか約 1,500 行のコードで実装されています。倒立振り子 (CartPole) を 3 秒でトレーニングするなど、既存のおもちゃのシナリオでは他のすべてのプラットフォームよりも優れたパフォーマンスを発揮します。

2. モジュール化: すべてのポリシーを 4 つのモジュールに分割します。

init : 戦略の初期化。 process_fn : リプレイ バッファからのデータを処理する処理関数。 call : 観測に基づいて操作を計算するlearn : 指定されたデータセットから学習する

これらのインターフェースが完成していれば、強化学習アルゴリズムを 100 行以内に完全に実装できます。

3. Tianshou プラットフォームで現在サポートされているアルゴリズムは次のとおりです。

ポリシー勾配 ( PG )
ディープ Q ネットワーク ( DQN )
nステップリターンのダブルDQN( DDQN
アドバンテージアクタークリティック( A2C
深層決定論的ポリシー勾配 ( DDPG )
近接ポリシー最適化 ( PPO )
ツイン遅延DDPG( TD3
ソフトアクタークリティック( SAC

プロジェクトが進展するにつれて、Tianshou にさらに多くの強化学習アルゴリズムが追加される予定です。

4. 柔軟なインターフェース: ユーザーはさまざまなトレーニング方法をカスタマイズし、少量のコードで実装できます。

天寿の使い方

DQN (Deep-Q-Network) アルゴリズムを例にとり、Tianshou プラットフォーム上の CartPole ゲームを使用してエージェントをトレーニングします。

環境を構成する

OpenAI Gymを使用するのが一般的です。Pythonコードを使用する場合は、Tianshouを呼び出すだけです。

CartPole-v0 は、DQN アルゴリズムを適用できる離散アクション空間を備えたシンプルな環境です。環境を構成するときは、その動作空間が連続的か離散的かに注意して、適切なアルゴリズムを選択する必要があります。

複数の環境レイヤーの設定

既製のジムを使用できます。Env:

また、以下に示すように、Tianshou が提供する 3 つのベクター環境レイヤー (VectorEnv、SubprocVectorEnv、RayVectorEnv) を選択することもできます。

この例では、それぞれ 8 層と 100 層の環境が設定されています。

ネットワークを構築する

Tianshou は、ユーザー定義のネットワークまたはオプティマイザーをサポートしますが、インターフェースの制限があります。

正しい例は次のとおりです。

ポリシーの設定

定義された net と optim (追加のポリシー ハイパーパラメータを使用) を使用してポリシーを定義します。以下では、ターゲット ネットワークを使用して DQN アルゴリズム戦略を定義します。

コレクターの設定

コレクターは、戦略がさまざまな環境と効率的に対話できるようにする Tianshou の重要な概念です。各ステップで、コレクターはポリシーのアクション データを再生バッファーに記録します。

電車

Tianshou は、トレーニング関数 onpolicy_trainer と offpolicy_trainer を提供します。ポリシーが終了条件に達すると、トレーニングは自動的に停止します。 DQN はオフポリシーアルゴリズムなので、offpolicy_trainer を使用します。

トレーナーは次のように TensorBoard ログ記録をサポートします。

パラメータライターをトレーナーに入力すると、トレーニング結果が TensorBoard に記録されます。

ちなみに、DQN のトレーニングには約 4 秒かかりました。

セーブ/ロード戦略

ポリシーは torch.nn.Module から継承されるため、ポリシーの保存/読み込み方法は torch モジュールと同じです。

モデルのパフォーマンスを観察する

コレクターはレンダリング機能をサポートしています。35 FPS でモデルを観察する方法は次のとおりです。

独自のコードで戦略をトレーニングする

提供されているトレーナーを使用しない場合は、カスタム トレーナーを使用する方法を説明します。

はじめる

Tianshou には Python 3 環境が必要です。 CartPole トレーニング DQN モデルを例にとると、トレーニング用の test_dqn.py コードを入力すると、結果は次のようになります。

トレーニングプロセス全体に 7.36 秒かかったことがわかります。これは開発者が指定したトレーニング時間と一致しています。

モデルのトレーニング結果は次のとおりです。

[[320674]]

著者について

天寿の開発者:清華大学の4年生、翁嘉義氏。

福州第一高校卒業、元NOI選手。

大学2年生の時、チームの主力メンバーとして、強化学習の国際大会「Vizdoom」で優勝した。彼は、Tianshou プラットフォームをさらに開発し、強化学習プラットフォームのベンチマークにしたいと考えています。オープンソースでは、より多くのパートナーがこのプロジェクトに参加することも期待されています。

ポータル:

PyPI は Tianshou プラットフォームのダウンロードを提供しており、Github でも最新バージョンの Tianshou やその他の情報を見つけることができます。

パイパイ:

https://pypi.org/project/tianshou/

Github Tianshouホームページ:

https://github.com/thu-ml/tianshou

<<:  機械学習の神話を暴く - 機械学習に関する一般的な神話はどこから来たのか?

>>:  脳コンピューターインターフェースツール:脳波からテキストまで、必要なのは機械翻訳モデルだけ

ブログ    
ブログ    
ブログ    

推薦する

...

人工知能、VR、音声検索、従来のマーケティングモデルを変える「三銃士」

人工知能と関連技術はマーケティングの未来を変えつつあり、仮想現実 (VR)、音声検索、人工知能はマー...

人工知能の世界的競争が激化する中、主導権を握るのは中国か米国か?

世界的な技術競争において、人工知能は他の追随を許さない世界的な技術革新の新たな局面において、人工知能...

...

...

AIの恋人の唆しでエリザベス女王暗殺未遂の罪で懲役9年の判決を受けた男

10月9日、イギリスBBCの報道によると、2021年のクリスマスの日にクロスボウで武装した男がイギリ...

卒業後すぐに年収56万は貰えるんですか?右! Twitterの機械学習の専門家が書いた上級マニュアルをご覧ください

[[210651]]年収10万?プログラマーにとっては、これで十分です。国家統計局が今年上半期に発表...

...

AI分野におけるNVIDIA NeMoフレームワークの包括的な応用と利点の概要

1. NeMoフレームワークの紹介NVIDIA NeMo は、PyTorch と PyTorch L...

深層学習におけるチューリング賞受賞後のベンジオ氏の研究の核心は何ですか?因果表現学習

最近発表された論文で、チューリング賞受賞者のヨシュア・ベンジオ氏らは、チームの現在の研究の焦点である...

機械学習とビジネスを組み合わせる上で最も重要なことは何でしょうか?

純粋に学術的な目的で機械学習モデルを構築することと、製造、金融サービス、小売、エンターテインメント、...

...

AIと宇宙技術が日常生活をどう改善するか

衛星から都市計画まで、人工知能の進歩は新たな洞察をもたらしています。 [[270081]]宇宙技術と...

GitHub のスター数は 10 万近くに達しています。インド人男性がすべての AI アルゴリズムを Python と Java で実装しました。

[[326676]]今日、アルゴリズムを実装した 2 つのプロジェクトが GitHub のホット ...

PyTorchのベストプラクティス、エレガントなコードの書き方

これは非公式の PyTorch ガイドですが、この記事では PyTorch フレームワークを使用した...