VnRoboVnRobo
AboutPricingBlogContact
🇻🇳VISign InStart Free Trial
🇻🇳VI
VnRobo logoVnRobo logo

AI infrastructure for next-generation industrial robots.

Product

  • Features
  • Pricing
  • Knowledge Base
  • Services

Company

  • About Us
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2026 VnRobo. All rights reserved.

Made with♥in Vietnam
VnRoboVnRobo
AboutPricingBlogContact
🇻🇳VISign InStart Free Trial
🇻🇳VI
  1. Home
  2. Blog
  3. IntentVLA: Fixing Observation Aliasing in Robot Manipulation
wholebody-vlavlamanipulationimitation-learningfine-tuningwholebody-vlaobservation-aliasingrobot-manipulationdiffusion-policy

IntentVLA: Fixing Observation Aliasing in Robot Manipulation

IntentVLA encodes recent visual history into a compact short-horizon intent token to resolve observation aliasing — the root cause of unstable, contradictory action chunks in VLA fine-tuning.

Nguyễn Anh TuấnSeptember 13, 202613 min read
IntentVLA: Fixing Observation Aliasing in Robot Manipulation

Picture a robot grasping a piece of bread. What happens next?

You can't tell from a single frame. The robot might be mid-task, about to place the bread on a skillet for cooking — or it might have just finished cooking and is returning the bread to the plate. Both states look identical in the image. But the correct action chunk is completely different.

This is the core problem that IntentVLA solves: observation aliasing, where visually similar frames require different actions depending on short-horizon context. The paper, published by researchers from Huazhong University of Science and Technology, Zhongguancun Academy, and collaborating institutions (arXiv:2605.14712), introduces a history-conditioned VLA framework that fixes this without sacrificing inference speed or memory.

Tool recommendations

VLA train/deploy stack

Train on cloud/workstation, then deploy optimized models to Jetson or the robot computer.

Cloud GPU for VLA / policy training Use for imitation learning, diffusion policies, RL, and robotics model fine-tuning. View cloud GPU → NVIDIA Jetson Orin NX / Orin Nano Edge deployment hardware for perception, logging, and optimized inference. View Jetson → Hugging Face / robotics dataset hosting Host datasets, checkpoints, and model cards for cleaner LeRobot/VLA workflows. View platform →

The Problem: Why Do VLA Policies Fail at Multimodal Demonstrations?

Frame-Conditioned Policies Are Structurally Blind to History

Modern VLA policies learn from imitation data: sequences of (observation, action) pairs collected from human demonstrators. At inference time, the policy receives the current observation o_t and language instruction ℓ and generates the next action chunk τ_t.

The standard frame-conditioned formulation models:

code
p(τ_t | o_t, ℓ)

This is elegant and simple. It's also incomplete. Human demonstrations are inherently multimodal: two demonstrators performing the same task may be in completely different phases when their robot configurations look identical. One is at the start of a sub-task; the other is at the end of the same sub-task on a return pass. The training data contains both, with opposite action labels for the same-looking observation.

The policy trained on this data does the only thing it can: learn an average over the conflicting demonstrations. At inference, it may commit to the wrong intent — and worse, it may switch intents on the next replanning step, creating jerky, inconsistent motion.

Quantifying the Problem

The authors ran a principled analysis: for each frame in their AliasBench benchmark, they extracted visual embeddings using Qwen3-VL-8B and retrieved the top-5 nearest neighbors from the training data. The result: 49.7% of nearest neighbors belonged to a different intent — meaning nearly half of "visually similar" frames actually require opposite actions.

The cosine distance between frames from different intents was indistinguishable from same-intent pairs (gap < 3×10⁻³). No amount of visual encoder tuning can fix this — the information is simply not in the current frame.

Figure 1: The same observation (robot holding bread) appears in two different phases requiring different next actions. Only recent history disambiguates. Source: IntentVLA, arXiv 2605.14712

AliasBench: A Systematic Benchmark for Observation Aliasing

