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 の構築

ブログ    
ブログ    

推薦する

人工知能、機械学習、ディープラーニング

1. 人工知能と機械学習記事を始める前に、下の図 1.1 に示すように、人工知能、機械学習、ディープ...

...

初期の携帯電話で使用されていたGPRS暗号化アルゴリズムが意図的に弱められていたことが明らかになった。

[[406364]]ヨーロッパの複数の大学の研究者チームが論文の中で、初期の携帯電話で使用されてい...

2030年「メタバース」就職ガイド! CSは依然として非常に人気があり、博士号取得者の需要は衰えていません。

2016年にポケモンGOが世界を席巻したときのことを覚えていますか?当時、多くの人々は、拡張現実革...

...

リー・ヤンがスマートシティ建設について語る:ハードウェアからプラットフォームまで、Terminusエコシステムが先導する

[51CTO.com からのオリジナル記事]質問:皆さんはスマート シティについて知っていますか? ...

AI人材が500万人不足!文部省、高等職業教育に人工知能専攻を追加

教育部は最近、浙江大学を含む35の大学の学部課程に人工知能専攻科目を追加したことに続き、大学の職業教...

素人でもわかるポピュラーサイエンス:これは自然言語処理と呼ばれるものです

[[208394]] 1. 自然言語処理とは何ですか?簡単に言えば、自然言語処理(NLP)とは、コン...

...

人工知能によるUAV戦闘能力の向上

[[282882]]リーパードローンつい最近、米国空軍は、リーパー無人航空機の製造元であるゼネラル・...

LLaMa 3はGPT-4を目指し、ジェミニから教訓を得て7月に延期される可能性あり

過去には、画像生成モデルは主に白人を被写体として表示していることで批判されることが多かったが、Goo...

スイスのCERTがボットネットのドメイン名生成アルゴリズムを解読し、多数のトップレベルドメインをブロック

スイス政府コンピュータ緊急対応センター(GovCERT)は、ボットネットTofseeが通信に使用して...

顔認識防止技術でプライバシー漏洩を防ぐ方法

人工知能監視システムに対する懸念から、研究者たちはそれを標的とするツールの開発に取り組んでいる。最近...

テクノロジーフロンティア | 昆虫はIoT AIの未来となるか?

研究者たちは、特定の昆虫の神経系の機能が、決定論的、確率的、揮発性、不揮発性メモリの機能とどのように...

人工知能教育とは何ですか?将来の教育の顕著な特徴は何でしょうか?

グローバル情報化教育の時代において、教育モデル、教育内容、学習方法は大きな変化を遂げており、人工知能...