模倣学習が実際に行うこと
トレーニング コマンドを実行する前に、2 分間かけてモデルが実際に何を学習しているのかを理解してください。 模倣学習は、観察 (カメラ画像 + 現在の関節状態) をアクション (次の関節角度) にマッピングするようにポリシー ネットワークをトレーニングします。 ネットワークは報酬信号を受信することはありません。ネットワークはデモンストレーションを見て、同様の状態で実行されたアクションの分布を再現することのみを学習します。
ACT(アクションチャンキングwithトランスフォーマー)は、 かたまり 1 つのステップではなく、一度に 100 の将来のアクションを実行できます。 これにより、エピソード全体にわたるエラーの蓄積が防止されます。たとえ個々の予測がわずかに外れたとしても、チャンクは安定した軌道バッファーを提供します。 その後、100 タイムステップ (50 Hz で 2 秒) ごとに再計画されます。 これが、ACT が単純な動作の複製よりも長いタスクをより適切に処理する理由です。
完全な理論的背景については、以下を参照してください。 模倣学習の基礎 ロボティクスライブラリにあります。
GPUかCPUか?
8GB 以上の VRAM を搭載した NVIDIA GPU でのトレーニングには、100k ステップで約 45 分かかります。 CPU でのトレーニングには、同じ実行に 3 ~ 4 時間かかります。 どちらも同等のモデル品質を生成します。GPU の方が速いだけです。 ローカル GPU がない場合、トレーニング コマンドはクラウド インスタンス (A100 ランタイムを備えた Lambda Labs または Google Colab) 上でも同様に機能します。 手順は LeRobot リポジトリの README に記載されています。
データセットで ACT をトレーニングする
仮想環境からトレーニング スクリプトを実行します。 以下の設定値は、OpenArm 上の 50 エピソードのピック アンド プレイス データセット用に調整されています。最初の実行時には変更しないでください。
トレーニングを開始し、出力を監視します。 ずっと監視する必要はありませんが、20 ~ 30 分ごとにチェックして、損失が減少しており、実行がクラッシュしていないことを確認してください。 トレーニングは一晩中寝ている間に実行できます。
トレーニングカーブを理解する
ACT のトレーニング出力には、2 つの主要な指標が示されています。 これらを正しく読むことを学びましょう。トレーニングが健全であるかどうか、いつ中止すべきかを教えてくれます。
トレーニングロス
最初の 20k ステップで急激に減少し、その後はさらにゆっくりと減少し続けます。 損失が 0.05 を超えて頭打ちになる場合は、通常、データ品質に問題があることを示します。データセットを確認してください。 損失が大きく変動する場合は、学習率が高すぎることを示唆しています。
評価成功率
5k ステップごとに表示されます (物理的な腕またはシムが必要です)。 これが実際に重要な数字です。 デプロイ前にこれを 70% 以上にする必要があります。 多くの場合、トレーニングの損失よりも遅れます。成功率がまだ向上している間は損失が良く見えることがあります。
アクション MSE
予測されたアクションと真実のアクションの間の平均二乗誤差。 よく訓練されたピックアンドプレイスポリシーでは、0.01 を下回るはずです。 80k ステップ後のハイアクション MSE は、モデルがタスクの複雑さに苦戦しているか、データに一貫性がないことを意味します。
KL ダイバージェンス (ACT 固有)
ACT は、トレーニング中に 0 から 10 までアニーリングされる KL 重みを持つ CVAE を使用します。 ステップ 40k 付近で安定することに注意してください。 収束しない場合は、モデルがスタイルのエンコードに失敗しています。さらにデータを追加してみてください。
トレーニングをいつ中止するか
単純に 10 万歩まで走って停止しないでください。 次のシグナルを使用して、チェックポイントのデプロイの準備がいつ完了するかを決定します。
- 評価成功率が 3 回連続の評価で頭打ちになった — モデルは収束しました。 さらなるトレーニングは、より多くの、または異なるデータがなければ役に立ちません。
- 評価の成功率は 70% 以上です — これは、6 号機配備のしきい値です。 60k ステップで 70% に達した場合は、早めに停止してそのチェックポイントをデプロイできます。
- トレーニング損失は依然として減少していますが、評価は横ばいまたは減少しています — モデルが過剰適合しています。 eval がピークに達していた最後のチェックポイントを取得します。 ここが一番のチェックポイントです。
- 10万歩を超えた後 — 成功率が 40% 未満の場合は、ユニット 4 に戻ります。この時点では、トレーニングの問題よりもデータの問題の可能性が高くなります。
ACT を超えて — 普及政策と π₀
機能する ACT ポリシーを作成したら、次の実験は当然のことながら Diffusion Policy です。 推論は遅くなりますが、マルチモーダルなタスクをより適切に処理できます (たとえば、アームが 2 つの角度からオブジェクトに近づくことができます)。 SVRC Research セクションでは両方をカバーしています。 研究論文を閲覧する →
ユニット 5 が完了したら...
トレーニングが完了しました (または適切なチェックポイントで停止しました)。 ピック アンド プレイス タスクの評価成功率は 70% を超えています。 次の場所にチェックポイントが保存されています ~/openarm-policies/pick-and-place-v1/ どのステップ番号が最良の結果をもたらしたかがわかります。 このポリシーをユニット 6 の実際のアームに適用する準備が整いました。