# ACT (Action Chunking dengan Transformers)

ACT adalah **kebijakan pembelajaran imitasi yang ringan dan efisien**, yang sangat cocok untuk tugas manipulasi bergranularitas halus. Ini adalah **model pertama yang kami rekomendasikan saat Anda memulai** dengan LeRobot karena waktu pelatihan yang cepat, persyaratan komputasi yang rendah, dan kinerjanya yang kuat.

  <iframe width="100%" height="415" src="https://www.youtube.com/embed/ft73x0LfGpM" title="LeRobot ACT Tutorial" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen
  >

_Watch tutorial ini dari tim LeRobot untuk mempelajari cara kerja ACT: [LeRobot ACT Tutorial](https://www.youtube.com/watch?v=ft73x0LfGpM)_

## Ringkasan Model

Action Chunking with Transformers (ACT) diperkenalkan dalam makalah [Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware](https://arxiv.org/abs/2304.13705) oleh Zhao dkk. Kebijakan ini dirancang untuk memungkinkan tugas manipulasi yang presisi dan kaya kontak menggunakan perangkat keras yang terjangkau dan data demonstrasi yang minimal.

### Mengapa ACT Sangat Cocok untuk Pemula

ACT menonjol sebagai titik awal yang sangat baik karena beberapa alasan:

- **Pelatihan Cepat**: Dilatih dalam beberapa jam pada satu GPU
- **Ringan**: Hanya memiliki sekitar 80 juta parameter, sehingga efisien dan mudah digunakan
- **Effisien Data**: Sering kali mencapai tingkat keberhasilan tinggi hanya dengan 50 demonstrasi

### Arsitektur

ACT menggunakan arsitektur berbasis transformer dengan tiga komponen utama:

1. **Backbone Visi**: ResNet-18 memproses gambar dari beberapa sudut pandang kamera
2. **Transformer Encoder**: Mensintesis informasi dari fitur kamera, posisi sendi, dan variabel laten yang dipelajari
3. **Transformer Decoder**: Menghasilkan urutan aksi yang koheren menggunakan cross-attention

Kebijakan mengambil sebagai input:

- Beberapa gambar RGB (misalnya, dari kamera pergelangan tangan, kamera depan/atas)
- Posisi sendi robot saat ini
- Variabel gaya laten `z` (dipelajari selama pelatihan, diatur ke nol selama inferensi)

Dan menghasilkan sepotong `k` urutan aksi masa depan.

## Persyaratan Instalasi

1. Install LeRobot dengan mengikuti [Panduan Instalasi](./installation) kami.
2. ACT sudah termasuk dalam instalasi dasar LeRobot, sehingga tidak diperlukan dependensi tambahan!

## Pelatihan ACT

ACT bekerja dengan mulus bersama pipeline pelatihan LeRobot standar. Berikut adalah contoh lengkap untuk melatih ACT pada dataset Anda:

```bash
lerobot-train \
  --dataset.repo_id=${HF_USER}/your_dataset \
  --policy.type=act \
  --output_dir=outputs/train/act_your_dataset \
  --job_name=act_your_dataset \
  --policy.device=cuda \
  --trackio.enable=true \
  --policy.repo_id=${HF_USER}/act_policy
```

### Tips Pelatihan

1. **Mulai dengan nilai bawaan**: hiperparameter bawaan ACT bekerja dengan baik untuk sebagian besar tugas
2. **Durasi pelatihan**: Harapkan beberapa jam untuk 100k langkah pelatihan pada satu GPU
3. **Ukuran batch**: Mulai dengan ukuran batch 8 dan sesuaikan berdasarkan memori GPU Anda

### Melatih menggunakan Google Colab

Jika komputer lokal Anda tidak memiliki GPU yang bertenaga, Anda dapat memanfaatkan Google Colab untuk melatih model Anda dengan mengikuti [notebook pelatihan ACT](./notebooks#training-act).

## Mengevaluasi ACT

Setelah pelatihan selesai, Anda dapat mengevaluasi kebijakan ACT Anda pada robot dengan `lerobot-rollout`. Perintah di bawah ini menjalankan kebijakan selama 60 detik tanpa merekam apa pun (`--task` dapat dilewati untuk ACT). Lihat [Policy Deployment](./inference) untuk strategi yang merekam episode evaluasi.

```bash
lerobot-rollout \
  --strategy.type=base \
  --policy.path=${HF_USER}/act_policy \
  --robot.type=so101_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
  --display_data=true \
  --task="Your task description" \
  --duration=60
```

