清華大学の学生が強化学習プラットフォーム「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

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

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

ブログ    

推薦する

深層強化学習: 知能機械のトッププレイヤー

ラボガイドロボットがゲームの分野でもスーパーマスターになれると想像したことがありますか?あなたの夢を...

インテル子会社が自動運転向け5nm RISC-Vプロセッサをリリース

CES(コンシューマーエレクトロニクスショー)がラスベガスで盛況だ。インテル、マイクロソフト、グーグ...

...

Python は 2023 年のプログラミング言語リストで引き続きトップを占めています。 SQLが求人需要リストのトップに

技術の急速な発展により、プログラミング言語は現代社会に欠かせないものになりました。ウェブサイト開発、...

...

スマートシティAIソフトウェア市場は2025年までに700%成長

ビデオ監視はAI導入の注目分野だが、新型コロナウイルス感染症のパンデミックにより、公衆衛生への対応を...

AIが高度な数学の核心を突破、微分方程式と不定積分を1秒以内に解き、その性能はMatlabをはるかに上回る

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

線形ネットワークに基づく音声合成のための話者適応

[51CTO.com からのオリジナル記事] 話者適応アルゴリズムは、少量の話者データを使用して、満...

...

天一雲が大規模言語モデル微調整データコンテストで優勝しました!

最近、天地FT-Data Rankerコンテストが終了し、天一クラウドインテリジェントエッジビジネス...

AIのダークサイドを暴く:人工知能は人間に取って代わるが、機械をどのように学習するかは分からない

[[189044]]昨年、自動運転車がニュージャージー州モンマス郡に侵入した。チップメーカーのNvi...

...

最高速度:250fps!リアルタイムの高性能車線検出アルゴリズムLaneATT

CVPR 2021 車線検出論文: 車線から目を離さない: リアルタイムの注意誘導型車線検出。紙:...

...