Week 11 · Frontiers & Open Problems

Lecture of 11 May 2026 · guest: Lucas Beyer

Course: ETH Robot Learning, Week 11 · Lecture: video · Go deeper: ADM Ch 18, behavioral cloning

Big picture

course w01 Week 1 Introduction to Robot Learning w02 Week 2 Robot Control & MDPs w01->w02 formalize w03 Week 3 Imitation Learning w02->w03 learn from demos w04 Week 4 Reinforcement Learning I w02->w04 learn from reward w06 Week 6 Generative Models w03->w06 many modes w05 Week 5 Reinforcement Learning II w04->w05 scale up w08 Week 8 World Models w05->w08 learn a model w07 Week 7 Sequence Modeling and Transformers w06->w07 sequences w09 Week 9 Generalist Robot Policies w07->w09 scale w08->w09 imagine w10 Week 10 Embodied Reasoning and Test-time Scaling w09->w10 reason w11 Week 11 Frontiers & Open Problems w10->w11 what's open w12 Week 12 Guest Lectures w11->w12 guests
Figure 1: The course at a glance. Each box is a week (click to open it); this page’s week is orange. Arrows show how one week builds on another.

Where this week fits

This is the lecturer’s last lecture, and it looks ahead. Every week, someone announces that robotics is solved ▶ 01:02. Take one of those robots out of its lab, though, with new lighting, new objects or a new camera angle, and it breaks quickly ▶ 03:07. The lecturer’s not-so-secret recipe for an impressive demo: collect lots of data on your own robot, clone it until extrapolation becomes interpolation, and train and test on the same day ▶ 04:09. The real goal is generalization to the whole world, the way people cook in a kitchen they have never seen by composing what they already know ▶ 05:13. The lecture lays out what stands between the course’s tools and that goal, then gives advice on doing research, and the guest traces how vision itself got from “doesn’t work” to “solved”.

The question this week answers: what are the open problems of robot learning, why are they hard, and which ideas from the course point towards solving them?

The key ideas at a glance

  • Generalists versus specialists. Foundation models generalize but lack physical grounding; robot specialists are grounded and dexterous but narrow. The aim is both at once.
  • Open choices: backbone, data recipe, data collection. A vision-language model, a video model or training from scratch; web, simulated, human and robot data in some mix; collection interfaces that trade scale against fidelity to the robot.
  • Dexterity needs more than vision. Touch and force data are scarce, rarely paired with other senses, and different on every robot.
  • Knowing what you don’t know. Deciding when to act, when to think and when to ask for help requires a model that can tell when it is out of its depth: introspection.
  • Beyond imitation. Cloning is bounded by its demonstrations; RL can stitch pieces of different demonstrations and improve on them, and is the way to learn from a robot’s own mixed-quality experience (the data flywheel).
  • Lifelong learning, rapid adaptation, mobility and memory. Robots should improve with experience, adapt from a correction or a demonstration in context, move through buildings with one model, and remember across time scales.
  • From the guest: pre-train, mid-train, fine-tune; scale model, data and training time together; and look at your data.

Vocabulary

Term Plain meaning
Physical grounding Knowing what actually happens in the world, not only how to describe it
Backbone The pretrained network a policy starts from: a VLM, a video model, or none
Data recipe The mix and order of data a model is trained on
Embodiment gap The difference between the body in the data (a human hand) and the robot’s
Introspection A model’s ability to tell when it does not know
Ensemble disagreement The spread of several independently trained models’ outputs, used as an uncertainty estimate
Stitching Combining pieces of different trajectories into a new, better one (offline RL)
Data flywheel Deploy, collect data, retrain, deploy a better robot, repeat
Co-training Training on several data sources at once, such as expert demos and autonomous rollouts
Catastrophic forgetting Losing old abilities when fine-tuned on new data
In-context adaptation Adapting from a correction or demonstration given as input, without changing weights
Mid-training Training after pre-training that teaches core skills (reading text, locating objects)

After this week you can

  • Name the main open problems in robot learning and say why each is hard.
  • Explain why a cloned policy cannot exceed its demonstrations, and how offline RL stitches.
  • Explain why mixing expert data with a robot’s own rollouts can make cloning worse.
  • Use ensemble disagreement to decide when to act and when to ask, and name a failure it cannot catch.
  • Describe CLIP and SigLIP training, and why contrastive pre-training misses relations.
  • Apply the lecturer’s checklist for choosing and running a research project.

Intuition

TipAnalogy

A new driver taught only on one commute can drive it perfectly, and nothing else. A good driver has seen enough roads to combine what they know on a road they have never driven, notices when the situation is beyond them, and keeps getting better from their own driving, including from their own mistakes. Robot learning today mostly produces the first driver; the open problems are what it would take to produce the second.

Generalists, specialists and the missing grounding

Vision-language models are trained on internet-scale data and generalize broadly, but they lack physical grounding: one can describe a glass on a table without knowing that pushing it off the edge breaks it ▶ 06:46. Video models render convincing liquids and falling objects that, on a close look, break basic physics ▶ 07:18. Robot specialists are the opposite: dexterous, using richer senses, and narrow ▶ 07:49. The path the lecture argues for is to feed foundation models embodied data, which is multimodal, spatial and temporal, so that they can act in the world and not only describe it ▶ 08:20. Brooks made a version of this argument in 1991 (see the discussion papers): intelligence built on representations disconnected from sensing and acting goes astray, and the world should be its own model.

Three questions follow, all still open. Which backbone? A VLM, for its semantic knowledge; a generative video model, because predicting how scenes evolve is closer to what a policy needs; or nothing at all, training from scratch on enough robot data ▶ 09:22 ▶ 10:22, the question Week 8’s guest addressed. Which data recipe? Web data, then simulation, then a little real data; or skip simulation; or video first, then human egocentric video, then robot actions; or real robot data only ▶ 11:25 ▶ 12:29. How to collect real data? Interfaces trade scale against how closely the data match the robot: egocentric human video offers tens of millions of hours but a human body; teleoperation matches the robot exactly but is slow and expensive; gloves and handheld grippers sit between ▶ 14:01 ▶ 15:04.

Dexterous generalists need more than vision

Dexterity and generalization have needed different ingredients: dexterity wants fast control and senses such as touch, generalization wants large, slow foundation models, plus mobility so that the robot sees many places ▶ 16:38 ▶ 17:41. The lecturer showed a robot from his PhD that predicted a mug’s shape from a single image, missed the handle, and crushed the mug, because it had no touch or force feedback; today’s VLAs are probably still crushing objects, mostly blind at the moment of contact ▶ 19:47. Simply adding touch and force to one big multimodal model runs into the long tail of robot sensing: such data are scarce, rarely recorded together with the other senses, and different on every robot ▶ 20:50 ▶ 21:20. One answer from the lecturer’s group, FuSe, uses language as the glue: tie touch and sound to descriptions, and a policy can “pick the object that feels squishy” or describe what it is touching inside a bag ▶ 22:23.

