Blogに戻る

ACT政策説明:ロボット学習のためのトランスフォーマーによる行動

ACT政策とは? 2026年にトランスフォーマーによるアクション・チャンキングを深入に研究する:建築,CVAE訓練,超パラメータ指針,拡散政策との比較,推論基準,RCSVデータでACTを訓練する方法.

[模倣学習ガイド]

ACT Transformers Action Chunking は,トニー・シャオとスタンフォード大学の同僚が発表した後,巧妙な操作のための最も広く採用された模倣学習アルゴリズムの一つとなった.

行動とは何か?

ACTは,ロボットが視覚観測に基づいて滑らかで調整された動きを行う必要がある微細な操作作業のために設計された模倣学習アルゴリズムである.結論の時に,ACTはロボットのカメラと現在の関節状態から一連の画像を取り,将来のアクションの塊を出し,単一の次のアクションではなく,関節位置目標の短い連続を出す. このロボットがこの部分を実行し,次の部分のポリシーをリクエストします. この予測する多くのステップ先のデザインは,ACTの定義特質であり,より単純な行動クローンよりもその利点の大半の源です.

ACTは ALOHA双手操作システムの中で導入され,模倣学習の手には届かないと考えられていた課題で成功を示した. 核洞察は 断片的なアクション予測が複合エラーを軽減し,軌道を平滑させるというもので,その後,拡散政策,pi0およびOpenVLAを含む多数のフォローオンアルゴリズムで採用されました.

行動 割れ た 作業 の 効果

標準行動クローン (BC) は,現在の観測により次の単一の行動を予測するためのポリシーを訓練します.推論時に,予測エラーが蓄積されます.各小さなエラーによりロボットの状態がわずかに変化し,ポリシーが訓練されていない分布に配置され,次の予測が悪化するなどです. この複合誤差は,微妙な操作作業における天才BCの中央失敗モードである.200ステップの操作軌道をたどると,ステップごとにエラー率の1%が複合され,ステップ200で示範分布から偏差する可能性は~87%に達する.

行動分断は, k の将来の行動を予測する過程で,通常 50 100 ステップを 50 Hz で,動作の 1 2 秒に対応する.方針は,この計画にコミットし,再查询する前に実行します.計画が,単一の一貫した観測から生成されたため,軌道は平滑で内部に一貫しています. ポリシーは,200ではなく,各エピソードに"k"の決定点"を処理するだけで,複合因子を200から200/kに減らす必要がある (例えば,k=50の4回のリクエスト).

臨時組成

ACTは,再查询する前に全部分を実行しない.代わりに,mステップごとに (m < k) 再查询を行い,重複するアクションブロックを生成する.将来の時間ステップごとに,複数のブロックが予測を提供し,これらの予測は指数的に衰退する重量 (最近のブロックが重量が高い) と平均されます. この時間的な組成は 実行をさらに平滑にし ブロック間の境界線での緊張を軽減します

組み立ての重量スケジュールでは,指数分解を用いる. t ステップ前に生成された部分からの予測では,重量は T2で,温度が分解率を制御する.オリジナルのACT紙では温度 = 10 (50 Hz) を用いる.つまり,現在の部分からの予測は ~1.0 で重量化され,20 ステップ前に生成された部分からの予測は ~0.14 で重量化されている. これは連続した予測の滑らかな混合を生成します

なぜ単に小物サイズを増やさないのか? 大きい小物とは,意思決定点が少なくなるが,環境変化に対する反応性も少なくなる (物体が移動し,障害物が現れる).最適な小物サイズは,柔軟性と反応性とのバランスをとります.ほとんどのテーブル操作では,k=50100は50Hzで甘い点です.反応的な行動を必要とする作業 (捕獲,回避) では,k=1020はよりよいです.

ACT 建築: 完全な 画像

ACTは,トランスフォーマー背骨を持つCVAE (条件変異自動エンコーダー) 架構を使用している.この架構を理解するには,CVAEエンコーダー (トレーニングのみ),トランスフォーマーデコーダー (トレーニングと推理),視覚の背骨を理解する必要があります.

CVAEエンコード (訓練のみ)

訓練中に,エンコーダーは,全示例軌道を処理する 画像,共同状態,基礎真実行動 そして,示例の"スタイル"を捕捉する潜伏式スタイル変数 z (元の実装における次元32) を生成する. 同じ作業の異なる示例は,異なる角度から対象に近づく,異なる把握方向を使用したり,異なる速度で移動したりする.潜伏の z はこれらの変化を捕捉し,解読器が多様なが有効なアクションシーケンスを生成することを可能にします.