One of the paper's key contributions is AliasBench — 12 tasks on RoboTwin2 specifically designed to isolate and measure observation aliasing. Each task family represents a distinct structural cause of aliasing:

Family 1: Back-and-Forth Ambiguity (4 tasks)

Robot performs repeated sub-routines. Identical physical configurations appear at different phases of the cycle; required actions flip between occurrences.

  • Move Block Out and Back (900 steps max)
  • Cook Bread and Plate It (1100 steps)
  • Use Stapler and Return It (900 steps)
  • Store Shoe and Take It Back (900 steps)

Family 2: Crossing-Path Ambiguity (3 tasks)

Robot transports objects between multiple sources and destinations. Midway, paths cross — the robot's intermediate configuration looks identical regardless of origin, but the correct destination depends on where it started.

  • Move Block to the Opposite Grid (500 steps)
  • Move Block to the Other Grid (500 steps)
  • Move Phone Between Stand and Pad (700 steps)

Family 3: Bimanual Ambiguity (2 tasks)

Two arms collaborate to pass an object. The handoff configuration looks symmetric regardless of transfer direction — but which arm receives next depends on which arm originated the pass.

  • Hand Over Roller (900 steps)
  • Hand Over Pill Bottle (900 steps)

Family 4: Multi-Goal Ambiguity (3 tasks)

Multiple targets coexist. A transient cue (a blinking light, a briefly-visible label) identifies the correct target — but the cue disappears before the robot starts moving.

  • Pick Flashed Blocks in Order (1500 steps)
  • Pick Flashed Cans in Order (1200 steps)
  • Inspect Label and Place Block (700 steps)

Representative tasks from all four AliasBench families showing different aliasing causes
Representative tasks from all four AliasBench families showing different aliasing causes
Figure 2: Four task families in AliasBench, each isolating a distinct form of short-horizon observation aliasing. Source: IntentVLA, arXiv 2605.14712

IntentVLA Architecture: Compact History, Maximum Signal

IntentVLA's key insight is to condition action generation on recent visual history without the naive approach of concatenating raw frames into the context (which bloats memory and slows inference).

The architecture adds a parallel history encoder branch alongside the existing VLA backbone.

Current Context: Qwen3-VL 4B

The current RGB frame and language instruction pass through Qwen3-VL 4B, producing visual-language context tokens F_t ∈ ℝ^(N×d). This branch handles "what the robot sees right now."

History Encoder: Frozen VGGT-1B

The 16 most recent frames are processed by VGGT-1B — a model pre-trained for 3D geometric understanding. Rather than using all patch tokens (expensive), the method retains only:

  • Camera token: encodes viewpoint information, camera-relative geometry
  • 4 Register tokens per frame: capture global geometric structure and inter-frame relationships

This is a deliberately minimal selection — just the tokens that encode change between frames, which is exactly the signal needed to distinguish intents. VGGT is kept frozen throughout training, leveraging its pre-trained geometric understanding without re-training costs.

The selected tokens are projected into the action model's hidden space, yielding Ũ_t ∈ ℝ^(M×d) (detailed history tokens) and a pooled summary vector ē_t ∈ ℝ^(d_h).

Gated Cross-Attention Fusion

The current visual-language context queries the history via gated cross-attention:

code
F'_t = F_t + σ(α) · MHA(Q=LN(F_t), K=Ũ_t, V=Ũ_t)

Where:

  • α is a learnable scalar gate balancing how much current context vs. history contributes
  • MHA is multi-head attention with current-frame queries, history keys/values
  • LN is layer normalization

The gate starts near zero and learns the right balance during training — if a task doesn't benefit from history, the gate can suppress the history contribution entirely.

Intent Representation and Flow-Matching Action Head

The pooled history summary ē_t is reshaped into a single history evidence token e_t^tok ∈ ℝ^(1×d) and appended to the fused context:

