Guidesに戻る

アクション・チャンキング・トランスフォーマー (ACT):ACT政策の訓練と導入に関する完全なガイド (2026)

ACTの完全なガイド:アクション・チャンキングを理解し,ロボットデータに関する ACTポリシーを訓練し,OpenArmまたはMobile ALOHAに展開する.時間的なアンサンブル,チャンクサイズチューニング,レロボットの統合をカバーする. 2026年更新.

[←ガイド]

タイムロウイティ理論とCVAEトレーニングから,LeRobotとACT+のトレーニングパイプラインを通じて,タイムアンサンブル推論によるOpenArmとMobile ALOHAでリアルハードウェア部署まで.

1 行動チャンキングとは何か?

アクション・チャンキングは,ポリシーは,次のアクションではなく,将来のアクションの連続を予測する模倣学習の技術である.ロボットはこの部分の一部を実行し,新しい重複した部分のためにポリシーのリクエストを繰り返します. 単段階行動クローン (BC) を襲う複合エラー問題に抵抗するより平滑で時間的に一貫した軌跡です

標準BCでは,制御ステップごとに1つのアクションを予測する.各予測エラーにより,ロボットがこれまで見たことがなかった状態に移動し,次の予測が悪化する.50Hz (4秒操作) で200ステップ経路を過ぎると,ステップごとに1%のエラーが結合され,デモ分布から漂流する可能性は ~87%である. 行動分断は, k_ステップの計画 (通常は 50 Hz で 50 100,つまり 1 2 秒の動きに対応) にコミットすることで,独立決定点数を 200 から 200 / k に減らして 2 4 まで減らします.

パーツサイズ: 最も 重要 な 超パラメーター

ブロックサイズ k は軌道の滑らしさと環境反応性の間のトレードオフを決定します.大きなブロックは滑らかな動きを生成しますが,当時のブロックが実行を終えるまで予期しない出来事 (オブジェクトの移動,障害物が現れた) に反応することはできません.より小さなブロックはより速く反応しますが,滑らしさの優位性を失い,複合エラーを再導入します.

任務タイプによる推奨開始点:

  • テーブルテーブルのピックアンドプレイス: k=50100 (12秒) 環境は静態で,スムーズさは反応性よりも価値があります.
  • 組み立てと挿入: k=3060.接触に富んだ相は,調整誤りのためにより頻繁な再計画が必要である.
  • 双手調整:** k=5080. 両腕には調整された塊が必要で,短すぎる塊は調整を断ち切る.
  • 移動操作: k=2040のベース, k=5080の腕.
  • ダイナミックな作業 (捕獲,回避): k=1020. 活性性は極めて重要です.

なぜ 行動 減量 が 効果 を 得る の は: 暫定 的 な 滑らかな 議論

単段階 BC ポリシーでは,各段階を独立した方法で処理します.モデルが条件分布 P t を完璧に捕捉しても,ステップ間の独立性は,軌道の時間的な一貫性が欠如していることを意味します.

モデルが k ステップを同時に予測することで,内部に一貫した軌道の段落を生成する必要があります.訓練損失は,全体に共同で罰を与え,ネットワークが孤立したフレームバイフレーム予測よりもスムーズな動き原始性を学ぶことを強制します. これは,複数のトークンを同時に生成する際に,言語モデルがより一貫したテキストを生成する方法と,同時にトークンをサンプルする方法と類似している.

2.ACT建築

ACTは,トランスフォーマー背骨を持つ条件変異自動エンコーダー (CVAE) を使用する.アーキテクチャは3つの主要構成要素である.CVAEエンコーダー (トレーニング中にのみ使用),トランスフォーマーデコーダー (トレーニングと推論の両方で使用),およびビジョンバックbone.

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