When should a robot think, and does it know when it doesn’t know?

Week 10 made robots reason. But a home robot should not deliberate before every familiar action: in distribution, act at full speed with no reasoning; near the edge of its experience, spend test-time compute; far outside it, stop and ask a person ▶ 24:29 ▶ 25:33. That whole scheme assumes the robot can tell which case it is in ▶ 26:35. This is the problem of introspection, and large models make it harder: they complete patterns well while being poorly calibrated about their own competence, and a new situation can look superficially familiar ▶ 27:05. In robotics a policy can fail along many axes at once: objects, environments, embodiment, tasks, sensor noise ▶ 27:37.

G obs observation + task unc uncertainty estimate: does the policy know this? obs->unc input act act directly fast control, no reasoning unc->act familiar think think test-time compute: more tokens, search unc->think unsure ask stop and ask a person correction, demonstration unc->ask novel
Figure 2: When to reason, after the lecture: an uncertainty estimate decides whether the policy acts directly, spends test-time compute, or hands over to a person. Everything depends on that estimate being right.

The third toy tests one popular answer, an ensemble: train 5 policies on the same demonstrations from different random starts and resamples of the data, and treat their disagreement as uncertainty. The task is Week 9’s: drive a point from the left of a table round a post in the middle to a goal on the right. Then test it four ways: on tasks like the training ones; mirrored, from right to left; turned, from bottom to top; and like the training ones but with the post moved 0.3 upwards, something the policy cannot see, because the post’s position is not one of its inputs.

Two bar charts side by side over four conditions: as trained, mirrored, turned, post moved. Left, success: as trained about 0.98, mirrored about 0.07, turned about 0.33, post moved about 0.49. Right, disagreement: as trained and post moved both low, about 0.04, and exactly equal; mirrored and turned high, about 0.38 and 0.36.
Figure 3: Third toy: an ensemble of 5 cloned policies on 300 test tasks per condition (mean over 4 training seeds). Left: success rate of the ensemble’s mean action. Right: disagreement between the members, averaged over each run.

The ensemble does well on what it can see (Figure 3). On mirrored and turned tasks its members disagree 10 and 10 times more than on familiar ones, and those are exactly the tasks where it fails (success 0.07 and 0.33). With the post moved, success falls to 0.49, and the disagreement is exactly what it was on the familiar tasks: the inputs are the same, so every network computes the same outputs and drives into the post with full confidence. If the robot asks for help whenever disagreement exceeds what 99% of familiar tasks show, it asks on 100% of mirrored tasks and on 1.0% of the moved-post ones. Disagreement measures how unfamiliar the input is, not whether the world still works as the data said, which is the lecture’s warning about situations that look familiar.

Line chart, x-axis share of tasks the robot acts on from 0 to 1, y-axis success on those tasks from 0 to 1. The blue line stays at 1 up to about a third of the tasks, then falls steadily to about 0.46 at full coverage. The orange line is noisy near zero coverage, then sits between 0.76 and 0.8 up to about 0.45 coverage, joins the blue line near 0.52 and ends near 0.47.
Figure 4: Third toy: act on the share of tasks (x) with the lowest ensemble disagreement and hand the rest to a person; y is the success rate on the tasks the robot keeps. Blue: a mix of familiar, mirrored and turned tasks. Orange: the same mix plus the moved-post tasks.

Ranked by disagreement, the robot can keep the familiar third of the first mix and succeed on 99% of it (Figure 4). Add the moved-post tasks and no threshold separates them from the familiar ones: at half coverage success is only 74%. A useful introspection signal has to see the failure, which here would mean sensing the post or noticing contact.

Imitation is bounded by its demonstrations

Most robot policies in this course were trained by imitation, and a cloned policy is bounded by its data ▶ 28:38. The lecture’s example: demonstrations go from state 1 to 2 and from 2 to 3. However large the model, cloning cannot learn to go from 1 to 3, let alone that a better route exists ▶ 29:10. Offline RL can: it learns values for states from all the data and stitches sub-optimal trajectories into better ones ▶ 29:41. Getting RL to work at scale on real robots is, in the lecturer’s view, among the highest-impact problems to work on ▶ 30:45.

The first toy builds that example in a small building: two rooms joined by an opening, and a corridor below reached through two doors. Operators walk between landmarks A to F, mostly straight but straying a quarter of the time. Behavior cloning is goal-conditioned with hindsight relabelling: every step that some trajectory took on its way to a later visit of the goal becomes training data for that goal. Offline RL, in a deterministic world with one unit of cost per step, reduces to the shortest path through the transitions the data contain.

The lecture's example in the first toy's building: one demonstration from A to B and one from B to C. Asked to go from A to C, the cloned policy has no data and wanders; offline RL joins the two demonstrations.

What to watch for. The map stays still; only the paths change. The data are an operator’s walk from A to B (10 steps, with a stray step at the start) and another’s from B to C (12 steps). Asked to go from A to C, the cloned policy finds no step in the data that was on the way to C from A, so it acts at random and circles near A until its 40 steps run out. Offline RL treats the data as a set of moves: from A it follows the first demonstration down through the door, switches to the second where they meet, drops the stray step, and arrives in 16 steps, which is also the shortest path in the building (16 steps). Neither demonstration does that; together they contain it.

Two line charts sharing an x-axis, number of operator trajectories on a log scale: 2, 4, 8, 16, 32. Left, tasks solved: behavior cloning (orange) rises from about 0.2 to 0.83; offline RL (blue) from about 0.23 to 1.0, above cloning from 4 trajectories on, by about 0.15 to 0.3. Right, extra steps over the shortest path: cloning falls from about 9 to 4.5; offline RL from about 11 at 2 trajectories to about 0.2 at 32.
Figure 5: First toy: share of the 30 landmark-to-landmark tasks solved within 40 steps, against the number of operator trajectories (mean ± standard error over 8 seeds). Right: extra steps over the shortest path, on the tasks solved.

With 8 trajectories, cloning solves 44% of the 30 tasks and offline RL 72%; with 32, 83% against 100% (Figure 5). Cloning can only repeat a route some operator took from here to the goal, stray steps included: even on the tasks it solves it takes 4.5 extra steps at 32 trajectories, where offline RL takes 0.2. Offline RL joins pieces of different trajectories and drops their detours, so it can beat every operator. With only 2 trajectories there is little to join, and the two are close (0.19 and 0.23). Where a policy has no data for its goal, both move at random, so a few of these successes are luck.

The data flywheel, and why mixing data naively fails

