Blog블로그博客

Part 6 · Separating perception from choice: a world model and a planner

26 minute read

Published:

Part 6 of Building and Evaluating a Drone VLA from Scratch. Instead of hoping one network learns to listen, split the job: a world model finds every target without reading the words, a 340-parameter selector lets the words pick one, and a planner flies there. Every pair goes the right way, pair success 6/10, and planning through the learned dynamics fails completely.

연재 6편. 하나의 네트워크가 말을 듣게 되길 바라는 대신 일을 나눴습니다: 월드 모델은 말을 읽지 않고 모든 타깃의 위치를 찾고 340 파라미터짜리 선택기가 말로 그중 하나를 고르고 플래너가 그곳으로 납니다. 모든 쌍이 맞는 방향으로 갈라지고 쌍 성공 6/10. 학습된 동역학으로 계획하면 완전히 실패합니다.

系列第 6 篇:与其指望一个网络学会听指令,不如把任务拆开:世界模型在不读指令的情况下找到所有目标,一个 340 参数的选择器让指令挑出其中一个,规划器飞过去。每一对都飞向了正确方向,pair 成功 6/10;而用学到的动力学做规划则完全失败。

Part 5 · Borrowing from VLAs: action tokens and action chunks

31 minute read

Published:

Part 5 of Building and Evaluating a Drone VLA from Scratch. Same small policy, same data; only the way it outputs an action changes. OpenVLA-style action tokens fix the flying, an 8-step action chunk makes it the best end-to-end model so far (pair success 3/10), and giving it more states makes it react to the words but stop stopping.

연재 5편. 같은 작은 정책, 같은 데이터에서 행동을 출력하는 방식만 바꿨습니다. OpenVLA식 액션 토큰은 비행을 고치고 8스텝 액션 청크는 지금까지 가장 나은 end-to-end 모델(쌍 성공 3/10)이 됩니다. 상태를 더 주면 말에는 반응하지만 멈추지를 못합니다.

系列第 5 篇:同样的小策略、同样的数据,只改变输出动作的方式。OpenVLA 式动作 token 修好了飞行,8 步动作块成为目前最好的端到端模型(pair 成功 3/10);再给它更多状态,它会对指令作出反应,却停不下来。

Part 4 · The policy that did not listen

21 minute read

Published:

Part 4 of Building and Evaluating a Drone VLA from Scratch. A 481k-parameter RGB + text policy trained on 100 counterfactual pairs learns to fly toward the targets, but not which one: for almost every pair it flies to the same pillar whichever sentence it gets. Why, measured.

연재 4편. counterfactual 100쌍으로 학습한 48만 파라미터 RGB+텍스트 정책은 타깃 쪽으로 나는 법은 배우지만 어느 타깃인지는 배우지 못합니다. 거의 모든 쌍에서 어떤 문장을 받든 같은 기둥으로 날아갑니다. 그 이유를 측정했습니다.

系列第 4 篇:用 100 对反事实样本训练的 48 万参数 RGB+文本策略学会了飞向目标,却没学会飞向哪一个:几乎每一对中,无论收到哪句指令都飞向同一根柱子。并测量了原因。

Part 3 · Same scene, different words: a counterfactual dataset

16 minute read

Published:

Part 3 of Building and Evaluating a Drone VLA from Scratch. 120 layouts, each flown twice from the identical start: once per sentence. How the pairs are generated, split and verified, and two bugs that only reading the output back could catch.

연재 3편. 레이아웃 120개를 같은 출발점에서 문장마다 한 번씩, 두 번 비행했습니다. 쌍을 만들고 나누고 검증하는 방법, 그리고 출력을 다시 읽어 봐야만 잡을 수 있었던 버그 두 개.

系列第 3 篇:120 个布局,每个都从完全相同的起点飞两次,每句指令一次。如何生成、划分和验证这些配对,以及只有回读输出才能发现的两个 bug。

Part 2 · From a real drone’s spec sheet to a testable task

21 minute read

Published:

Part 2 of Building and Evaluating a Drone VLA from Scratch. What a 27 g simulated quadrotor can honestly borrow from a 1 kg drone’s spec sheet, the input/output contract every policy must satisfy, and how a flight is scored, all fixed before any model is trained.

연재 2편. 27 g 시뮬레이션 쿼드로터가 1 kg 드론 스펙에서 정직하게 가져올 수 있는 것, 모든 정책이 지켜야 할 입출력 계약, 비행을 채점하는 방법. 모델을 학습하기 전에 모두 고정합니다.

系列第 2 篇:27 g 的仿真四旋翼能从 1 kg 无人机的规格表中如实借用什么,每个策略都必须满足的输入/输出约定,以及如何为一次飞行打分。全部在训练任何模型之前确定。

Part 1 · Fast frames, missing targets: a drone simulator on a laptop CPU

23 minute read

Published:

Part 1 of Building and Evaluating a Drone VLA from Scratch. A CPU-only drone simulator records 34.5 frames per second, but the first recording passed every check I had written and still had the targets cut out of view.

연재 드론 VLA를 처음부터 만들고 평가하기 1편. CPU만으로 초당 34.5 프레임을 녹화하는 드론 시뮬레이터. 그런데 첫 녹화는 제가 만든 검사를 모두 통과하고도 타깃이 화면 밖으로 잘려 있었습니다.

系列 从零构建并评估无人机 VLA 第 1 篇:纯 CPU 的无人机仿真每秒录制 34.5 帧,但第一次录制通过了我写的所有检查,目标却被裁出了画面。