訓練中に,エンコードは完全なデモ 画像,関節状態,基礎真実アクション を処理し,デモ特有の変異を捕捉する潜伏式スタイル変数 z (次元32) を生成します.異なるオペレーターは異なる角度や速度から同じ作業に近づくことができます. zはこの変異をエンコードします.

暗号は,全アクションシーケンスと現在の観測を監視するトランスフォーマーである. Gaussian をパラメータ化する平均とログ変数を出力し,そこから z を再振変数化トリックでサンプル化する. KL 差分用語 (ベータで重量化され,通常は 10100) は,標準的な正常前の N ∈ 0, I に向かって z を規則化する.

結論として,z は 0 (先の平均) に設定され,政策決定的なものとする.CVAE 構造は純粋に訓練補助である:それなしでは,モデルは示範スタイルを平均して,すべてのアプローチの平均であり,したがってそれらのいずれも (モード平均) の平均である動きを生成する. CVAEによって,モデルは各スタイルを別々に解読し,推論時にゼロ平均 z が最も"典型的な"実行を生成します.

トランスフォーマーデコーダー (訓練+インフェレンスの)

解読器は,三つの入力をとる: latente z (またはゼロ),視野脊椎 + proprioceptionからの観測トークン,およびk学習可能な位置探求 (部分のアクションごとに1つ).標準トランスフォーマー横断注意は,位置探求が観測トークンに関わるようにして,平行でkアクション予測を生成します.

ACTのオリジナルの実装からアーキテクチャの詳細:

  • エンコードレイヤ: 4 (プロセス観察 + z をコンテキストトークン に 変換する)
  • デコッダレイヤ: 7 (より深く,より多くの作業を行うため:完全なアクション部品を生成する)
  • 隠れた次元: 512
  • 注意力: 8
  • 前向きの尺寸: 2,048
  • 総パラメータ: ~40M (視力脊髄を除く)
  • アクション出力: k 共同位置目標 (例えば,双手 ALOHA の k=100 ステップ x 14 結合)

視力 の 脊椎

カメラビューはそれぞれResNet-18によって独立して処理され,機能地図 (15x20x512から480x640入力) を生成し,カメラあたり300トークンに平ら化されます. 24カメラでデコーダーは 6001,200のビジュアルトークンを受け取ります.

最低可行なカメラ設定は2つのビューである.一台の腕に搭載されたカメラ (近距離操作細部) と一台のオーバーヘッドカメラ (空間文脈) 三台のカメラ (1腕 + 2人の第三者) は,RCSV標準であり,2台のカメラセットアップと比較して精度作業で515%の成功率を一貫して向上させています.

3 データの要求

ACTは,同期 (観察,行動) のペアとして保存された人間による遠隔操作デモから学ぶ.データ品質は量よりも重要だ. 清潔なデモ50件は騒音なデモ500件を上回る.

作業の複雑性による最小データセットサイズ

Task Type デモンストレーション Needed Approx. Collection Time Notes
Simple pick-and-place (fixed location) 20–30 30 minutes Lowest bar for proof-of-concept
Pick-and-place with pose variation 50–80 1–2 hours Must cover workspace uniformly
Multi-step manipulation 100–150 3–4 hours Each phase needs coverage
Bimanual coordination 150–250 5–8 hours Coordination patterns require more examples
Contact-rich assembly (insertion, screwing) 200–400 8–16 hours Force-sensitive phases need dense coverage

データ品質チェックリスト

  • ** 休憩なし:** デモは継続的に流れるべきです.
  • 一貫した速度: 急速と遅いデモを混ぜることで,速度変動に関するCVAEの潜伏能力が無駄になります.
  • ** 清潔なスタート/終了:** 各エピソードも類似した中立姿勢から始まり,はっきりと終了します.
  • 成功のみ: 失敗したデモをすべて削除する.ACTはすべてのトレーニングデータを専門家によるデモとして扱う.
  • カメラの一貫性: 硬いマウントを使用します.セッション間のカメラのシフトの5mmでさえ,把握の精度を低下させます.