The holy grail is a data flywheel: better models make more capable robots, which get deployed more widely, which produce more data, which make better models ▶ 31:16. The obvious way to start it is to co-train on the expert’s demonstrations and the robot’s own rollouts ▶ 31:47. It is harder than it looks: expert data are smooth, dense and near-optimal; autonomous rollouts are longer, jerkier and often sub-optimal, and naively cloning both confuses the model ▶ 32:18 ▶ 32:49. New algorithms are needed that learn from all of a robot’s experience, good or bad, and never throw data away ▶ 33:21.

G data more data alg learning algorithm: uses good and bad data data->alg train pol better policy alg->pol gives dep more robots in use pol->dep deploy dep->data collect exp expert demos: few, smooth, optimal exp->alg also
Figure 6: The data flywheel, after the lecture. The step that decides whether it turns is the learning algorithm: it must extract signal from mixed-quality autonomous data without being dragged down by it.

The second toy runs the flywheel in the same building. A human operator gives 6 demonstrations of one task, always the long way round: down through the left door and along the corridor, 6–8 steps longer than the shortest route through the opening between the rooms. Then each round the robot is deployed 10 times from random places, exploring a little (a random move 20% of the time), its rollouts join the data, and it is retrained in one of three ways: clone everything; clone the expert plus only the rollouts that succeeded; or offline RL on everything.

Two line charts over rounds 0 to 8. Left, success: all three start near 0.83. Cloning everything (orange) falls steadily to about 0.64. Cloning expert plus successes (green) rises a little and stays near 0.87. Offline RL (blue) rises to about 0.94 after one round and 1.0 by round 6. Right, extra steps: cloning everything rises from about 6 to 10, cloning successes rises slowly from 6 to about 7, offline RL falls from about 6 to about 2.2.
Figure 7: Second toy: the policy after each round of deployment, evaluated from every cell of the building (mean over 8 seeds). Left: success within 30 steps. Right: mean steps over the shortest path, a failure counting as 30. Round 0 uses the expert’s demonstrations only.

All three start at the same policy (success 0.83; the expert’s demonstrations cover only the left room and the corridor). Cloning everything gets worse every round, ending at 0.64 with 10.0 extra steps: after 8 rounds the expert’s data are 7% of the total, and the policy is mostly copying its own exploration noise (Figure 7). Cloning only the successes avoids the decline but barely improves (0.86), since a successful rollout is still a wandering one. Offline RL uses every transition, including those of failed rollouts, and reaches 1.00 with 2.2 extra steps, shorter than the operator’s own habit: the robot’s exploration found the opening the operator never used.

Learning for a lifetime, adapting in a moment

The flywheel is one face of lifelong learning: a robot should keep improving from its experience, while today a model is trained, frozen and deployed ▶ 33:52. Fine-tuning on deployment data must also avoid forgetting what the model already knew ▶ 34:56. The immediate version is rapid adaptation: a new home robot struggles with the fridge handle; a word (“grasp a bit more to the left”) or a quick demonstration placed in the model’s context should be enough, without retraining, which is in-context learning for robots (Week 10’s ICRT) ▶ 35:27 ▶ 36:31.

Mobility raises its own questions. Mobile manipulators today navigate with a classical mapping-and-localization stack and switch hard to a learned policy only for manipulation ▶ 37:03. Open: one model for the whole body; how to represent a building (a 3-D map, a bird’s-eye view, a topological graph, or just a walk-through video in context) and cope with its changes ▶ 38:07; and memory at scale: what to store from streams of video, touch and language, at what time scale, and what to forget ▶ 39:40 ▶ 40:41. Example 1 shows why keeping everything is not an option. First steps from the lecturer’s group include VLMaps (vision-language features in a 3-D map) and LeLaN (navigation learned from YouTube videos, improving with more of them) ▶ 41:11. The lecture’s summary: embodied reasoning, dexterous mobile manipulation, lifelong learning and rapid adaptation are the pillars that must stand for robotics to work outside demo videos ▶ 42:45.

How to do research

The lecture’s second half is advice, and worth reading as such ▶ 43:45.

  • Uncomfortable facts. Most research is incremental (self-driving rests on 40 years of work); most ideas never become papers; most papers don’t stand the test of time; and in a world where scale matters, simple ideas have more impact because they scale ▶ 44:17 ▶ 45:51.
  • A good problem is important and comes with a plan of attack: “cure cancer” has no plan, and +1% on a saturated benchmark is not important. Ask what success would unlock ▶ 46:22.
  • Excitement carries you through failed experiments and rejections ▶ 47:56. Be your own reviewer two: before months of work, name the most likely reason the idea fails, to protect your time ▶ 48:59.
  • Problem-driven beats method-driven for a PhD: if a method fails you still have the problem ▶ 50:01.
  • Practice: start with something that must work, such as overfitting, then make it harder; visualize inputs and outputs; talk to people early; share results, code and data; polish figures; don’t over-hype ▶ 51:37 ▶ 52:40 ▶ 53:43.

He ended with his own PhD: frustrated by a pipeline of disjoint ROS modules and a robot that would not calibrate before a deadline, he set out to build one end-to-end, language-conditioned policy, spent a year building the robot setup, then a simulator to iterate faster, which, polished almost as an afterthought, became the CALVIN benchmark ▶ 54:45 ▶ 57:53.

Key concepts & formulae

Imitation and its bound

\[ \hat\pi_{\text{BC}}(a \mid s) = \frac{N(s, a)}{\sum_{a'} N(s, a')} \tag{1}\]

In words. With a table of states, the maximum-likelihood cloned policy takes each action as often as the data did in that state. A neural network smooths this between states, but where the data never act it has nothing to copy.

Term by term.

  • \(N(s, a)\): how many times the data take action \(a\) in state \(s\).
  • If \(\sum_{a'} N(s, a') = 0\), the state is unseen and the policy is undefined; the toys act at random there.
  • Why it holds. Maximizing \(\sum \log \pi(a \mid s)\) over the data, separately in each state, gives the empirical frequencies (the maximum-likelihood estimate of a categorical distribution).

\[ \mathcal{L}(\pi) = -\sum_{\tau \in \mathcal{D}} \sum_{t < t'} \log \pi(a_t \mid s_t, g = s_{t'}) \tag{2}\]

In words. Any state a trajectory reached later counts as a goal that its earlier actions were heading for.

