AdaLoop: Thinking with the Vision Encoder
Organizations: Harvard University · MIT
Abstract
Most vision-language models (VLMs) treat the vision encoder as a static feature extractor: it encodes an image once, independently of the question, and leaves subsequent reasoning to the language model. Yet different questions may require different visual operations and processing depths. We present AdaLoop, a framework for question-conditioned visual recurrence in VLMs. AdaLoop adapts visual computation to the question and reuses the encoder's transformations across multiple iterations, with the pretrained vision weights frozen. We also introduce VisRO, a procedural dataset and generation pipeline for training and evaluating vision-centric reasoning. On six VisRO tasks, AdaLoop outperforms standard fine-tuning and question-conditioned single-pass baselines with matched training data and optimizer updates. These gains hold across three VLM families on both in-distribution and out-of-distribution examples. Our findings suggest that pretrained vision encoders can contribute to reasoning through task-directed, iterative visual computation.
Figures & tables
| Method | Params | / tok. | ID | OOD | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Count | Flow | Glyph | Metro | Maze | Path | Overall | Overall | |||
| Closed-source models (zero-shot) | ||||||||||
| GPT-6 Astra (max) | – | 2,892 | 88.3 | 95.0 | 55.0 | 91.7 | 78.3 | 85.0 | 82.2 | 71.4 |
| Claude Opus 5 (max) | – | 15,807 | 45.0 | 5.0 | 1.7 | 18.3 | 25.0 | 36.7 | 21.9 | 11.7 |
| Qwen2.5-VL-3B | ||||||||||
| Zero-shot | 0 | 1.0 | 7.3 | 0.0 | 23.5 | 0.0 | 37.3 | 14.8 | 13.8 | 8.9 |
| Method | Params | ID | OOD |
|---|---|---|---|
| SFT | 66 | 49.9 | 23.9 |
| + GRPO | 66 | 49.5 | 24.2 |
| LIVR | 66 | 47.8 | 22.0 |
| AdaLoop | 82 | 64.6 | 32.4 |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Setting | Qwen2.5-VL-3B | PaliGemma 2 3B | LLaVA-1.5-7B § |
|---|---|---|---|
| Vision encoder | Native ViT | SigLIP So400m/14 | CLIP ViT-L/14 |
| Vision hidden width | 1280 | 1152 | 1024 |
| LM embedding width | 2048 | 2304 | 4096 |
| Image preprocessing | Dynamic | ||
| Visual tokens for the LM | 1024 | 256 | |
| LoRA rank | 64 | 64 | 128 |
| Method | Params | VisRO overall | General VQA ∗ | |||
| ID | OOD | MMStar | MMBench | |||
| Qwen2.5-VL-3B | ||||||
| SFT | 66 | 1 | 49.9 | 23.9 | 51.7 | 77.1 |
| Single-pass AdaLN | 82 | 1 | 60.0 | 30.2 | 51.1 | 75.4 |
| AdaLoop-A | 82 | 3 | 63.7 | 32.4 | 51.1 | 75.5 |
| PaliGemma2-3B | ||||||
| Variant | Fixed depth | Adaptive depth | ||
|---|---|---|---|---|
| Readouts | Generations | Readouts | Generations | |
| A | 1 | 1 | ||
| B | 1 | |||
| C | ||||
| Task | Representative question | Answer form |
|---|---|---|
| Discrimination and grouping | ||
| Count clusters | How many objects overlap another object? | Integer |
| Points on lines | How many points lie on the highlighted lines? | Integer |
| Find the same | Which items are identical? | Correspondences |
| Find the different | Which item differs from the others? | Position |
| Find the shadow | Which silhouettes match the objects? | Correspondences |
| Task | ID (xhard) | OOD |
|---|---|---|
| Find the same | 20 icons; 6 matching pairs; 6 near matches | 25 icons; 8 matching pairs; 8 near matches |
| Find the different | 9×9 grid; local alteration | 10×10 grid; smaller alteration cap |
| Cube unfolding | 10 views; orientation distractors | 12 views; glyph-orientation cues |
| 3D block counting | 4×5 base; max height 5; min count 30+ | 5×5 base; max height 6; min count 45+ |
| Block changes | 8–10 changes; 5+ columns | 12–16 changes; 8+ columns |
| Viewpoint rotation | 4×5 base; 20–28 cubes | 5×5 base; 30–42 cubes |
VLM Reasoning
Vision-language model reasoning studies how multimodal systems use visual evidence and language to answer questions, plan, and explain.
See all 853 papers