暗号化器は,全アクションシーケンス (部分内のすべての k 基底真実アクション) と現在の観測を処理するトランスフォーマーである.それはガウシア分布をパラメータ化する平均とログバリエンスを出します.そこから z は再パラメタ化トリックを通じてサンプルを採取します. KL 差分損失用語 (ベータで重量化され,通常は 10100) は,z を標準正常前向きに規則化します.

結論の時に,z はゼロ (前者の平均) に設定され,観察を考慮して政策を決定的にする.これは意図的な設計選択である.展開時に,学習されたスタイル分布からランダムなサンプルを採取ではなく,一貫した予測可能な行動を求めます. CVAE構造は,モード崩壊を防ぐための訓練補助のみです. モデルが示例スタイルを平均し,すべてのアプローチの中であり (したがって,いずれも) の動きを生成する傾向があります.

トランスフォーマーデコーダー (トレーニング+インフェレンス)

解読器は,潜伏 z (または推理時にゼロ),現在の観測トークン (視野骨髄 + proprioception) と k 学習可能な位置探求の集合 (片段のアクションごとに1つ) を入力します.解読器は標準的なトランスフォーマー横断注意を用います.位置探求は観察トークンと z に関して,並行的に k 行動予測を生成します.

建築の詳細は,元の実装から:

  • トランスフォーマー層: 4つのエンコードレイヤ,7つのデコードレイヤ (故意に不対称性 解読器はより深くなっているので,より多くの作業を行う)
  • 隠れた次元: 512
  • 注意力: 8
  • 前向きの尺寸: 2048
  • 総パラメータ: ~40M (視力脊髄を除く)

視力 の 脊椎

視野の背骨は,通常,ResNet-18でカメラの各ビューを独立して処理する.各カメラ画像 (480×640 RGB) はResNetを通じて処理され,機能地図 (15×20×512) を生成し,カメラあたり300トークンに平ら化されます. 24カメラでは,トランスフォーマーデコーダーに転送される 6001,200の視覚トークンを生成します.

複数のカメラビュー 腕カメラとオーバーヘッドカメラはそれぞれトークンストリームを貢献し,操作シーンに関する豊富な空間情報を政策に提供します.最小可行な設定は2台のカメラです.腕に搭載されたカメラ (近視操作細部のために) とオーバーヘッドまたは第三者 (空間文脈のために) です. 3台のカメラ (腕首1個+異なる角度で3人目の2個) は,データ収集のRCSV標準であり,精度作業で515%の成功率で2台のカメラセットアップを一貫して上回っています.

訓練法:CVAEの目標

訓練の損失は 2つの要素があります

# ACT training loss (simplified PyTorch)
def act_loss(model, batch):
    images = batch["images"]           # (B, n_cameras, 3, H, W)
    joint_states = batch["qpos"]       # (B, n_joints)
    actions = batch["actions"]         # (B, chunk_size, action_dim)

    # Encoder: process full trajectory -> latent z
    z_mean, z_logvar = model.encoder(images, joint_states, actions)
    z = reparameterize(z_mean, z_logvar)  # (B, latent_dim)

    # Decoder: predict action chunk from observation + z
    predicted_actions = model.decoder(images, joint_states, z)  # (B, chunk_size, action_dim)

    # Reconstruction loss: L1 on predicted actions
    reconstruction = F.l1_loss(predicted_actions, actions)

    # KL divergence: regularize z toward N(0, I)
    kl_div = -0.5 * torch.mean(
        1 + z_logvar - z_mean.pow(2) - z_logvar.exp()
    )

    # Total loss
    beta = 10.0  # KL weight - tune this carefully
    total_loss = reconstruction + beta * kl_div
    return total_loss, {"recon": reconstruction.item(), "kl": kl_div.item()}

ベータ超パラメータは,再構築精度と潜伏空間規則性とのバランスを制御する.あまりにも低い (ベータ < 1):モデルはデモを記憶するが,zは意味がない, z=0による推理はゴミを生む.あまりにも高い (ベータ > 100):モデルは zを完全に無視し,多モダルのデモを処理する能力を失います.ほとんどの操作作業では,ベータ = 1050です. 訓練中に再構築損失とKL差を2つとも監視する 健康なトレーニングではKLが0.5~5.0ナッツ間で安定していることが示されています.

ハイパーパラメータガイドライン

