Panda-Gym のロボットアームシミュレーションを使用したディープ Q 学習強化学習

Panda-Gym のロボットアームシミュレーションを使用したディープ Q 学習強化学習

強化学習 (RL) は、エージェントが試行錯誤を通じて環境内でどのように動作するかを学習できるようにする機械学習手法です。エージェントは、期待される結果につながるアクションを実行すると報酬を受け、期待される結果につながるアクションを実行すると罰せられます。時間の経過とともに、エージェントは期待される報酬を最大化するアクションを実行することを学習します。

RL エージェントは、多くの場合、順次的な意思決定問題をモデル化する数学的フレームワークであるマルコフ決定プロセス (MDP) を使用してトレーニングされます。 MDP は次の 4 つの部分で構成されます。

  • 状態: 環境の可能な状態のセット。
  • アクション: エージェントが実行できる一連のアクション。
  • 遷移関数: 現在の状態とアクションに基づいて、新しい状態に遷移する確率を予測する関数。
  • 報酬関数: 遷移ごとにエージェントに報酬を割り当てる関数。

エージェントの目標は、状態をアクションにマッピングするポリシー関数を学習することです。ポリシー関数は、エージェントの期待収益を時間の経過とともに最大化するために使用されます。

ディープ Q ラーニングは、ディープ ニューラル ネットワークを使用してポリシー関数を学習する強化学習アルゴリズムです。ディープ ニューラル ネットワークは現在の状態を入力として受け取り、それぞれが可能なアクションを表す値のベクトルを出力します。エージェントは最も価値の高いアクションを実行します。

ディープ Q ラーニングは価値ベースの強化学習アルゴリズムであり、各状態とアクションのペアの値を学習することを意味します。状態とアクションのペアの値は、エージェントがその状態でそのアクションを実行することで得られる期待報酬です。

Actor-Critic は、価値ベースのアプローチとポリシーベースのアプローチを組み合わせた RL アルゴリズムです。 2 つのコンポーネントがあります。

  • アクター: アクターはアクションを選択する責任があります。
  • 批評家: アクターの行動を評価する責任があります。

俳優と評論家が同時に訓練されます。アクターは期待報酬を最大化するようにトレーニングされ、批評家は各状態とアクションのペアの期待報酬を正確に予測するようにトレーニングされます。

Actor-Critic アルゴリズムには、他の RL アルゴリズムに比べていくつかの利点があります。まず、安定性が高くなり、トレーニング中にドリフトする可能性が低くなります。第二に、より効率的であるため、より早く学習できます。 3 番目に、よりスケーラブルであるため、大規模な状態空間とアクション空間の問題に適用できます。

次の表は、Deep Q-learning と Actor-Critic の主な違いをまとめたものです。

アクタークリティック(A2C)の利点

Actor-Critic は、ポリシーベースのアプローチと価値ベースのアプローチを組み合わせた、人気の強化学習アーキテクチャです。さまざまな強化学習タスクを解決するための強力な選択肢となるいくつかの利点があります。

1. ばらつきが少ない

従来のポリシー勾配法と比較すると、A2C は通常、トレーニング中の分散が低くなります。これは、A2C がポリシー勾配と価値関数の両方を使用し、価値関数を通じて勾配の分散を減らすためです。分散が低いということは、トレーニング プロセスがより安定し、より優れた戦略に早く収束できることを意味します。

2. 学習速度が速い

A2C は分散性が低いため、通常は適切なポリシーをより速く学習できます。これは、大量のシミュレーションを必要とするタスクにとって特に重要であり、より高速な学習によって貴重な時間とコンピューティング リソースを節約できます。

3. 戦略と価値機能の融合

A2C の注目すべき特徴は、ポリシーと価値関数の両方を同時に学習することです。この組み合わせにより、エージェントは環境とアクションの関係をより深く理解できるようになり、ポリシーの改善をより適切に導くことができます。価値関数の存在は、戦略の最適化におけるエラーを減らし、トレーニングの効率を向上させるのにも役立ちます。

4. 連続および離散アクション空間のサポート

A2C は、連続アクションや離散アクションなど、さまざまな種類のアクション スペースに簡単に適応できます。この汎用性により、A2C はロボット制御からゲームプレイの最適化に至るまで、さまざまなタスクに適用できる、幅広く適用可能な強化学習アルゴリズムになります。

5. 並行トレーニング

A2C は簡単に並列化できるため、マルチコア プロセッサと分散コンピューティング リソースを最大限に活用できます。これにより、より短時間でより多くの経験データを収集できるようになり、トレーニングの効率が向上します。

Actor-Critic 法にはいくつかの利点がありますが、ハイパーパラメータの調整やトレーニングにおける潜在的な不安定性など、独自の課題もあります。しかし、適切な調整と経験再生や目標ネットワークなどの技術を使用すれば、これらの課題は大幅に軽減され、Actor-Critic は強化学習における貴重な方法になります。

パンダジム

panda-gym は PyBullet エンジンに基づいて開発されています。パンダ ロボット アームの周囲に届く、押す、スライドする、ピック アンド プレースする、積み重ねる、反転するなどの 6 つのタスクをカプセル化します。また、主に OpenAI Fetch からインスピレーションを受けています。

次のコードでは、例として panda-gym を使用します。

1. ライブラリをインストールする

コードはまず強化学習環境を初期化します。

 !apt-get install -y \ libgl1-mesa-dev \ libgl1-mesa-glx \ libglew-dev \ xvfb \ libosmesa6-dev \ software-properties-common \ patchelf !pip install \ free-mujoco-py \ pytorch-lightning \ optuna \ pyvirtualdisplay \ PyOpenGL \ PyOpenGL-accelerate\ stable-baselines3[extra] \ gymnasium \ huggingface_sb3 \ huggingface_hub \ panda_gym