Term by term.

  • \(\tau = (s_0, a_0, s_1, \dots)\): a trajectory in the data set \(\mathcal{D}\).
  • \(g = s_{t'}\): a later state used as the goal. The toy uses landmarks as goals, so only \(t'\) where the trajectory is at a landmark count.
  • The bound: a pair (start, goal) is covered only if one trajectory goes from the start to the goal. Two trajectories that meet in the middle do not combine.

\[ V(s) = \min_{(s, a, s') \in \mathcal{D}} \big[\, 1 + V(s') \,\big], \qquad V(g) = 0 \tag{3}\]

In words. The cost-to-go from \(s\) is one step plus the cost-to-go of the best next state the data show you can reach from \(s\).

Term by term.

  • \((s, a, s') \in \mathcal{D}\): a transition seen in the data, from any trajectory.
  • \(1\): the cost of a step; \(g\): the goal.
  • Why it stitches. The minimum runs over transitions from all trajectories: a value computed along trajectory 2 flows back into trajectory 1 wherever they share a state. In a deterministic world with unit costs, the solution is the length of the shortest path through observed transitions, which the toy finds by breadth-first search. With randomness and function approximation, offline RL methods solve an approximate version, which is where most of the difficulty lies (Weeks 4 and 5).

Learning from your own experience

\[ \text{expert share after } k \text{ rounds} = \frac{N_e}{N_e + k\, M} \tag{4}\]

In words. A fixed set of demonstrations is diluted by every round of autonomous data.

Term by term. \(N_e\): expert episodes; \(M\): autonomous episodes per round; \(k\): rounds. Numeric check. In the toy, \(N_e =\) 6 and \(M =\) 10, so after 8 rounds the expert’s share is 7%. A method that weights data equally ends up imitating mostly itself.

Knowing what you don’t know

\[ u(o) = \sum_{j} \operatorname{std}_{m = 1..E}\big[\pi_m(o)_j\big] \tag{5}\]

In words. Ask several independently trained policies what to do; the more their answers spread, the less the data pinned the answer down.

Term by term.

  • \(\pi_m\): the \(m\)-th member, trained on its own bootstrap resample of the data from its own initialization; \(E\) is the ensemble size, 5 in the toy.
  • \(\pi_m(o)_j\): action dimension \(j\) for observation \(o\).
  • What it can and cannot see. Members agree where the data constrain them and diverge elsewhere, so \(u\) grows for inputs unlike the training data. If the input looks like training data but the world has changed, all members are wrong together and \(u\) stays small (the moved post).

\[ \text{act if } u(o) \le \tau, \qquad \text{coverage} = P\big(u \le \tau\big), \qquad \text{selective success} = P\big(\text{success} \mid u \le \tau\big) \tag{6}\]

In words. Act on what you are sure of and hand over the rest; a good uncertainty signal keeps selective success high while coverage is large.

Term by term. \(\tau\): the threshold; coverage: the share of tasks the robot takes on; selective success: its success on those. Sweeping \(\tau\) traces the curve of Figure 4.

Vision pre-training (guest)

\[ \mathcal{L}_{\text{CLIP}} = -\frac{1}{2n} \sum_{i=1}^{n} \left[ \log \frac{e^{t\, x_i \cdot y_i}}{\sum_{j} e^{t\, x_i \cdot y_j}} + \log \frac{e^{t\, x_i \cdot y_i}}{\sum_{j} e^{t\, x_j \cdot y_i}} \right] \tag{7}\]

In words. In a batch of \(n\) image-caption pairs, each image must pick out its own caption among all \(n\) captions, and each caption its own image.

Term by term.

  • \(x_i\), \(y_i\): normalized embeddings of image \(i\) and caption \(i\); \(x_i \cdot y_j\) their cosine similarity.
  • \(t\): a learned temperature.
  • The two terms: a softmax over each row (image to captions) and over each column (caption to images) of the \(n \times n\) similarity matrix.

\[ \mathcal{L}_{\text{SigLIP}} = -\frac{1}{n} \sum_{i=1}^{n} \sum_{j=1}^{n} \log \sigma\big(z_{ij} (t\, x_i \cdot y_j + b)\big), \qquad z_{ij} = \begin{cases} 1 & i = j \\ -1 & i \ne j \end{cases} \tag{8}\]

In words. Every image-caption pair is a separate yes/no question: do these two belong together?

Term by term. \(\sigma\): the logistic sigmoid; \(b\): a learned bias, which starts very negative because almost all pairs are negatives; \(z_{ij}\): the label. No normalization over the batch, so batches can be split across devices freely.

\[ P(\text{another example with property } f) = 1 - (1 - f)^{n - 1} \tag{9}\]

In words. To learn a distinction, the batch must contain an example that differs only in that distinction; if such examples are rare, the loss can be solved without learning it.

Term by term. \(f\): the fraction of the data with the property (say, another picture of a cat and a dog); \(n\): batch size. See Example 2.

\[ \text{tokens} = \text{seconds} \times \text{frames per second} \times \text{tokens per frame} \tag{10}\]

In words. Keeping every frame in context grows linearly with time, so it cannot last a deployment. Term by term. All three factors are design choices; the last is set by the image encoder (a few hundred tokens per image is typical of the VLMs in this course).

Worked examples

Example 1: how long can a robot remember?

Suppose each camera frame costs 256 tokens (a ViT on a 16 × 16 grid of patches, as in Week 7).

Memory Frames Tokens (Equation 10)
1 hour at 10 frames per second 36,000 9,216,000
1 day at 1 frame per second 86,400 22,118,400

A context of one million tokens, at 10 frames per second, holds 391 seconds, about 6.5 minutes, of video. A day at one frame per second needs 22 such contexts. Hence the lecture’s layers: dense recent frames for the next grasp, compressed semantic events (“opened the fridge, the milk is on the second shelf”) for task progress, and some form of long-term memory for a lifetime, with the questions of when to write and what to forget.

Example 2: why CLIP misses “left of”

The guest’s argument, in numbers. A CLIP batch of 32,768 pairs. Say one picture in 10,000 shows a cat and a dog together (\(f = 10^{-4}\)) and one in ten million shows a dog sitting to the left of a cat in a way a caption would describe (\(f = 10^{-7}\); both rates are illustrative).

Distinction to learn Needed in the batch \(f\) \(P\) (Equation 9)
cat vs dog any other cat or dog — ≈ 1
‘cat and dog’ vs ‘cat’ another cat-and-dog picture 10⁻⁴ 0.962
‘left of’ vs ‘right of’ the same scene, mirrored 10⁻⁷ 0.0033

With a cat-and-dog picture in the batch, the loss is usually solved by recognizing “cat” and “dog” alone: a second such picture is there 96% of the time, but the mirrored scene only 0.33% of the time. So the gradient almost never asks for “left of”. A captioner has to produce the word after “sitting”, which forces the distinction on every example. This is why the guest’s later encoders added a captioning loss.

Example 3: CLIP and SigLIP on a batch of three

Three images and their captions; the cosine similarities \(x_i \cdot y_j\) (rows: images, columns: captions):

caption 1 caption 2 caption 3
image 1 0.30 0.10 0.05
image 2 0.12 0.25 0.10
image 3 0.08 0.20 0.22

With temperature \(t = 10\) and SigLIP bias \(b = -10\): CLIP’s loss (Equation 7) is 0.428 and SigLIP’s (Equation 8) is 7.434. Image 3 is the weak spot: its similarity to caption 2 (0.20) is close to its own (0.22). In CLIP’s softmax that hurts image 3’s row and caption 2’s column, because every pair competes with every other; in SigLIP each pair is judged on its own, through \(\sigma(t\, x_i \cdot y_j + b)\), so the effect stays in one cell. The code is in Algorithm & code.

Interactive

Stitching, task by task

The first toy’s building with seed 0’s operator data. Pick how many trajectories the robot has, and a task; the figure draws the data and one rollout of each policy.

Figure 8: One task in the first toy’s building (dark cells: walls). Thin grey lines: the operator trajectories in the data. Orange: one rollout of goal-conditioned behavior cloning; blue: offline RL. The line below gives each policy’s steps and the shortest path.

What to try. With 4 trajectories most tasks fail for both policies (16 of 30); where a policy has nothing to go on it moves at random, and now and then stumbles on the goal. Step to 8 and pick A to C: cloning gets there in 31 steps by following one operator’s wandering route, offline RL in 18 (the shortest path is 16). At 16, offline RL solves all 30 tasks and cloning 19. Compare the blue path with the grey trajectories it is built from: it changes from one to another where they cross.

Where the ensemble disagrees

The ensemble of seed 0, asked at the very first step of a run what to do from each point of the table, for a goal you choose. Colour is the members’ disagreement (Equation 5); cells above the threshold you set are where the robot would ask for help.

Figure 9: Disagreement of the ensemble’s 5 members at the first step from each starting point, for the chosen goal (orange cross). White cells: above the threshold, where the robot would ask for help. Black dots: the training runs’ starts; grey disc: the post; dashed circle: where the moved post would be, invisible to every network.

What to try. Start with the trained goal and the threshold at 0.16: the robot would act from 73% of the cells around the training starts but from only 52% of the whole table; far from its data it asks. Switch the goal to the left or the top: every cell turns white, the ensemble correctly refusing tasks it never saw. Move the threshold to see the trade-off between acting more and asking less. (The scale here is the disagreement at the first step of a run, which is larger than the run-averaged values in Figure 3.) Then look at the dashed circle: nothing on the map would change if the post moved there, because nothing the networks see changes.

Algorithm & code

An ensemble that knows when to hand over

def train_ensemble(X, Y, seed):
    """M_ENS MLPs, each on its own bootstrap resample of the data and its
    own initialization, so they agree where the data pin them down."""
    nets = []
    for m in range(M_ENS):
        rng = np.random.default_rng(1000 * seed + m)
        boot = rng.integers(0, len(X), len(X))
        p = nn.init_mlp([4, 64, 64, 2], rng)
        opt = nn.Adam(p, 0.003)
        for _ in range(STEPS_3):
            b = boot[rng.integers(0, len(boot), 256)]
            Yh, cache = nn.forward(p, X[b])
            p = opt.step(p, nn.backward(p, cache, 2 * (Yh - Y[b]) / len(b)))
        nets.append(p)
    return nets

def ensemble_act(nets, x, g):
    """Mean action (n, 2) and disagreement (n,): the members' standard
    deviation, summed over the two action dimensions."""
    outs = np.stack([nn.predict(p, np.c_[x, g]) for p in nets])   # (M, n, 2)
    return outs.mean(0), outs.std(0).sum(-1)

def risk_coverage(ok, unc):
    """Act on the share `coverage` of episodes with the lowest
    disagreement and hand the rest to a person. Returns coverage levels
    and the success rate among the episodes acted on."""
    order = np.argsort(unc, kind="stable")
    cov = np.arange(1, len(ok) + 1) / len(ok)
    return cov, np.cumsum(ok[order]) / np.arange(1, len(ok) + 1)
import numpy as np
import torch
import torch.nn as nn

from rlc.toys import w11_frontiers as w

torch.manual_seed(0)
X, Y = (torch.tensor(a, dtype=torch.float32)
        for a in w.post_demos(np.random.default_rng(0), 30))   # (n, 4), (n, 2)


def member():
    return nn.Sequential(nn.Linear(4, 64), nn.Tanh(), nn.Linear(64, 64),
                         nn.Tanh(), nn.Linear(64, 2))


ensemble = [member() for _ in range(5)]
for net in ensemble:                    # each on its own bootstrap resample
    boot = torch.randint(len(X), (len(X),))
    opt = torch.optim.Adam(net.parameters(), lr=3e-3)
    for step in range(800):
        idx = boot[torch.randint(len(boot), (256,))]
        loss = ((net(X[idx]) - Y[idx]) ** 2).sum(1).mean()
        opt.zero_grad(); loss.backward(); opt.step()


@torch.no_grad()
def act_or_ask(obs, tau):
    outs = torch.stack([net(obs) for net in ensemble])   # (M, B, 2)
    u = outs.std(dim=0).sum(dim=1)                        # (B,) disagreement
    return outs.mean(dim=0), u, u > tau                    # True: ask a person


familiar = X[::50]                                        # states from the data
x = familiar[:, :2]
mirrored = torch.cat([-x, -familiar[:, 2:]], dim=1)       # right-to-left tasks
_, u_fam, _ = act_or_ask(familiar, tau=1.0)
_, u_new, _ = act_or_ask(mirrored, tau=1.0)
assert u_new.mean() > 3 * u_fam.mean(), (u_fam.mean(), u_new.mean())

torch.stack puts the members’ outputs on a new first axis, so std(dim=0) is the spread across members for each sample. @torch.no_grad() turns off gradient tracking for the whole function: at deployment nothing is trained. The decision rule is Equation 6; choosing tau is the hard part, and the toy shows that no tau can catch a change the inputs do not reveal.

CLIP and SigLIP losses

def contrastive_losses(S, t=10.0, b=-10.0):
    """CLIP's softmax loss and SigLIP's sigmoid loss for a similarity
    matrix S (n, n) whose diagonal holds the matching pairs."""
    logits = t * S
    n = len(S)
    lsm_r = logits - np.log(np.exp(logits).sum(1, keepdims=True))   # image -> text
    lsm_c = logits - np.log(np.exp(logits).sum(0, keepdims=True))   # text -> image
    clip = -(np.trace(lsm_r) + np.trace(lsm_c)) / (2 * n)
    z = 2 * np.eye(n) - 1                                # +1 match, -1 not
    sig = np.log1p(np.exp(-z * (logits + b))).sum() / n
    return float(clip), float(sig)
import torch
import torch.nn.functional as F

torch.manual_seed(0)
n, d = 8, 16
img = F.normalize(torch.randn(n, d), dim=1)               # (n, d) unit vectors
txt = F.normalize(img + 0.3 * torch.randn(n, d), dim=1)   # matching captions
t, b = torch.tensor(10.0), torch.tensor(-10.0)            # learned in practice

logits = t * img @ txt.T                                  # (n, n); diagonal = matches
labels = torch.arange(n)
# CLIP: softmax over each row (image -> captions) and each column.
clip = (F.cross_entropy(logits, labels) + F.cross_entropy(logits.T, labels)) / 2
# SigLIP: an independent binary decision per pair, +1 on the diagonal.
z = 2 * torch.eye(n) - 1
siglip = -F.logsigmoid(z * (logits + b)).sum() / n

shuffled = txt[torch.randperm(n)]                         # break the pairing
clip_bad = F.cross_entropy(t * img @ shuffled.T, labels)
assert clip < clip_bad and siglip > 0

F.cross_entropy(logits, labels) applies the softmax along dim=1 (each row); passing logits.T does the columns. F.logsigmoid is \(\log \sigma(\cdot)\) computed stably. In a real run the batch is split across many devices; CLIP must gather all embeddings to normalize each row, while SigLIP can process blocks of the matrix independently, which is why it scales to larger batches.

Papers

Papers discussed in class

A Path Towards Autonomous Machine Intelligence
LeCun · position paper, OpenReview 2022

A position paper on how machines could learn as efficiently as animals: mostly by observing, with a predictive world model, and acting either reactively or by planning through that model. It proposes a modular architecture whose world model predicts in an abstract representation space (JEPA) rather than in pixels.

  • Six modules: configurator, perception, world model, cost (an intrinsic cost plus a trainable critic), short-term memory and actor; all differentiable (Sec. 3, Fig. 2).
  • Two modes of acting, after Kahneman: Mode-1 reacts directly; Mode-2 plans by optimizing actions through the world model against the cost, like model-predictive control (Sec. 3.1).
  • The Joint Embedding Predictive Architecture: predict the representation of y from that of x, so details that cannot be predicted need not be modelled; trained non-contrastively (Sec. 4.4–4.5, Eqs. 10–12).
  • Hierarchical JEPA for planning at several time scales, and the argument that neither scaling nor reward alone is enough (Sec. 4.6–4.7, 8.3).

On this page: Week 8’s world models and JEPA, and on this page the ‘when should a robot reason?’ question: Mode-1 is the fast reactive policy, Mode-2 the slow deliberate one.

The Bitter Lesson
Sutton · essay 2019

A one-page essay drawing the lesson of 70 years of AI research: general methods that exploit growing computation, search and learning, eventually beat methods that build in human knowledge of the domain, even though the knowledge-based methods win in the short term.

  • The pattern in four fields: chess, Go, speech recognition and computer vision, where hand-built knowledge gave way to search and learning at scale.
  • Why the lesson keeps being relearned: building in knowledge helps at first and satisfies the researcher, then plateaus and gets in the way.
  • The prescription: build in the meta-methods that discover structure, not the structure itself.

On this page: The lecture’s flywheel (more data, better models) and the ‘train from scratch on enough robot data’ camp in the backbone debate; the guest’s history of vision, where scaling model, data and training time together won, is the lesson played out.

Intelligence without Representation
Brooks · Artificial Intelligence 1991

Argues that AI went wrong by decomposing intelligence into perception, a central world model and action connected by symbolic representations. Brooks instead builds robots (‘Creatures’) from layers of simple behaviours that each sense and act on the world directly, adding layers one at a time and testing each in the real world.

  • A conclusion and a hypothesis: for simple intelligence, explicit world models get in the way, ‘better to use the world as its own model’; and representation is the wrong unit of abstraction for building most of an intelligent system (Sec. 1).
  • The evolutionary argument: evolution spent billions of years on moving and sensing and only a few million on language and reasoning, so the former is the hard part (Sec. 2).
  • Decomposition by activity, not function: parallel layers that each produce behaviour, built and debugged incrementally on robots running in ordinary offices (Sec. 4–6).

On this page: The lecture’s case that foundation models lack physical grounding, and that embodied data and real-world testing are what close the gap; also the end-to-end learning the lecturer chose over a pipeline of separate modules.

Key papers from the lecture

Beyond Sight: Finetuning Generalist Robot Policies with Heterogeneous Sensors via Language Grounding
Jones, Mees, Sferrazza, Stachowicz, Abbeel & Levine · ICRA 2025

FuSe fine-tunes a generalist robot policy, trained on vision and proprioception only, to use touch and sound as well, though no large data sets of those senses exist. Language is the common ground: the new senses are tied to descriptions of what the robot sees, feels and hears.

  • A multimodal contrastive loss plus a language-generation loss grounded in the senses, used during fine-tuning (Abstract).
  • New zero-shot abilities such as prompting with several senses at once and describing an object the robot is touching (Abstract).
  • Works for both a diffusion-head policy and a large VLA; over 20% higher success than the baselines in real-world tests (Abstract).

On this page: The lecture’s ‘long tail of robot sensing’: scarce, unpaired, heterogeneous touch and audio data, bridged with language.

Visual Language Maps for Robot Navigation
Huang, Mees, Zeng & Burgard · ICRA 2023

VLMaps fuses features from a pretrained vision-language model into a 3-D reconstruction of the environment, built from the robot’s own video while it explores. The map can then be queried in language, so an LLM can turn instructions like ‘three meters to the right of the chair’ into navigation goals.

  • A spatial map whose cells carry open-vocabulary visual-language features, with no extra labelled data (Abstract).
  • Spatial goals by construction: language commands become sequences of goals located in the map (Abstract).
  • One map shared by robots with different bodies, each deriving its own obstacle map (Abstract).

On this page: The lecture’s question of how a mobile robot should represent a building: an explicit map enriched with semantics, one end of the spectrum that runs to a walk-through video in the model’s context.

LeLaN: Learning a Language-Conditioned Navigation Policy from In-the-Wild Video
Hirose, Glossop, Sridhar, Mees & Levine · CoRL 2024

Learns to navigate to objects described in language from videos that carry no actions: robot recordings, YouTube tours and people walking. Vision-language and robot foundation models label the videos with instructions and actions, and a small policy is trained on the result.

  • Labelling unlabelled, action-free egocentric video with object instructions and actions using foundation models (Abstract).
  • A policy that beats state-of-the-art navigation methods in over 1,000 real trials while running 4× faster on edge hardware (Abstract, arXiv v1).

On this page: Mapless navigation learned from internet video, the other end of the map question, and the lecture’s point that performance kept rising with more YouTube data.

CALVIN: A Benchmark for Language-Conditioned Policy Learning for Long-Horizon Robot Manipulation Tasks
Mees, Hermann, Rosete-Beas & Burgard · RA-L 2022

An open simulated benchmark for robots that follow chains of language instructions over long horizons, from onboard sensors, generalizing zero-shot to new instructions and new scenes.

  • Long-horizon, language-conditioned manipulation tasks with flexible sensor suites (Abstract).
  • Zero-shot evaluation on novel instructions and environments (Abstract).
  • A multicontext imitation baseline that performs poorly, leaving room for research (Abstract).

On this page: The lecturer’s own story on this page: a benchmark that began as a by-product of the simulator he built to iterate faster.

Big Transfer (BiT): General Visual Representation Learning
Kolesnikov, Beyer, Zhai, Puigcerver, Yung, Gelly & Houlsby · ECCV 2020

Revisits supervised pre-training on large labelled data sets followed by fine-tuning, scales it up, and distils it into a simple recipe that transfers well from one example per class to a million examples.

  • A few carefully chosen components and a simple heuristic for setting transfer hyperparameters (Abstract).
  • 87.5% on ImageNet, 99.4% on CIFAR-10 and 76.3% on the 19-task VTAB (Abstract).
  • Strong few-shot transfer: 76.8% on ImageNet with 10 examples per class (Abstract).

On this page: The guest’s lesson that large-scale pre-training only pays off when model size, data and training time all grow together.

Learning Transferable Visual Models From Natural Language Supervision
Radford et al. · ICML 2021

CLIP trains an image encoder and a text encoder together to predict which caption goes with which image, on 400 million image-text pairs from the internet. Language then names any visual concept, so the model classifies images zero-shot.

  • A contrastive objective over a batch: match each image to its own caption among all captions in the batch, and vice versa (Abstract, Sec. 2).
  • Zero-shot transfer to over 30 vision data sets; zero-shot ImageNet accuracy matching the original ResNet-50 without its 1.28 million training examples (Abstract).

On this page: The guest’s turning point: free-form web text instead of a fixed list of classes. This page’s worked examples compute its loss and the batch shortcut that keeps it from learning relations.

Sigmoid Loss for Language Image Pre-Training
Zhai, Mustafa, Kolesnikov & Beyer · ICCV 2023

Replaces CLIP’s softmax over the whole batch with an independent yes/no decision for every image-text pair. The loss needs no global normalization, so it scales to larger batches and also works better at small ones.

  • A pairwise sigmoid loss on image-text pairs (Abstract).
  • 84.5% zero-shot ImageNet accuracy with locked-image tuning, trained in two days on four TPUv4 chips (Abstract).
  • A study of batch size up to one million and of the ratio of negatives to positives (Abstract).

On this page: The vision encoder of PaliGemma, and so of many VLAs on this course’s earlier pages.

Image Captioners Are Scalable Vision Learners Too
Tschannen, Kumar, Steiner, Zhai, Houlsby & Beyer · NeurIPS 2023

A careful, matched comparison of contrastive pre-training and plain image captioning on the same web data, compute and model size. Captioning, long thought inferior, turns out competitive for classification and better for vision-and-language tasks.

  • Captioning produces vision encoders competitive with contrastive ones on classification and better on vision-language tasks (Abstract).
  • Captioning scales as well as or better than contrastive training with architecture, model size and data (Abstract).

On this page: The guest’s fix for CLIP’s blind spot: to predict the word after ‘sitting’, a captioner must learn ‘left of’ versus ‘right of’.

PaliGemma: A Versatile 3B VLM for Transfer
Beyer, Steiner, Pinto, Kolesnikov, Wang et al. · arXiv 2024

An open 3-billion-parameter vision-language model, a SigLIP image encoder joined to the Gemma-2B language model, trained to be a base that transfers well rather than a chat model.

  • SigLIP-So400m image encoder plus Gemma-2B, trained in stages: unimodal pre-training, multimodal pre-training, higher resolution, then transfer (Sec. 3.2).
  • Evaluated on almost 40 diverse tasks, including remote sensing and segmentation (Abstract).

On this page: The backbone of many VLAs (Week 9), and the guest’s example of mid-training: stitching two pre-trained models together and teaching them new skills such as reading text and locating objects.

Guest spotlight

Lucas Beyer (now at Meta; earlier at Google Brain and DeepMind in Zürich, co-author of the Vision Transformer, SigLIP and PaliGemma, the VLM behind many VLAs) gave, as he put it, the least robotic lecture of the course: how vision went from not working to working, before anyone turns it into a VLA ▶ 01:33. His long-term goal is a robot any non-technical person can teach to do almost anything; eight years ago that needed robust, general perception and learning from few examples, and perception was the part that did not work ▶ 03:37 ▶ 04:08. People learn a new visual category from a handful of examples; his team made that the target, as a benchmark of many diverse tasks with few examples each (VTAB) ▶ 05:11 ▶ 06:46. Today’s answer is a recipe: pre-train, mid-train, fine-tune, then RL-tune ▶ 08:18.

Pre-training. Self-supervised methods were all over the place, with no correlation between how well a model did its pre-training task and how well it transferred; only making the model larger helped consistently ▶ 09:50 ▶ 10:52. Adding a few labelled examples to pre-training changed that, and then large-scale supervised pre-training (BiT) beat everything published, also on deliberately weird test images ▶ 11:57 ▶ 15:06. Why it took the field so long: ten times more data alone made results worse; it takes larger models, more data and longer training together, patience through curves that look flat for eight GPU-weeks, and details such as weight decay that only pay off late ▶ 17:40 ▶ 18:13 ▶ 18:43. Labelled data sets are bounded by someone’s list of classes (COCO’s 80 classes famously came from a child naming things); web images with their alt text are not, which CLIP exploited and SigLIP simplified ▶ 20:47 ▶ 23:24. He argued against filtering that data down to English and ImageNet-like images, which made models worse on the rest of the world ▶ 25:28 ▶ 27:36. Contrastive training’s blind spot is relations (Example 2), fixed simply by also captioning ▶ 29:46 ▶ 31:50. And his main lesson: look at the data. A benchmark said to test relations could be solved without the image (“the horse is eating the grass” or “the grass is eating the horse”), as a blind captioner proved ▶ 32:51.

Mid-training and fine-tuning. A VLM such as PaliGemma joins a pretrained image encoder to a language model and teaches the pair core skills with a broad mix of tasks: captioning, reading text, finding and segmenting objects, often at increasing image resolution; detection boxes and segmentation masks become tokens the language model can write ▶ 34:26 ▶ 37:04 ▶ 39:38. Papers claiming VLMs are “blind” test tasks no one put in the fine-tuning mix: with 128 generated examples of a line-crossing task, PaliGemma reached 95–96% ▶ 42:19 ▶ 43:20. His provocative conclusion is that perception is solved, as a recipe: collect a few hundred examples of your task in an afternoon and fine-tune a pretrained model; reasoning and planning are what come next ▶ 44:24. In the Q&A: don’t pre-train small, fine-tune instead ▶ 47:29; augmentation is worth at most about one order of magnitude of data ▶ 50:04; remove near-duplicates of test images from pre-training, or you are not measuring what you think ▶ 50:36; don’t freeze the image encoder inside a VLM ▶ 52:38; and distil large models into fast ones for robots ▶ 1:02:03.

How it connects to this week. His history is the Bitter Lesson played out in vision, and his “look at the data” is this page’s introspection toy in miniature: a number (disagreement, a benchmark score) can look fine while measuring something else. The open problems the lecture lists begin where his recipe stops: reasoning, planning and action.

Solved problems

1. Stitching by hand. The data hold three trajectories: 1 → 2 → 3, 4 → 2 → 5 and 5 → 6. Which of the tasks 1 → 3, 1 → 5, 1 → 6 and 4 → 3 can goal-conditioned cloning with relabelling solve, and which can offline RL solve?

Cloning needs one trajectory that visits the start and later the goal (Equation 2): only 1 → 3 (trajectory one). Offline RL works on the graph of observed transitions 1→2, 2→3, 4→2, 2→5, 5→6 (Equation 3): 1 → 3 directly, 1 → 5 via state 2 (stitching trajectories one and two), 1 → 6 via 2 and 5 (all three), and 4 → 3 via 2. So offline RL solves all four, cloning one.

2. Diluting the expert. You have 50 expert episodes and deploy the robot 200 times per week, adding every rollout to a plain cloning data set. After how many weeks is the expert less than 10% of the data? What two changes would stop the policy from imitating itself?

\(50/(50 + 200k) < 0.1 \iff 200k > 450 \iff k > 2.25\), so after 3 weeks (Equation 4). Fixes: weight data by quality, for instance by advantage (Week 9’s π*0.6) or by success, or use offline RL, which uses bad rollouts to learn what not to do instead of copying them; and keep a fixed share of expert data in every batch regardless of its size.

3. A threshold that cannot work. An ensemble’s disagreement is identical on two sets of tasks, but the robot succeeds on 98% of one and 50% of the other, mixed in equal numbers. What is the best success you can get on the tasks you act on, and what would you need to do better?

Any threshold accepts the same share of each set, so selective success is \((0.98 + 0.5)/2 = 0.74\) at every coverage (Equation 6, the orange line of Figure 4 near its start). To do better you need a signal that differs between the sets: a sensor that sees the changed world (here, the post), feedback during execution such as contact or lack of progress, or data from the changed world so the ensemble disagrees there.

4. Batch shortcuts. A contrastive model trains with batches of 4,096. One image in a thousand shows two people shaking hands; one in a million shows a particular pair of people shaking hands in a mirrored arrangement. How often does a batch contain a second handshake picture, and how often the mirrored scene?

Equation 9: \(1 - 0.999^{4095} \approx 1 - e^{-4.10} \approx 0.98\); \(1 - (1 - 10^{-6})^{4095} \approx 4.1 \times 10^{-3}\). The model will learn “handshake” but almost never needs the arrangement. A captioning loss, or a deliberately constructed hard negative, is needed for that.

5. Be your own reviewer two. Your idea: fine-tune a VLA on 50 demonstrations per task on your lab’s robot and claim it generalizes to unseen kitchens. Apply the lecture’s checklist: what is the most likely reason this fails as a research contribution, and how would you change it?

The most likely failure is the lecture’s “rockstar demo”: data collected, trained and tested in one setting, so any success is interpolation and the claim of generalization is untested. Change the evaluation, not the method: hold out kitchens (or at least lighting, viewpoints and objects) entirely, report success with error bars over enough trials (Week 9’s binomial standard error), compare against the same model without fine-tuning, and look at the failures. If the result survives, the next question is a problem-driven one: what limits generalization, and what single change fixes it?

Recap

  1. Generalization is the open problem. Foundation models generalize without physical grounding; robot specialists are grounded but narrow. Why it matters: most impressive demos are interpolation, and the field’s choices of backbone, data recipe and data collection are still open.
  2. Dexterity needs senses that data barely cover. Touch and force are scarce, unpaired and heterogeneous; language can bind them. Why it matters: a robot blind at contact keeps crushing mugs.
  3. A robot must know what it doesn’t know. Adaptive reasoning and asking for help depend on it. Ensemble disagreement flags unfamiliar inputs, but in the toy it was blind to a moved obstacle, success 0.49 at familiar-level disagreement. Why it matters: the failure that hurts is the one that looks familiar.
  4. Imitation is bounded by its demonstrations; RL can stitch and improve. In the toy, offline RL solved 72% of the tasks from 8 trajectories against 44% for cloning. Why it matters: it is the way past human skill and past the routes people happened to demonstrate.
  5. The flywheel needs algorithms that learn from bad data. Naively cloning a robot’s own rollouts made the toy policy worse round after round; offline RL on the same data made it near-perfect. Why it matters: deployment data are the only data that scale with the number of robots.
  6. From the guest: scale model, data and training together, and look at the data. Why it matters: it is how perception was “solved”, and robot learning is now attempting the same for action.

Cheat sheet & connections

Name Formula Where
Tabular cloning \(N(s, a) / \sum_{a'} N(s, a')\) Equation 1
Hindsight relabelling \(-\sum \log \pi(a_t \mid s_t, g = s_{t'})\) Equation 2
Bellman on the data ★ \(V(s) = \min_{(s,a,s') \in \mathcal{D}} [1 + V(s')]\) Equation 3
Expert share \(N_e / (N_e + k M)\) Equation 4
Ensemble disagreement \(\sum_j \operatorname{std}_m \pi_m(o)_j\) Equation 5
Acting selectively act if \(u \le \tau\); coverage, selective success Equation 6
CLIP loss ★ softmax over rows and columns of \(t\, X Y^\top\) Equation 7
SigLIP loss \(-\sum \log \sigma(z_{ij}(t\, x_i \cdot y_j + b)) / n\) Equation 8
Hard negative \(1 - (1 - f)^{n - 1}\) Equation 9
Video memory seconds × fps × tokens per frame Equation 10

Common pitfalls.

  • Mistaking a demo trained and tested in one room for generalization.
  • Treating low model uncertainty as safety: it only measures familiarity of the input.
  • Cloning a robot’s own rollouts together with expert data, with equal weight.
  • Throwing away failed rollouts: offline RL learns from them.
  • Assuming more data alone helps: the guest’s 10× data without a bigger model and longer training made things worse.
  • Trusting a benchmark you have not looked at.
  • Filtering web data towards one culture’s images and losing the rest of the world.
  • Freezing the image encoder inside a VLM that must learn relations or locations.

Connections. Week 3’s compounding errors and Week 9’s generalist policies are the “imitation” this lecture wants to go beyond. Weeks 4 and 5 supply the Bellman equation and the RL that stitches; Week 9’s π*0.6 is a flywheel in practice. Week 7 covered the ViT and CLIP-style encoders the guest built. Week 8’s guest argued the backbone question from the video side, and its JEPA is LeCun’s proposal in this week’s papers. Week 10’s reasoning and test-time compute are the middle tier of Figure 2. Week 12 closes the course with guest lectures. In the ADM Companion: behavioral cloning, the method whose bound this week is about.

Resources