ACTはRCSVで20以上の操作作業に関する経験のトレーニングから導きを頂きました:

Hyperparameter Default Range to Search Effect of Increasing When to Increase
Chunk size (k) 100 20–200 Smoother trajectories, less reactive Smooth tasks (wiping, pouring); decrease for reactive tasks
Latent dim (z) 32 16–64 More expressive style capture High demonstration variance (different operators, strategies)
KL weight (beta) 10 1–100 Stronger regularization, less memorization Small datasets (<50 demos) to prevent overfitting
Learning rate 1e-5 5e-6–5e-5 Faster convergence, risk of instability Large datasets (>200 demos); use warmup
Temporal ensemble temp 10 5–50 Slower blending, more inertia Smoother tasks; decrease for faster reactivity
Number of cameras 2 1–4 Richer spatial information, more compute 3D reasoning tasks (stacking, insertion)
Backbone ResNet-18 ResNet-18/34/50 Better visual features, more compute Visually complex scenes (cluttered, varying lighting)
Training epochs 3000 1000–8000 Better fit, risk of overfitting More demos or more complex tasks
  • 部品サイズ は,最も重要な超パラメーター です.** もし,一つだけ 調節 する なら,部品サイズ を調節 する.作業 に 適す 大きさ が 大きすぎると,ロボット は 実行 を 完了 する 時 に は すでに 時代遅れ の 計画 に "コミット" する こと を 引き起こします. 部品 サイズ が 小さすぎると, 滑らかな 利点 を 失います. 機械が重量制限で動いている場合 k を増やし,環境変化に反応しない場合 k を減らし

ACT対拡散政策:詳細な比較

オリジナル ALOHA 課題では,ACT は同じデータで標準BC の2050% に比べて8095% の成功率を達成した.しかし,より興味深い比較は,ACT vs. Diffusion Policy (Chi et al., 2023) が他の支配的な模倣学習アルゴリズムである.

Dimension ACT Diffusion Policy Verdict
Inference latency (50Hz control) 2–5ms per chunk 50–200ms per chunk (DDPM); 10–30ms (DDIM) ACT wins by 5–10x
Multi-modality handling CVAE latent (limited) Full diffusion (excellent) Diffusion wins
Data efficiency (<50 demos) Good Moderate ACT slightly better
Data efficiency (>200 demos) Good Excellent Diffusion slightly better
Training time (same data) ~8 hours (A100) ~12 hours (A100) ACT faster
軌跡 smoothness Excellent (temporal ensembling) Very good ACT slightly better
精度(再現性) tasks (<1mm tolerance) Good Excellent Diffusion wins
Bimanual coordination Excellent (designed for ALOHA) Good ACT wins
Model size ~40M params ~80M params ACT smaller
Edge deployment (Jetson AGX Orin) ~25 Hz ~5 Hz (DDPM); ~12 Hz (DDIM) ACT much better
Open-source implementations LeRobot, original repo LeRobot, original repo Tie

** ACT を何時使用する? ** 推論速度が重要である場合 (エッジ部署,高制御率),データ制限がある場合 (<100 デモ),双手作業,または可能な限りシンプルなトレーニングパイプラインが必要である場合.

拡散ポリシーを使用する時: デモには,重要な多様式 (同じ作業のための複数の有効戦略) が備わるとき,ミリメートル以下の精度が重要である精度組成作業,または大量のデータ (>200デモ) が備わっていて,トレーニングと推論計算の費用がかかる場合. 拡散政策は,有効な行動の完全な分布を表現する能力 (CVAEを通じて平均に崩壊する代わりに) が,真に複数の正しいアプローチがある課題において優位性を有します.

推移速度基準

ロボット部署に関連するハードウェアプラットフォームでACT推論を比較しました.すべての測定は標準的なACTアーキテクチャを使用しています (ResNet-18背骨,2カメラ,7DOFアクションスペース,部品サイズ50):

Hardware ACT Inference (ms) ACT Throughput (Hz) DP-DDIM Inference (ms) DP-DDIM Throughput (Hz) Notes
NVIDIA A100 (80GB) 1.8 555 12 83 Datacenter training/inference
NVIDIA RTX 4090 2.5 400 15 67 Desktop workstation
NVIDIA RTX 4070 4.2 238 25 40 Budget desktop
Jetson AGX Orin (64GB) 12 83 45 22 Onboard robot compute
Jetson Orin Nano (8GB) 40 25 180 5.5 Min viable edge
Jetson Orin NX (16GB) 22 45 85 12 Mid-range edge
Apple M3 Pro (18GB) 8 125 35 28 Development laptop