2. ライブラリのインポート

import os import gymnasium as gym import panda_gym from huggingface_sb3 import load_from_hub, package_to_hub from stable_baselines3 import A2C from stable_baselines3.common.evaluation import evaluate_policy from stable_baselines3.common.vec_env import DummyVecEnv, VecNormalize from stable_baselines3.common.env_util import make_vec_env

3. 実行環境を作成する

env_id = "PandaReachDense-v3" # Create the env env = gym.make(env_id) # Get the state space and action space s_size = env.observation_space.shape a_size = env.action_space print("\n _____ACTION SPACE_____ \n") print("The Action Space is: ", a_size) print("Action Space Sample", env.action_space.sample()) # Take a random action

4. 観察と報酬の標準化

強化学習の最適化に適した方法は、入力機能を正規化することです。ラッパーを通じて入力特徴の実行平均と標準偏差を計算します。また、norm_reward = Trueを追加して報酬を正規化します。

 env = make_vec_env(env_id, n_envs=4) env = VecNormalize(env, norm_obs=True, norm_reward=True, clip_obs=10.)

5. A2Cモデルを作成する

Stable-Baselines3チームによってトレーニングされた公式プロキシを使用します

model = A2C(policy = "MultiInputPolicy", env = env, verbose=1)

6. A2Cのトレーニング

model.learn(1_000_000) # Save the model and VecNormalize statistics when saving the agent model.save("a2c-PandaReachDense-v3") env.save("vec_normalize.pkl")

7. 評価エージェント

from stable_baselines3.common.vec_env import DummyVecEnv, VecNormalize # Load the saved statistics eval_env = DummyVecEnv([lambda: gym.make("PandaReachDense-v3")]) eval_env = VecNormalize.load("vec_normalize.pkl", eval_env) # We need to override the render_mode eval_env.render_mode = "rgb_array" # do not update them at test time eval_env.training = False # reward normalization is not needed at test time eval_env.norm_reward = False # Load the agent model = A2C.load("a2c-PandaReachDense-v3") mean_reward, std_reward = evaluate_policy(model, eval_env) print(f"Mean reward = {mean_reward:.2f} +/- {std_reward:.2f}")

要約する

「panda-gym」のパンダロボットと GYM 環境の効果的な組み合わせにより、ロボットの強化学習をローカルで簡単に実行できます。Actor-Critic アーキテクチャでは、エージェントは各タイムステップで段階的な改善を学習します。これは、結果がバイナリであるスパース報酬関数とは対照的であり、Actor-Critic メソッドはこのようなタスクに特に適しています。

ポリシー学習と価値推定をシームレスに組み合わせることで、エージェントはロボットのエンドエフェクタを巧みに操作し、指定されたターゲット位置に到達できます。これは、ロボット制御などのタスクに実用的なソリューションを提供するだけでなく、俊敏性とインテリジェントな意思決定を必要とするさまざまな分野を変革する可能性を秘めています。

<<:  光学行列乗算は人工知能をどう変えるのか

>>:  Llama インデックスを使用したマルチエージェント RAG の構築

ブログ    
ブログ    

推薦する

...

...

烏鎮サミットから10年:呉永明が初めてアリババの新たな変化について言及

ノア著制作:51CTO テクノロジースタック(WeChat ID:blog) 「夜、烏鎮の橋のそばの...

ディープラーニングに関する面接で絶対に聞きたい12の質問

導入これら 12 の質問は、現在の面接で最も人気のある質問です。これらは非常に基本的な質問ですが、面...

...

人工知能時代に対応するための知識と技術の蓄積を向上させる

記者がインタビューした専門家によると、人工知能などの知能化技術の応用が加速するにつれ、雇用への構造的...

人工知能による空中戦闘の時代が到来し、エースパイロットは職を失うことになるのだろうか?

最近、J-10やJ-20など我が国の先進的な国産戦闘機の開発に成功した中国航空工業集団の成都航空機設...

Google AIのスターがPika: ビデオ生成Lumiereの創設科学者に就任

動画世代が猛スピードで進化する中、ピカは偉大なる将軍を迎える―― Google の研究者である Om...

ファーウェイ成都インテリジェントボディー人工知能サミットフォーラムが成功裏に開催され、ファーウェイは成都の「スマートで美しい成都」の構築を支援

デジタル経済の時代において、クラウド、5G、AI、ビッグデータ、人工知能などの新技術が社会の生産要素...

強力なハードウェアがあれば、アルゴリズムはもはや重要ではないのでしょうか?

この記事は、プログラマーの質問と回答のコミュニティである stackexchange.com の質問...

2018 年の人工知能と機械学習のトップトレンド

[[243985]]人工知能(AI)は、1955年に米国のダートマス大学のAIの第一人者ジョン・マッ...

人工知能はそんなに怖くない! AIとビッグデータは世界の3つの大きな問題を解決し、人類に利益をもたらすことができる

[[216213]] AIと仕事に関しては、予測は暗い。常識では、AI は近い将来、機械化が過去 2...

業界の競争が激化する中、人工知能が経済のデジタル化をどう推進するかを見てみましょう。

新しいインフラストラクチャの配置が加速するにつれて、5G、モノのインターネット、クラウドコンピューテ...

2枚の写真でビデオを「計算」できる、Redditのネットユーザーに衝撃

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