ACT가 이중 수동 작업에 탁월한 이유
ACT(Action Chunked Transformers)는 원래 양손 조작 연구를 위해 특별히 개발되었습니다. 단일 단계 동작이 아닌 미래 동작(청크)의 시퀀스를 예측하면 복합 오류가 줄어든다는 핵심 통찰력은 특히 한쪽 팔의 궤적에 작은 오류가 다른 쪽 팔의 실행에 계단식 오류를 일으킬 수 있는 양손 작업에 유용합니다.
액션 청크 메커니즘은 정책에 계획 범위를 효과적으로 제공합니다. ACT는 각 50Hz 시간 단계에서 단일 공동 명령을 실행하는 대신 100단계를 미리 계획하고 실행을 원활하게 합니다. 핸드오프 작업의 경우 이는 정책이 각 프레임에 독립적으로 반응하는 대신 계획된 시퀀스의 일부로 핸드오프 지점을 향한 두 팔의 접근 방식을 "볼" 수 있음을 의미합니다. 경험적으로 이는 양손 데이터 세트에 대한 청크되지 않은 접근 방식에 비해 중간 전송 실패율을 절반으로 줄입니다.
한 가지 주의 사항: ACT는 데이터 세트의 데모가 다음을 나타낸다고 가정합니다. 일관된 전략. 서로 다른 데모에서 근본적으로 서로 다른 핸드오프 실행 방법(시작하는 암, 서로 다른 핸드오프 높이)을 보여주는 경우 CVAE 구성 요소는 단일 스타일을 인코딩하는 데 어려움을 겪습니다. 100개의 데모는 모두 동일한 모션 전략을 실행해야 합니다.
훈련 명령
--device cuda GPU가 있는 경우 플래그를 지정합니다. 클라우드 GPU 옵션(Lambda Labs, Vast.ai)은 필요한 하드웨어에 대해 시간당 약 0.50~1.50달러를 실행합니다.
양손 훈련 곡선 읽기
양손 훈련 곡선은 한 가지 중요한 점에서 단일 팔과 다릅니다. 즉, 두 개의 작업 공간이 있고 정책은 이를 조정하는 방법을 배워야 합니다. 손실 곡선에서 이러한 패턴을 살펴보세요(TensorBoard에서 확인하세요). tensorboard --logdir ~/dk1-policies/):
L_reconstruction(전체 액션 손실)
60,000단계씩 ~3.0에서 0.4 미만으로 감소해야 합니다. 40,000단계 이후 0.7보다 높은 정체는 데이터 세트 품질 문제를 나타냅니다. 즉, 핸드오프 타이밍이나 위치에 너무 많은 차이가 있을 수 있습니다.
L_kl(CVAE 정규화)
0 근처에서 시작하여 5~15까지 천천히 상승합니다. 30 이상으로 올라가면 CVAE는 컴팩트 스타일 임베딩을 찾기 위해 애쓰고 있는 것입니다. 이는 종종 귀하의 시연에 행동의 다양성이 너무 많다는 것을 의미합니다. 일관성이 가장 낮은 하위 20% 데모를 선별하고 재교육하는 것을 고려하세요.
작업 오류: 왼쪽 대 오른쪽
Arm별 작업 오류 로깅을 활성화한 경우( training.log_per_action_dim=true 재정의) 왼쪽 및 오른쪽 작업 차원에 대한 별도의 손실 곡선이 표시됩니다. 둘 사이의 지속적인 격차는 한 쪽의 시연이 다른 쪽의 시연보다 더 일관적임을 나타냅니다. 지연되는 쪽의 경우 단위 4 품질 체크리스트를 검토하세요.
양 수동별 하이퍼파라미터
| 매개변수 | 기본값(단일 암) | DK1 바이매뉴얼 권장 | 왜 |
|---|---|---|---|
action_dim |
7 | 14 | 2개의 6-DOF 암 + 2개의 그리퍼 = 14개의 동작 차원 |
chunk_size |
100 | 100 | 동일합니다. 액션 청킹은 이미 양손 조정 시간 척도에 적합합니다. |
dim_feedforward |
3200 | 3200 | 변경이 필요하지 않습니다. 더 큰 액션 공간은 트랜스포머 폭이 아닌 액션 헤드에 의해 처리됩니다. |
num_steps |
50000 | 80000 | 양손 조정을 위해서는 안정적으로 수렴하기 위해 더 많은 훈련 단계가 필요합니다. 80k는 100개 데모의 실제 최소값입니다. |
batch_size |
32 | 16 | GPU 메모리의 더 큰 이중 수동 데이터 세트 샘플(이중 카메라 피드)에 맞게 축소되었습니다. |
kl_weight |
10 | 10 | 기본값은 잘 작동합니다. 30,000단계 후에 L_kl이 0에 가깝게 유지되는 경우에만 20으로 증가합니다(CVAE는 학습하지 않음). |
체크포인트 선택
5,000단계마다 체크포인트 저장(training.save_freq=5000). 최종 체크포인트가 최고라고 가정하지 마십시오. 양손 정책은 높은 단계 수에서 과적합될 수 있습니다. 정책은 교육 시연을 완벽하게 재현하는 방법을 학습하지만 평가 중에 접하게 되는 약간의 실제 변형에 대한 일반화를 잃습니다.
해당 단계에서 체크포인트를 선택합니다. L_reconstruction 정체되기 시작하거나 약간 증가하기 전에 최소값에 도달했습니다. 일반적으로 이는 100개 데모 양손 데이터 세트의 경우 60,000~80,000단계 범위에 있습니다. 두 개의 체크포인트(최소 손실 체크포인트와 마지막 체크포인트)를 배포하고 Unit 6에서 실제 성능을 비교합니다.
단원 5 완료 시기...
훈련은 80,000단계를 완료했으며 체크포인트는 다음 위치에 저장됩니다. ~/dk1-policies/cube-handoff-v1/. 결승전 L_reconstruction 값이 0.5 미만입니다. 손실 곡선을 기반으로 가장 좋은 체크포인트를 식별했습니다. L_kl 곡선이 실행에서와 같이 동작하는 이유를 이해합니다. 유닛 6에서 실제 하드웨어에 배포할 준비가 되었습니다. 큐브 핸드오프의 목표 성공률은 >60%입니다(양방향 수동은 단일 암보다 어렵고 이는 강력한 첫 실행 결과입니다).