DK1 Path(으)로 돌아가기

ACT로 2편의 정책을 훈련시키

DK1의 양동력 학습 경로 5부. 양동력 데이터 세트에 ACT 정책을 훈련하십시오. 왜 ACT가 양동력, 훈련 명령, 훈련 곡선을 읽는, 하이퍼 파라미터에서 우수한지. ~ 4 시간.

6개 중 5개 부대 · 정책 교육 · ~4시간

동기화된 양동력 데이터 세트에 ACT 훈련을 시작하고, 양동력 훈련 곡선을 이해하고, 6단계에서 배치할 가치가 있는 체크포인트가 언제 있는지 알 수 있습니다.

왜 ACT가 두 가지 과제 에서 우수 한 것 입니까?

ACT (Action Chunked Transformers) 는 원래 쌍방향 조작 연구를 위해 개발되었습니다. 그것의 핵심 통찰력은 단일 단계 행동보다는 미래의 행동 (부품) 의 순서를 예측하는 것이 복합 오류를 감소시키는 것 이 쌍방향 작업에 특히 귀중합니다. 한 팔의 궤도에 작은 오류가 다른 팔의 실행에서 캐스카드 실패를 일으킬 수 있습니다.

액션 싱 메커니즘은 정책에 계획 지평을 효과적으로 제공합니다. 50Hz 시간 단계마다 단일 공동 명령에 의약하기 보다는, ACT는 100 단계를 앞서 계획하고 실행을 원활하게 합니다. 한 핸드오프 작업에 대해, 이것은 정책이 계획된 순서의 일환으로 양 팔의 핸드오프 포인트에 대한 접근을 "보실 수" 있음을 의미합니다. 각각의 프레임에 독립적으로 반응하는 대신. 경험적으로, 이것은 양동서 데이터 세트에 비-부자 접근과 비교하여 중반 전송 실패의 비율을 절반으로 줄입니다.

한 가지 주의 사항: ACT는 데이터 세트의 시범이 일관된 전략을 나타내는 것으로 가정합니다. 다른 시범이 시범을 실행하는 근본적으로 다른 방법을 보여주면, 다른 팔이 시범을 하는, 다른 시범 높이는 CVAE 구성 요소는 단일 스타일을 암호화하는 데 어려움을 겪을 것입니다. 당신의 100 개의 시범이 모두 같은 동작 전략을 실행해야 합니다.

훈련 지휘

소스 ~/dk1-env/bin/activate python -m lerobot.scripts.train \ --policy-type act \ --dataset-repo-id cube-handoff-v1 \ --root ~/dk1-datasets \ --output-dir ~/dk1-policy/cube-handoff-v1 \ --config-overrides \ policy.action_dim=14 \ policy.chunk_size=100 \ policy.n_action_steps=100 \ policy.dim=feedforward=3200 \ policy.n_heads=8 \ policy.n_encoder=4 \.n_decoder=7 training.number_steps=80000.frequency training.\\q 5000 .frequency training.\q 5000 .ffffm = 14000 .fm = 14000 .fm = 14000 .fm = 14000 .fm = 14000 .fm = 14000 .fm = 14000

GPU가 필요한 연습 시간: RTX 3080 (10GB) 에서 80,000 단계가 약 90 분 소요됩니다. RTX 4090에서는 약 50 분. CPU에서는 1014 시간을 예상합니다. GPU를 가지고 있다면 T0 깃발을 사용하십시오. 클라우드 GPU 옵션 (Lambda Labs, Vast.ai) 는 필요한 하드웨어에 대해 약 0.501.50 / 시간으로 실행됩니다.

2차 교육 곡선을 읽는 것

이중 수습 곡선은 한 팔과 한 가지 중요한 측면에서 다릅니다. 당신은 두 개의 행동 공간을 가지고 있으며 정책은 그것들을 조정하는 것을 배워야 합니다. 손실 곡선에서 이러한 패턴을 관찰하십시오 (TensorBoard에서 T1에서 참조하십시오):

재건 (전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환전환

약 3.0에서 0.4에서 6만 단계 아래로 감소해야 합니다. 40,000 단계 후 0.7 이상의 고원도는 데이터 세트 품질 문제를 나타냅니다.

L_kl (CVAE 정규화)

CVAE는 30보다 높으면, 컴팩트 된 스타일 임베디션을 찾기 위해 고군분투하고 있습니다. 이것은 종종 당신의 시연이 너무 많은 행동 다양성을 의미합니다. 아래 20%의 가장 낮은 데모와 재교육을 줄이는 것을 고려하십시오.

행동 오류: 왼쪽과 오른쪽

팔당 동작 오류 로깅을 활성화하면 (T2 과장) 왼쪽과 오른쪽 동작 차원의 별도의 손실 곡선을 볼 수 있습니다. 두 가지 사이의 큰 지속적인 격차는 다른 팔의 보다 한 팔의 시범이 더 일관된 것을 나타냅니다.

2기본별 하이퍼파라메터

Parameter Default (single-arm) DK1 Bimanual Recommended Why
action_dim 7 14 Two 6-DOF arms + 2 grippers = 14 action dimensions
chunk_size 100 100 Same — action chunking is already well-suited to bimanual coordination timescales
dim_feedforward 3200 3200 No change needed — the larger action space is handled by the action head, not the transformer width
num_steps 50000 80000 Bimanual coordination requires more training steps to converge reliably; 80k is the practical minimum for 100 demos
batch_size 32 16 Reduced to fit the larger bimanual dataset samples (dual camera feeds) in GPU memory
kl_weight 10 10 Default works well; increase to 20 only if L_kl stays near zero after 30k steps (CVAE not learning)

체크포인트 선택

체크포인트 (T9) 를 5,000 단계 마다 저장 하십시오. 최종 체크포인트가 가장 좋다고 가정 하지 마십시오. 두 가지 정책은 높은 단계 수를 통해 과장될 수 있습니다.

T10이 평판 또는 약간 증가하기 전에 최소에 도달한 단계에서 체크포인트를 선택하십시오. 일반적으로 이것은 100 Demo 쌍방향 데이터 세트에서 60,00080,000 단계 범위입니다. 두 개의 체크포인트 (최저 손실 체크포인트와 마지막) 를 배치하고 6.

5부대 완료...

훈련은 80,000 단계가 완료되었고 체크포인트들은 T11에서 저장됩니다. 최종 T12 값은 0.5 이하입니다. 손실 곡선을 기반으로 최고의 체크포인트를 확인했습니다. L_kl 곡선은 왜 당신의 실행에서 행동하는지 이해합니다. 6 단위에서 실제 하드웨어에 배치할 준비가 되어 있습니다. 큐브 전달에서 목표 성공률은 >60% (비매뉴얼은 단일 팔보다 더 어렵고, 이것은 강력한 첫 번째 실행 결과입니다).

[← 경로 개요로 돌아가요]