データのフォーマット: HDF5と RLDS

ACTトレーニングデータには標準形式はHDF5で,各エピソードが画像 (n__camera x H x W x 3, uint8),関数位置 (qpos, float64),関数速度 (qvel, float64),アクション (float64) のデータセットを含むグループとして保存されます.LeRobotは,Hugging Face Hubから効率的なストリーミングのために,エピソードレベルでタイムスタンプを保存します.

プラットフォーム間互換性のために,GoogleのOpen X-Embodimentで使用されているRLDS (Reinforcement Learning Datasets) 形式は,標準化されたスケーマを持つTFRecordファイルとしてエピソードを保存します.LeRobotは HDF5,RLDS,およびネイティブ パークレットフォーマット間の変換ユーティリティを提供します.詳細な変換指示については,当社の [データフォーマットガイド](T13]を参照してください.

# HDF5 episode structure for ACT training
import h5py
import numpy as np

with h5py.File("episode_0042.hdf5", "r") as f:
    # Camera images: (T, H, W, 3) uint8
    cam_high = f["/observations/images/cam_high"][:]   # overhead camera
    cam_wrist = f["/observations/images/cam_wrist"][:] # wrist camera

    # Joint state: (T, n_joints) float64
    qpos = f["/observations/qpos"][:]    # joint positions (radians)
    qvel = f["/observations/qvel"][:]    # joint velocities (rad/s)

    # Actions: (T, action_dim) float64
    actions = f["/action"][:]            # target joint positions

    print(f"Episode length: {len(qpos)} steps")
    print(f"Control frequency: {f.attrs['control_freq']} Hz")
    print(f"Camera resolution: {cam_high.shape[1]}x{cam_high.shape[2]}")
    # Typical output:
    # Episode length: 400 steps
    # Control frequency: 50 Hz
    # Camera resolution: 480x640

4. レロボットでACT訓練

[LeRobot] (T14) (Hugging Face) は,ACT政策のトレーニングのための最も積極的に維持されているオープンソースフレームワークです. ALOHA,Koch v1.1およびOpenArmを含む一般的なロボットプラットフォームのための標準化されたデータロード,トレーニングループ,評価スクリプト,およびプリコンフィギュレーションを提供しています.

設置

# Clone and install LeRobot
git clone https://github.com/huggingface/lerobot.git
cd lerobot
pip install -e ".[act]"

# Verify GPU is available
python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}, Device: {torch.cuda.get_device_name(0)}')"

訓練司令部

# Full ACT training command
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/

超パラメータ参照

Hyperparameter Default Search Range Effect of Increasing When to Increase
chunk_size (k) 100 20–200 Smoother trajectories, less reactive Smooth tasks (wiping, pouring)
latent_dim (z) 32 16–64 More expressive style capture High demonstration variance
kl_weight (beta) 10 1–100 Stronger regularization Small datasets (<50 demos)
learning_rate 1e-5 5e-6–5e-5 Faster convergence, instability risk Large datasets (>200 demos)
temporal_ensemble_temp 10 5–50 Slower blending, more inertia Smoother tasks
n_cameras 2 1–4 Richer spatial info, more compute 3D reasoning tasks
backbone ResNet-18 ResNet-18/34/50 Better visual features Cluttered or varying-light scenes
num_epochs 3000 1000–8000 Better fit, overfitting risk More demos or complex tasks

GPUの要件

  • 最小: 16 GB VRAM (RTX 4060 Ti, RTX 3090). バッチサイズ48.トレーニング時間:200話48時間.
  • 推奨: 24 GB VRAM (RTX 4090). バッチサイズ 16.トレーニング時間: 24時間,200話.
  • ** 急速な再演:** 4080 GB (A100,H100). バッチサイズ 3264.トレーニング時間: 3090分.高速ハイパーパラメータースイープを可能にします.

