作業ログ · 教師 · ダッシュ · フットワーク
まだ記事になっていません · 掲載先: ラボノート
教師:ダッシュ
学習コスト 約$9.91学習ラン6回、マシン13台、約10.1マシン時間
ダッシュとは、前、後ろ、横へ素早く踏み出し、構えに戻って着地する動きです。私はどの方向にも、どの距離にも出せるダッシュが欲しいと考えました。私自身のものより短くも長くもでき、斜め方向は両隣の実際のダッシュを混ぜたものです。10月22日の速いステップは、台本で作った参照モーションでは体が蹴り出して進むようにならなかったので中止し、参照モーションをモーションキャプチャ(Muay Thai 03、take_02)から作り直しました。私の前へのダッシュは8.4 s、後ろは9.2 s、左は18.65 s、右は19.45 sです。これらから1つの表を作りました。45°ごとの8方向×最大0.8 mまでの5段階の大きさで、脚は逆運動学で求めています。ダッシュには専用のボタンと専用のクロックがあり、目標距離との差が15 cm以内、横流れが5 cm未満、正しい幅から10 cm以内の構えで終われば、着地は ok とみなします。技についてはダッシュのページにあります。
ラン
各ランは前のランからウォームスタートし、すべて RunPod の EUR-IS-1 で実行しました。ダッシュ以外のすべてについては distill4-131.1M を教師にしています。
| ラン | 元 | 変更点 | 結果 | マシン時間、コスト |
|---|---|---|---|---|
| dash1 | distill4-131.1M | 他のすべてのスキルを含む対戦相手の環境でダッシュ | 上限の2 hで189.1 M:ok 0.24、約23 cm不足 | 2.1 h, $2.47 |
| dash1b | dash1-189.1M | すべてのエピソードをダッシュのエピソードに | ok 0.37〜0.39、12〜15 cm不足。動画で失敗:前に折れる | 2.7 h, $2.08 |
| dash1c(最初の試み) | dash1b-173.7M | 前傾の項。測り方が誤っていた | 1.8 Mで停止 | 0.3 h, $0.31 |
| dash1c | dash1b-173.7M | 胸の垂直からの傾きを参照モーションの値に抑える | 222.8 M:前傾はほぼ解消、ダッシュは維持 | 2.5 h, $2.64 |
| dash1d | dash1c-222.8M | 腰の沈み込みを参照モーションの値に抑える | 108.1 M:一長一短。右後ろはまだ弱い | 1.3 h, $1.37 |
| dash1e | dash1d-108.1M | 各方向に dash1d が進んだ距離までしか求めない | 85.2M を採用:各方向の最大距離で8方向中5方向 ok、距離の81〜109% | 1.2 h, $1.05 |
コストには動画用のポッドも含まれます。dash1b の最初の2つの動画用ポッドは、新しい動画スクリプトのバグで失敗しました。
まずは距離
dash1 は10月26日の05:22 UTCから学習しました。エピソードの半分は対戦相手の環境のもの(ブロック、パンチ、歩き)でした。最終的に ok は24%で、まだゆっくり伸びていました。私は「ブロックの学習は一切いらない」と言いました。教師に必要なのはダッシュだけで、それ以外は生徒が他の教師から学びます。また「遠くへ、しかも速く踏み出すことが大事だ」とも言いました。そこで dash1b では、すべてのエピソードをダッシュのエピソードにし、ダッシュ自身のタイミングを保ちました。これは効きました(ok 0.39、不足は約13 cm)。最後にネットワークボリュームが一杯になり、最終のチェックポイントは0バイトで書き込まれてしまったので、最後の正常なスナップショットである173.7 Mを測定しました。
その動画では、短いダッシュはうまくいき(0.4 mで8方向中6方向 ok)、長いダッシュはうまくいっていませんでした。0.8 mでも約0.4〜0.6 mしか進まず、まるでダッシュの大きさが1種類しかないかのようでした。
フォーム:前傾としゃがみ込み
dash1b の距離について、私は「今のところはこれでいい。でもフォームが間違っている。前に折れてはいけない」と判断しました。胸は約45°前に倒れて頭が下がっていましたが、私のキャプチャしたダッシュでは0〜6°の前傾に保たれています。dash1c では前傾の項を加え、腰の速さへの報酬は体が立っている度合いに応じてだけ支払うようにしたので、前に折れても速さは得られません。最初の試みでは前傾を腰の向きに沿って測っていましたが、これでは横向きの構えでの横への曲がりがほとんど見えないため、1.8 Mで止め、垂直からの全体の傾きで再開しました。前傾は5 Mステップ以内に9°から約3.4°(学習中の平均)に下がりました。動画では、一番悪い方向の右後ろが49〜58°から18〜19°になりました。
dash1c の動画について、私は「だいたい良い。変に見えるのは右後ろだけだ。しゃがみ込んでいる」と言いました。私のキャプチャしたダッシュでは腰の沈みは最大4〜7 cmですが、右後ろはそれより12 cm多く沈んでいました。dash1d では同じ項に腰の沈み込みを加えました。右後ろの短いしゃがみは半分(12 cmから5.3 cm)になりましたが、今度は0.17 mしか進まなくなり、長い右後ろはまだしゃがんで横に17 cm流れていました。
現実的な距離
dash1d の動画について、私は「その距離を期待値として残しておこう。学習で非現実的な目標を練習させないように」と頼みました。0.8 mを進めたことはそれまで一度もなく、私自身のキャプチャは0.45〜0.49 mです。dash1e では各方向の上限を dash1d が進んだ距離にしました。0.32 m(右前)から0.66 m(後ろ)までです。10月27日の00:13 UTCから RTX 4090 で1時間学習しました:
| 方向 | 求めた最大距離 | 進んだ距離 | 横流れ | ok |
|---|---|---|---|---|
| 前 | 0.47 m | 0.43 m (92%) | 1.2 cm | ok |
| 左前 | 0.54 m | 0.44 m (81%) | 1.0 cm | ok |
| 左 | 0.44 m | 0.48 m (109%) | 2.7 cm | ok |
| 左後ろ | 0.40 m | 0.38 m (95%) | 6.7 cm | – |
| 後ろ | 0.66 m | 0.61 m (93%) | 6.2 cm | – |
| 右後ろ | 0.41 m | 0.38 m (93%) | 21.0 cm | – |
| 右 | 0.53 m | 0.47 m (89%) | 1.1 cm | ok |
| 右前 | 0.32 m | 0.31 m (98%) | 1.3 cm | ok |
学習中の ok は59〜67%(dash1d は約38%)で、不足は3〜4.5 cmでした。平均の前傾は約3.3°のままで、一度も転倒しませんでした。動画では、しゃがみ込みは最大5.4 cmでした。後ろ向きの3方向が外れるのは距離ではなく横流れのためです。私は「良さそうだ。モデルを S3 にアップロードして」と言いました。**dash1e-85.2M がダッシュの教師です。**右後ろはどのランでも一番弱い方向です。私の後ろと右のダッシュを混ぜたものなので、右後ろのダッシュをキャプチャすれば、おそらく直るでしょう。ダッシュはまだ生徒には入っていません。
すべてのラン
kakuto-mlのラン記録から作成しています。各ランのマシン、課金された時間とコストです(EC2のランはランのログからの推定値です)。
| ラン | 結果 | マシン | 時間 | コスト |
|---|---|---|---|---|
dash1e-2026102710月27日 · ダッシュ · 採用 dash1e-85.2M | 採用 | 2 | 1.2 | $1.05 |
dash1d-2026102710月26日 · ダッシュ · 採用 dash1d-108.1M | 採用 | 2 | 1.3 | $1.37 |
dash1c-2026102710月26日 · ダッシュ · 採用 dash1c-222.8M | 採用 | 3 | 2.5 | $2.64 |
dash1c-2026102610月26日 · ダッシュ | 中止 | 1 | 0.3 | $0.31 |
dash1b-2026102610月26日 · ダッシュ | 失敗 | 4 | 2.7 | $2.08 |
dash1-2026102610月26日 · ダッシュ · 採用 dash1-189.1M | 採用 | 1 | 2.1 | $2.47 |
| 学習ラン6回 | 13 | 10.1 | $9.91 |