リアルタイム操作制御の重要な限界値は20Hz (50ms/推理). ACTは,最も低端のジェットソン構成を除いて,テストしたすべてのプラットフォームで満たされています (Orin Nanoは依然として25Hzを管理しています).DDIMサンプル採取による拡散ポリシーはデスクトップGPUとAGX Orinの限界を満たしますが,Orin NanoとNXではその範囲を下回ります.エッジハードウェアに展開するチームにとって,ACTは明確な選択です.

データ要件と良いデータとは何か

ACTは,ほとんどの公開された結果において,タスクごとに50~200のデモでうまく動作します.しかし,データ品質は量よりも重要です.RCSVで2万5000以上のデモを集めてデータ品質について学んだことは以下です:

作業の複雑性による最小可行データセット

  • シンプルなピックアンド・プレイス (単体,固定位置): 2030のデモ.ACTは最小限のデータで信頼性のある学習を行います.
  • ポーズ変異による選択・場所 (ランダムオブジェクト位置): 5080 デモ.作業場をカバーする必要があります.
  • 多段階操作 (選出,輸送,精度で配置): 100~150回のデモ.各段階には十分なカバーが必要です.
  • 双手調整 (両腕,依存運動): 150250デモ.
  • 接触型組装 (挿入,スクラップ,スナッパ): 200~400 デモ.力感のある段階には密集な覆いが必要.

品質要件

演示は順調で目的あるものでなければならない. ACT ポリシーでは,躊躇,修正,および非最適アプローチを含むデータ内の動きパターンがすべてわかる.RCSVの [データ収集標準]T4) は,操作者が目に見えるエラーの後で継続するのではなく,エピソードを再起動することを要求し,トレーニングデータセットに意図的で成功した行動のみが含まれることを保証します. 品質の特定基準:

  • ** 休憩なし:** デモは連続的に流れなければならない. 長時間の休憩 (>0.5秒の動きなし) は,行動の散歩を混乱させる.
  • 一貫した速度: 運用者は一貫したペースで実行する必要があります.同じデータセット内で高速と遅い示例を混合することで,CVAEはタスク関連の変化ではなく,潜伏能力モデリング速度変化を無駄にするようにします.
  • クリーンスタート/エンド: 各エピソードも類似した中立姿勢から始まり,グリッパーが最終設定ではっきりと終わります.
  • 成功のみ: すべての失敗したデモを削除する.失敗から学ぶことができるRLアプローチとは異なり,ACTはすべてのトレーニングデータを専門家によるデモとして模倣する.

カメラの一貫性も重要です.録音セッションの間,カメラの配置が変化した場合,学習された視覚機能は再現設定と一致しない.柔軟な腕ではなく物理的なマウントを使用し,各データセットでカメラの校正パラメータを記録します.RCSVのマルチカメラの記録パイプラインはこれを自動的に強制します.

訓練 手順 ステップ ステップ

RCSVでは新しいACT政策について使用する 端から端までの訓練手順は以下の通りです

  1. データ収集: [テレオペレーション] (T5) を使ってデモを記録する.リーダーフォロワー設定. 50 Hz制御速率,23カメラ,同期録音.レロボット HDF5フォーマットに輸出する.
  2. データ検証: RCSVデータ品質チェックを実行する:エピソード長さは2x以内にあることを確認する,カメラフレームが落ちない,境界内の関節位置,成功ラベルが確認される.
  3. Split: 90/10 train/val split,対象構成によって stratified, if applicable. 50エピソードをリアルロボット評価のために持っていきます (トレーニング中に見られませんでした).
  4. トレーニング: 上の表から見た超パラメータを用いたLeRobot ACTトレーニングスクリプトを使用します. 再構築損失,KL差異,検証損失を監視します.トレーニングは通常2000~5,000つの時代で収束します.
  5. **チェックポイント選択:**最終チェックポイントを使用しないでください. 最低の検証損失を持つチェックポイントを選択してください. オーバーフィッティングは,データセットサイズに応じて,通常,3,000~5,000の時代後にトレーニングと検証損失曲線間の差異として見えます.
  6. Sim評価 (利用可能であれば): 選択されたチェックポイントで100エピソードをシミュレーションで実行します.成功率が <60%なら,ハイパーパラメータを再調整します (パーツサイズ先,ベータ後,学習速度は).
  7. **実態評価:**実態ハードウェアで20話を実行します.シム評価と比較します.