5. ACT+ (オリジナルリポジトリ) の ACT+の訓練

トニー・シャオのリポジトリ ([tonyzhaozh/act](T15)) からACT+が導入されたオリジナルは,ALOHAハードウェアスタックを使用しているチームにとって有効なトレーニングコースであり,さらに,ALOHAハードウェアスタックを使用しているチームにとって有効なトレーニングコースであり,ACT+は,よりよい速度推定のために,原始のプロピオセプティブ・史 (最後の25の関節状態) を拡張します.

# Training with the original ACT repo
git clone https://github.com/tonyzhaozh/act.git
cd act
pip install -r requirements.txt

# Train on custom data
python train.py \
  --task_name openarm_pick_place \
  --ckpt_dir checkpoints/openarm_pp \
  --policy_class ACT \
  --kl_weight 10 \
  --chunk_size 50 \
  --hidden_dim 512 \
  --batch_size 8 \
  --dim_feedforward 2048 \
  --num_epochs 5000 \
  --lr 1e-5 \
  --seed 0 \
  --num_steps 400 \
  --camera_names cam_high cam_wrist

**LeRobot vs.オリジナル・レポ:**LeRobotはより良く維持され (アクティブ・コミュニティ,定期更新,マルチポリシーサポート) データを自動的にロード・評価する.オリジナル・レポはより直接的なコントロールを与え,研究実験のために変更が簡単である.生産部署ではLeRobotを推奨する.研究フォークでは,オリジナル・レポはハッキングが容易である.

6.実用ハードウェアで展開する

ACTポリシーを導入するには,リアルタイム制御制約を満たす必要があります. 推論ループはカメラ画像処理とアクションブロックの計算中にロボットの制御周波数 (通常は50 Hz = 20ms/サイクル) で実行する必要があります.

推移ループの建築

import torch
import numpy as np
from collections import deque

class ACTInferenceLoop:
    def __init__(self, policy, chunk_size=50, temporal_temp=10.0, query_freq=5):
        self.policy = policy
        self.chunk_size = chunk_size
        self.temporal_temp = temporal_temp
        self.query_freq = query_freq  # re-query every N steps
        self.action_queue = deque(maxlen=chunk_size)
        self.step_count = 0

    def get_action(self, images, qpos):
        """Returns a single action with temporal ensembling."""
        if self.step_count % self.query_freq == 0:
            # Get new action chunk from policy
            with torch.no_grad():
                obs = {
                    "images": torch.tensor(images).unsqueeze(0).cuda(),
                    "qpos": torch.tensor(qpos).unsqueeze(0).cuda(),
                }
                chunk = self.policy(obs)  # (1, chunk_size, action_dim)
                chunk = chunk.squeeze(0).cpu().numpy()
            self.action_queue.append({
                "actions": chunk,
                "generated_at": self.step_count
            })

        # Temporal ensembling: blend overlapping chunks
        action = np.zeros_like(self.action_queue[0]["actions"][0])
        total_weight = 0.0

        for entry in self.action_queue:
            offset = self.step_count - entry["generated_at"]
            if offset < self.chunk_size:
                weight = np.exp(-offset / self.temporal_temp)
                action += weight * entry["actions"][offset]
                total_weight += weight

        action /= total_weight
        self.step_count += 1
        return action

遅延予算50Hz

50 Hz制御では,各サイクルには20msの予算があります.典型的な分解:

  • カメラキャプチャ +プリプロセッシング: 25ms (USB3カメラ,サイズを480x640)
  • ACT推論: 212ms (GPUに依存する;下記の基準表を参照)
  • アクションインターポレーション +コマンド送信: 12ms
  • 安全チェック: 1ms
  • ** 限界:** 014ms

プラットフォームによる推論基準