code
C_t = [F'_t; e_t^tok]

C_t is the short-horizon intent representation — a compact encoding of "what the robot has been doing" that conditions action generation.

A DiT-based flow-matching head samples the action chunk from this conditioning:

code
τ_t = (a_t, a_{t+1}, ..., a_{t+H-1}) ∈ ℝ^(H×d_a)

Training minimizes the conditional flow-matching objective:

code
L_flow = E[||V̂_θ(X_s, s | C_t) - (τ_t - ε)||²]

Where X_s = (1-s)ε + sτ_t interpolates linearly between Gaussian noise and the target action chunk.

Training Setup

Datasets

Dataset Usage
AliasBench Novel benchmark (100 demos per task)
SimplerEnv BridgeDataV2 subset from Open X-Embodiment
LIBERO All 4 suites: Spatial, Object, Goal, Long
RoboCasa-GR1 PhysicalAI Robotics-GR00T-X-Embodiment-Sim subset

Hyperparameters

Parameter Value
Training steps 30,000
Hardware 16 × NVIDIA H100
Batch size (per GPU) 16
Optimizer AdamW
Learning rate 1×10⁻⁵
LR schedule Cosine annealing
Gradient clip max norm 1.0
Precision BF16
History window K 16 frames (~0.53 sec at 30 FPS)

Getting Started with AliasBench

The GitHub repository (ZGC-EmbodyAI/IntentVLA) currently provides AliasBench benchmark code. Full model training and inference code is marked as coming soon.

To set up AliasBench with RoboTwin2:

bash
# 1. Clone the IntentVLA repo
git clone https://github.com/ZGC-EmbodyAI/IntentVLA.git

# 2. Install RoboTwin2 following their documentation
# (see: github.com/TeleVision-AI/RoboTwin2)

# 3. Copy benchmark task files into RoboTwin2 checkout
cp -r IntentVLA/description/ path/to/RoboTwin2/description/
cp -r IntentVLA/envs/ path/to/RoboTwin2/envs/
cp -r IntentVLA/task_config/ path/to/RoboTwin2/task_config/

When model code releases, inference runs on a single H100 80GB:

bash
# Future inference command (once code releases)
python eval.py \
  --model intentvla \
  --benchmark alias_bench \
  --history_len 16 \
  --checkpoint path/to/intentvla_checkpoint

Results: The Numbers

AliasBench — Primary Benchmark

Method Back-Forth Crossing Bimanual Multi-Goal Avg
Qwen3-VL-GR00T (baseline) 6.0% 15.7% 5.5% 8.7% 9.0%
+16 raw frames in context 31.8% 47.3% 6.0% 18.7% 28.1%
MemoryVLA 13.3% 22.7% 4.0% 16.7% 14.9%
IntentVLA 49.3% 74.7% 17.0% 31.3% 45.8%

IntentVLA exceeds the strongest practical history baseline (raw 16-frame concatenation) by +17.7 points while using less memory. Over the no-history baseline: +36.8 points.

LIBERO

Method Spatial Object Goal Long Avg
OpenVLA-OFT 97.6% 98.4% 97.9% 94.5% 97.1%
π0.5 98.8% 98.2% 98.0% 92.4% 96.9%
Qwen3-VL-GR00T 97.8% 98.8% 97.4% 92.0% 96.5%
IntentVLA 99.3% 99.7% 98.1% 97.4% 98.6%

LIBERO-Long — the multi-stage manipulation suite most susceptible to aliasing — shows a +5.4-point gain, the largest among all four LIBERO suites.

SimplerEnv and RoboCasa

  • SimplerEnv: 72.9% vs. 65.3% baseline (+7.6 pts), also beating the previous best 3D-Mix at 68.2%
  • RoboCasa-GR1 (24 tasks): 57.0% vs. 47.8% baseline (+9.2 pts), best 24-task average

Real-World: Dual-Arm Franka Snack Cleanup

Dual-arm Franka Research 3 setup for the real-world snack cleanup experiment
Dual-arm Franka Research 3 setup for the real-world snack cleanup experiment
Real-world experimental setup: dual-arm Franka Research 3 performing multi-step snack placement. Source: IntentVLA, arXiv 2605.14712

50 trials, 500-step budget each. Task: collect scattered snack packets and place them in a target zone.

Method ≥1 placed ≥2 placed ≥3 placed ≥4 placed E[#]
Qwen3-VL-GR00T 70% 36% 14% 0% 1.20
π0.5 82% 44% 18% 0% 1.44
MemoryVLA 78% 52% 22% 2% 1.54
IntentVLA 86% 62% 32% 6% 1.86

IntentVLA is the only method to achieve ≥4 snacks placed (6%). Expected throughput of 1.86 snacks vs. 1.20–1.54 for baselines. In a real deployment, this difference compounds over time.

Efficiency: Faster and Lighter Than Naive History

Method Throughput Peak VRAM
Raw 16 frames in context 6.45 Hz 20.13 GiB
IntentVLA 7.53 Hz 14.58 GiB

Compact history encoding saves 5.55 GiB VRAM and runs 16% faster than the naive concatenation approach, enabling single H100 80GB deployment.

Ablation Study: What Actually Matters?

Component Ablation on SimplerEnv

Variant Stack Carrot Spoon Eggplant Avg
Frame-only baseline 18.8% 59.4% 83.0% 100% 65.3%
+VGGT current frame only 30.2% 61.5% 72.5% 94.8% 64.8%
History fusion, no intent token 49.0% 65.6% 67.7% 95.8% 69.5%
Full IntentVLA 54.2% 66.7% 70.8% 100% 72.9%

Key takeaways:

  1. Applying VGGT only to the current frame (no history) barely helps — the encoder isn't the bottleneck; the missing history is.
  2. History fusion alone improves to 69.5%.
  3. Adding the compact intent token brings another +3.4 points — the summary provides complementary signal to the cross-attention.

History Window Size

K (frames) Window (~sec) AliasBench Avg
8 ~0.27 sec 39.9%
16 ~0.53 sec 45.8%
24 ~0.80 sec 43.7%

16 frames is the sweet spot. At K=24, performance slightly regresses — extra frames add noise beyond useful context.

History Encoder Comparison

Encoder AliasBench Avg
V-JEPA 2 (video model) 38.6%
VGGT-1B (geometry model) 45.8%

VGGT outperforms V-JEPA 2 by 7.2 points despite not being designed for robot video. Geometric pre-training generalizes better to frame-to-frame state reasoning than video pre-training.

Inter-Chunk Consistency: A New Metric for Stability

The paper introduces Inter-Chunk Consistency (ICC-L2): average L2 distance between the last action of chunk t and the first action of chunk t+1. Lower ICC-L2 means smoother, more consistent motion.

  • Baseline: ICC-L2 = 0.219
  • IntentVLA: ICC-L2 = 0.181 (17.6% improvement)
  • 90th-percentile ICC-L2 (tail inconsistency): drops 21.7%

This metric deserves wider adoption. A policy can have decent task success rates while producing mechanically damaging, jerky motion — ICC-L2 catches this where task success doesn't.

Limitations to Keep in Mind

Bimanual ambiguity remains hard: 17.0% average for this family. Symmetric handoff configurations encode very little directional signal even in 16-frame history. Future work needs motion-based rather than appearance-based representations.

Multi-goal ambiguity needs improvement: 31.3% — when the relevant cue (flash, label) disappears before action begins, even 16 frames of recent history may not capture it. Longer memory or event-triggered encoding could help.

Training code isn't released yet: AliasBench is available; the IntentVLA model code is coming. Check the repo for updates.

H100 compute requirement: 30K steps on 16 × H100 for the full training setup. Academic labs with smaller clusters may need to reduce batch size and steps and verify results hold.

Key Takeaways for Practitioners

1. If your robot jitters between consistent motion phases, check for observation aliasing. The symptom isn't random failure — it's systematic inconsistency at points where the visual state recurs with different task context.

2. Compact history beats raw concatenation. Throwing 16 frames into the context as raw tokens uses more VRAM and runs slower than the compressed representation IntentVLA uses. Encoding is the work, not accumulation.

3. Pre-trained geometric encoders transfer surprisingly well. VGGT was pre-trained on 3D scene reconstruction. When repurposed as a frozen history encoder for robot manipulation, it outperforms a dedicated video model. Pre-training quality matters more than domain specificity when target task data is limited.

4. Add ICC-L2 to your evaluation. Task success rate measures outcomes. ICC-L2 measures execution quality. Both matter for real-world deployment — motors and joints wear faster with high-variance action generation.

5. Observation aliasing is a dataset property, not a model failure. Human demonstration data is inherently multimodal. Any policy trained on such data with a frame-conditioned formulation will exhibit aliasing. IntentVLA's architectural fix is model-side, but the underlying cause is in the data collection process.

Conclusion

IntentVLA addresses a structural gap in how VLA policies are trained and deployed: the implicit assumption that the current observation contains sufficient information to determine the correct action. For many real-world tasks, it doesn't — and the consequences are unstable, contradictory behavior that degrades task success and robot longevity.

The solution — frozen VGGT history encoder, gated cross-attention fusion, compact intent token — is both principled and practical. It improves performance across the board while reducing memory usage relative to naive history approaches, and it works in the real world on a dual-arm Franka platform.

AliasBench fills a gap in the evaluation landscape: a systematic benchmark that isolates exactly this failure mode. Expect it to become a standard test for VLA fine-tuning pipelines over the next year.

Keep an eye on github.com/ZGC-EmbodyAI/IntentVLA for training code.

References:

  • IntentVLA — arXiv 2605.14712
  • GitHub: ZGC-EmbodyAI/IntentVLA
  • HuggingFace Paper Page

Related Posts

  • OpenVLA Deep Dive: Architecture and Fine-tuning Open-Source VLA
  • TGRPO: Fine-tuning VLA with Trajectory-Level GRPO on LIBERO
  • DexORA: Bimanual Manipulation VLA with Dexterous Policy
NT

Nguyễn Anh Tuấn

Robotics & AI Engineer. Building VnRobo — sharing knowledge about robot learning, VLA models, and automation.

Explore VnRobo

Fleet MonitoringROS 2 IntegrationAMR Solutions
← Previous
EgoHumanoid: Train Humanoid VLA from Human VR Demo

Related Posts

NEWTutorial
Fine-Tuning EVO1 on SO-101 with LeRobot v0.6.0
vlalerobotmanipulation
wholebody-vla

Fine-Tuning EVO1 on SO-101 with LeRobot v0.6.0

Fine-tune EVO1 (0.77B, InternVL3 + flow-matching) on SO-101 with LeRobot v0.6.0: runs 16.4 Hz on 2.3 GB VRAM. Full tutorial from data collection to real-robot inference.

9/8/202613 min read
NT
Research
μVLA: Memory Tokens Double Success Rate from 42% to 84%
vlarecurrent-memoryopenvla
wholebody-vla

μVLA: Memory Tokens Double Success Rate from 42% to 84%

μVLA adds learnable recurrent memory tokens to OpenVLA-OFT to tackle partial observability, doubling manipulation success from 42% to 84% on MIKASA-Robo.

8/25/202610 min read
NT
Tutorial
Fine-tune MolmoAct2 on SO-101 with LeRobot v0.6
molmoact2so-101lerobot
wholebody-vla

Fine-tune MolmoAct2 on SO-101 with LeRobot v0.6

Fine-tune MolmoAct2 (outperforms π0.5 on real-world manipulation) on SO-101 using LoRA and LeRobot v0.6 — runnable on a single 24GB GPU, step-by-step.

8/23/202611 min read
NT
VnRobo logoVnRobo logo

AI infrastructure for next-generation industrial robots.

Product

  • Features
  • Pricing
  • Knowledge Base
  • Services

Company

  • About Us
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2026 VnRobo. All rights reserved.

Made with♥in Vietnam