# Full ACT training command via LeRobot
python lerobot/scripts/train.py \
  --policy.name=act \
  --dataset.repo_id=svrc/openarm_pick_place \
  --policy.chunk_size=50 \
  --policy.n_obs_steps=1 \
  --policy.dim_model=512 \
  --policy.n_heads=8 \
  --policy.n_encoder_layers=4 \
  --policy.n_decoder_layers=7 \
  --policy.latent_dim=32 \
  --policy.kl_weight=10.0 \
  --training.learning_rate=1e-5 \
  --training.batch_size=8 \
  --training.num_epochs=5000 \
  --training.eval_freq=500 \
  --training.save_freq=1000 \
  --device=cuda \
  --output_dir=outputs/act_openarm_pick_place/

訓練 の 失敗 と 修正

  • 政策出力ゼロ/恒常行動: KL重量 (ベータ) はあまりにも高い.モデルは観察を無視し,平均行動を出力している.ベータを510x減少させる.
  • ** 部品の境界線での乱用実行:** タイムローラー・アセンブリング温度が低すぎ (ミックスする速度が鋭い). 10 から 20 30 に温度を上げてください.また,実行ループが重複する部品を正しく実装しているかどうかを確認してください.
  • ** 訓練損失,実績の低下:** 訓練と部署の間のカメラの不一致. 画像のサイズが同じか確認する. カメラのFOVが同一か? 収穫地域が一致か?
  • 最初の2秒間動作し,その後変数: 部品サイズはタスク動力学に対して大きすぎます. ポリシーは実行終了までに時代遅れのプランにコミットします. 部品サイズを50%削減します.
  • ラン間の不一致: デモは十分ではありません. <30のデモでは,ACTのパフォーマンスが電車/バールの分割に非常に敏感です.より多くのデータを収集します.
  • KLの差異はゼロに崩壊する: ベータはあまりにも低い.エンコードは z ですべての情報をエンコードし,デコードは観測を無視することを学んでいる.KL が 0.55.0 で安定するまでベータを増加する.

ACT バリアントと拡張

ACT紙のオリジナルの記事から,いくつかの拡張が登場しました.

  • ACT+ (LeRobot): 観察にプロピオセプティブ・歴史 (最後の25の関節状態) を追加し,速度計算を明示せずに速度推定を改善する.LeRobotのACT実装のデフォルト.
  • ACT with Diffusion (ACT-DP): 散布式予測構造を維持しながら,CVAEを散布式アクションヘッドに置き換えます.ACTの滑らかに散布式政策の多モード操作を組み合わせます.トレーニングは50%遅いが多モードデモをうまく処理します.
  • ACT with Language (ACT-L): 観察トークンに言語埋め込み (ClipまたはT5) を追加し,言語条件によるタスク仕様を可能にします. "赤い杯を拾い上げ"と"青杯を拾い上げ"は,単一のポリシーで処理できます.
  • モバイルALOHA ACT: ACTを拡張して,移動ベース (2D速度) と両腕 (2 x 7-DOF) を共同制御し,合計16DOFのアクションスペースを保持する.移動部品の障害物に対する反応性を維持するために,通常,部品サイズは2030に縮小されます.

RCSVデータによるACT訓練

RCSVの データプラットフォーム は,オープンソースの ACTトレーニングコードの標準入力形式であるLeRobot対応の HDF5フォーマットでデータセットを輸出します.データセットをダウンロードした後,ベースライン ACTポリシーをトレーニングするには,少なくとも16 GB VRAMと約8時間間のトレーニングが必要になります. RCSVエンジニアリングサポートは,チームにトレーニングランを構成し,部品サイズと学習率を調整し,政策のパフォーマンスを評価するのに役立ちます.

GPUインフラストラクチャのないチームでは,RCSVはA100ハードウェアで管理されたトレーニングを実行を提供しています:データセットを提供すると,評価メトリックを備えた訓練されたチェックポイントを返します.ターンアワーンは通常2448時間です.コストはデータセットサイズと検索されたハイパーパラメーター構成数に依存します.

ハードウェアで自分のデータを収集するには,当社の [Hardware catalog] (T7) を参照してください.または [ロボットリースオプション] (T8) を探求してください.

関連 読書

関連: LeRobot Guide · モバイル ALOHA 設定 · 模倣学習における一般的な誤り · 身体横断訓練 · テレオペレーションを開始する · ロボット語彙