Hardware ACT Inference (ms) Max Control Rate (Hz) Suitable For
NVIDIA A100 (80GB) 1.8 555 Cloud/datacenter inference
NVIDIA RTX 4090 2.5 400 Desktop workstation
NVIDIA RTX 4070 4.2 238 Budget desktop
Jetson AGX Orin 64GB 12 83 Onboard robot compute
Jetson Orin NX 16GB 22 45 Mid-range edge
Jetson Orin Nano 8GB 40 25 Minimum viable edge
Apple M3 Pro 18GB 8 125 Development/prototyping

タイムロマン・アンサンブルの実施詳細

タイムランブルは指数分解重量を使用します. _t_ステップ前に生成された部分からの予測では,重量は T7です.50 Hzでのデフォルト温度が10である場合,現在の部分からの予測は ~1.0で重量化され,20ステップ前に生成された部分からの予測は ~0.14で重量化されます. これは連続した断片予測の間を滑らかに混ぜることで 断片境界で発生する緊張を 無理な連続実行で排除します

** 重要な部署技巧:** 生産では常に時間的な組み立てを使用します.それなしでは,ロボットは各段階に可視な緊張を表します. ロボットは突然新しい計画に移行します.組み立てでは,移行は滑らかで目に見えない.計算上の上方費は軽視される (重量平均数数マイクロ秒).

7.OpenArm 1 + ACT: 特定設定手順

OpenArm 1 (単臂4,500ドル,双手リーダーフォロワーステーション9,000ドル) は模倣学習データ収集とACT部署のために設計されています. 以下は完全な設定経路です:

ハードウェアの設定

  1. カメラを設置: 腕カメラ (Intel RealSense D405) をOpenArm腕支架に固定する. オーバーヘッドカメラ (RealSense D435) を,ワークスペースセンターより60cm上の提供されたゲントリーに設置する. 選択的:空間覆盖を向上させるために,第3カメラを45度に設置する.
  2. 接続セルボ: OpenArm は Feetech STS3215 servos (ALOHA と同じ) を使用している. U2D2 シリアルインターフェースで接続する.すべての 6 つの関節が応答するを確認する: T8.
  3. 関節制限を校正する: T9を実行して関節ゼロ位置と柔らかい限界を記録します.これはT10と記します.
  4. テストテレ操作: リーダー腕が接続されている場合,T11を実行します.フォロワーが50Hzでリーダーの動きをリアルタイムで反映する必要があります.

ACTに関するデータ収集

# Record demonstrations on OpenArm
python lerobot/scripts/control_robot.py record \
  --robot-path lerobot/configs/robot/openarm.yaml \
  --fps 50 \
  --repo-id svrc/openarm_pick_place \
  --num-episodes 50 \
  --warmup-time-s 3 \
  --episode-time-s 15 \
  --reset-time-s 10 \
  --push-to-hub 1

OpenArm で ACT を展開する

# Deploy trained policy
python lerobot/scripts/control_robot.py replay \
  --robot-path lerobot/configs/robot/openarm.yaml \
  --policy-path outputs/act_openarm_pick_place/checkpoints/best/ \
  --fps 50 \
  --num-episodes 20

8 常見な失敗と修正

RCSVでは20以上の操作作業について ACTポリシーを訓練し導入しました. ここでは,最も頻繁に見られる失敗パターンとその対処法を示します.

Symptom Root Cause Fix
Policy outputs zero or constant actions KL weight (beta) too high. Model ignores observations and outputs the mean action. Reduce beta by 5–10x. Monitor KL divergence: it should stabilize at 0.5–5.0 nats, not near zero.
Jerky execution at chunk boundaries Temporal ensemble temperature too low, or ensemble not implemented Increase temperature from 10 to 20–30. Verify overlapping chunk execution in your control loop.
Good training loss, poor real-world performance Camera mismatch between training and deployment Check image resize pipeline, camera FOV, crop regions. Use identical camera mount positions.
Works for 2 seconds then drifts Chunk size too large for task dynamics Reduce chunk size by 50%. The policy is committing to outdated plans.
Inconsistent between evaluation runs Too few demonstrations (<30) Collect more data. With small datasets, performance is highly sensitive to train/val split.
KL divergence collapses to zero Beta too low. エンコーダ encodes everything in z; decoder ignores observations. Increase beta until KL stabilizes at 0.5–5.0 nats.
Mode averaging: robot moves to "average" of multiple strategies Multi-modal demonstrations with single-mode CVAE Standardize demonstration strategy, remove minority approaches, or switch to Diffusion Policy.
Sim-to-real gap: policy works in sim but fails on real robot Contact dynamics, friction, and visual domain mismatch Fine-tune on 50–100 real demonstrations. Apply domain randomization during sim training.

9 基準:ACT対拡散政策対行動クローン

以下は,ALOHAとOpenArmプラットフォームを使用して標準化された操作作業に関するRCSVで公表された結果と独自の評価から得られた基準です.

Dimension ACT Diffusion Policy Behavioral Cloning (MLP)
Success rate (50 demos, pick-place) 82–90% 75–85% 40–60%
Success rate (200 demos, pick-place) 90–95% 92–97% 65–80%
Success rate (bimanual insertion) 80–88% 72–82% 15–30%
Inference latency (RTX 4090) 2.5ms 15ms (DDIM) 0.5ms
Inference latency (Jetson Orin Nano) 40ms (25 Hz) 180ms (5.5 Hz) 5ms (200 Hz)
Training time (200 episodes, A100) ~4 hours ~8 hours ~1 hour
Model size ~40M params ~80M params ~5M params
Multi-modal handling Limited (CVAE) Excellent (diffusion) None (mode averaging)
軌跡 smoothness Excellent Very good Poor (jerky)
Data efficiency (<50 demos) Good Moderate Poor
Edge deployment feasibility Excellent Challenging Trivial

10 時の ACT 対 その他の方法

ACT を使用する

  • 50~200人のデモがあり 部署への迅速な道が必要です
  • 作業には比較的決定的な戦略があります (それを行うための明確な方法があります).
  • 推論速度が重要だ 推論速度が重要だ
  • 操作は双手で行われます (ACTは ALOHAのために設計されました).
  • できるだけ簡単なトレーニングパイプラインを 求めます 超パラメータの調整は最小です
  • コンピュータが制限されたプラットフォームで 50Hzでリアルタイム制御が必要です

拡散ポリシーを使用する

  • 同じ作業のための複数の有効な戦略を示しています (異なる操作者,曖昧な把握).
  • 組み立てや挿入作業では ミリメートル以下の精度が必要です
  • 膨大なデータ (200+デモ) と計算予算があります
  • クラウドインフレクションやデスクトップGPUなどで 遅延を許すことができます

VLA (OpenVLA, pi0) を使用する

  • 言語条件付きの多作業実行 ("赤いカップを選んで",青いブロックを積み重ねて") が必要です
  • 視覚言語の表現を 一般化するために利用したいのです
  • 移動手段で操作している
  • 複数のGPU訓練インフラ (48 A100s) にアクセスできます.

シンプルBCで滞在する

  • できるだけ早く訓練を繰り返す必要があります
  • 複合エラーが問題ではない場合,あなたのタスクは非常に短く (<20ステップ)
  • 極限制限のハードウェア (マイクロコントローラークラス) に展開しています.

ACT-対応ロボットデータをRCSVで収集する

RCSVはACTトレーニングのためにエンドツーエンドデータ収集を提供する. カリバー化されたリーダーフォロワーハードウェア,訓練されたオペレーター,品質管理,およびLeRobot HDF5フォーマットでの配信.2,500ドル (一つのタスクで50回のデモ) のパイロットから開始するか,完全な8,000ドルのデータキャンペーンまで拡大します.

データ収集サービス $2,500パイロット 自分のコレクションのためのハードウェアを賃貸する