ViterbiPlanNet: Injecting Procedural Knowledge via Differentiable Viterbi for Planning in Instructional Videos
Organizations: University of Catania · University of Bath
Abstract
Procedural planning aims to predict a sequence of actions that transforms an initial visual state into a desired goal, a fundamental ability for intelligent agents operating in complex environments. Existing approaches typically rely on large-scale models that learn procedural structures implicitly, resulting in limited sample-efficiency and high computational cost. In this work we introduce ViterbiPlanNet, a principled framework that explicitly integrates procedural knowledge into the learning process through a Differentiable Viterbi Layer (DVL). The DVL embeds a Procedural Knowledge Graph (PKG) directly with the Viterbi decoding algorithm, replacing non-differentiable operations with smooth relaxations that enable end-to-end optimization. This design allows the model to learn through graph-based decoding. Experiments on CrossTask, COIN, and NIV demonstrate that ViterbiPlanNet achieves state-of-the-art performance with an order of magnitude fewer parameters than diffusion- and LLM-based planners. Extensive ablations show that performance gains arise from our differentiable structure-aware training rather than post-hoc refinement, resulting in improved sample efficiency and robustness to shorter unseen horizons. We also address testing inconsistencies establishing a unified testing protocol with consistent splits and evaluation metrics. With this new protocol, we run experiments multiple times and report results using bootstrapping to assess statistical significance.
Figures & tables
| Train | Inference | Metrics (%) ↑ | ||||
| DVL | DVL | VD | SR | mAcc | mIoU | |
| 1 | 32.47 0.32 | 60.63 0.22 | 82.45 0.02 | |||
| 2 | ✓ | 32.99 0.28 | 58.57 0.20 | 82.34 0.08 | ||
| 3 | ✓ | 32.09 0.26 | 58.57 0.20 | 82.34 0.08 | ||
| 4 | ✓ | ✓ | 30.77 0.19 | 57.04 0.12 | 81.95 0.20 | |
| 5 | ✓ | 20.05 0.63 | 54.61 0.27 | 76.99 0.41 | ||
| Method | PKG Use | w/o PKG | w/ PKG | Improv. |
|---|---|---|---|---|
| KEPP [ 15 ] | Conditioning | 32.37 5.36 | 34.93 2.60 | 2.56 5.93 |
| PlanLLM [ 28 ] | Post-processing | 34.87 1.32 | 36.84 1.21 | 1.97 1.81 |
| SCHEMA [ 16 ] | Post-processing | 33.93 0.59 | 37.24 0.60 | 3.31 0.84 |
| ViterbiPlanNet | Guided Training | 32.47 0.32 | 38.45 0.32 | 5.98 0.47 |
| T | Method | CrossTask | COIN | NIV | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SR (%) | mAcc (%) | mIoU (%) | Params (M) | SR (%) | mAcc (%) | mIoU (%) | Params (M) | SR (%) | mAcc (%) | mIoU (%) | Params (M) | ||
| 3 | Qwen2.5-VL-32B [ 3 ] | 11.48 | 36.35 | 69.52 | 32,000 | 3.65 | 17.51 | 52.10 | 32,000 | 7.41 | 27.65 | 59.73 | 32,000 |
| Qwen2.5-32B [ 17 ] | 25.14 | 56.10 | 80.92 | 32,000 | 14.97 | 36.34 | 78.74 | 32,000 | 24.07 | 43.46 | 71.88 | 32,000 | |
| Gemini 2.5 Pro [ 7 ] | 29.18 | 57.90 | 81.48 | 100,000 | 17.02 | 38.87 | 78.73 | 100,000 | 24.07 | 43.46 | 71.86 | 100,000 | |
| Qwen3-30B [ 27 ] | 23.37 | 55.96 | 81.16 | 30,000 | 14.52 | 36.56 | 78.07 | 30,000 | 24.81 | 42.84 | 70.80 | 30,000 | |
| Qwen3-30B [ 27 ] + PKG | 23.31 | 56.15 | 81.06 | 30,000 | 14.63 | 36.53 | 78.11 | 30,000 | 25.19 | 43.95 | 71.98 | 30,000 | |
| Horizon | Method | CrossTask | |||
|---|---|---|---|---|---|
| SR (%) | mAcc (%) | mIoU (%) | Params (M) | ||
| T = 3 | MTID ♣ [ 31 ] | 40.45 | 67.19 | 69.17 | 1,085.20 |
| ViterbiPlanNet ♣ | 39.75 | 67.39 | 76.92 | 5.49 | |
| T = 4 | MTID ♣ [ 31 ] | 24.76 | 60.69 | 67.67 | 1,085.20 |
| ViterbiPlanNet ♣ | 24.19 | 61.12 | 80.67 | 5.52 | |
| Method | SR (%) [6 3] | SR (%) [6 4] | SR (%) [6 5] |
|---|---|---|---|
| Qwen2.5-VL-32B [ 3 ] | 10.38 | 6.35 | 2.59 |
| Qwen2.5-32B [ 17 ] | 16.88 | 7.24 | 4.28 |
| Gemini 2.5 Pro [ 7 ] | 20.97 | 10.46 | 4.57 |
| Qwen3-30B [ 27 ] | 17.17 | 8.14 | 4.61 |
| Qwen3-30B [ 27 ] + PKG | 17.83 | 8.29 | 4.06 |
| PKG beam search | 18.31 0.40 | 8.26 0.18 | 5.14 0.22 |
| Train | Inference | Metrics (%) | ||||
| DVL | DVL | VD | SR | mAcc | mIoU | |
| Horizon | ||||||
| 1 | 18.93 0.58 | 55.12 0.46 | 79.87 0.26 | |||
| 2 | ✓ | 18.64 0.75 | 55.00 0.38 | 79.78 0.18 | ||
| 3 | ✓ | 21.54 0.50 | 53.19 0.46 | 79.90 0.28 | ||
| 4 | ✓ | ✓ | 19.92 0.18 | 52.09 0.43 | 79.78 0.34 | |
| Method | PKG Use | w/o PKG | w/ PKG | Improv. |
|---|---|---|---|---|
| Horizon | ||||
| KEPP [ 15 ] | Conditioning | 22.57 0.52 | 22.34 0.43 | -0.23 0.69 |
| PlanLLM [ 28 ] | Post-processing | 19.90 0.40 | 22.91 1.39 | 3.01 1.42 |
| SCHEMA [ 16 ] | Post-processing | 19.79 0.72 | 24.18 0.47 | 4.39 0.91 |
| ViterbiPlanNet | Guided Training | 18.93 0.58 | 24.64 0.30 | 5.71 0.64 |
| Horizon | ||||
| Method | w/ Task S. | w/o Task S. |
|---|---|---|
| Horizon | ||
| PDPP [ 25 ] | 36.73 0.59 | 8.39 8.02 |
| PlanLLM [ 28 ] | 36.84 1.21 | 15.37 14.09 |
| SCHEMA [ 16 ] | 37.24 0.60 | 37.00 0.27 |
| ViterbiPlanNet | 38.45 0.32 | 38.32 0.12 |
| Horizon | ||
| T | Method | CrossTask | COIN | NIV | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SR (%) | mAcc (%) | mIoU (%) | Params (M) | SR (%) | mAcc (%) | mIoU (%) | Params (M) | SR (%) | mAcc (%) | mIoU (%) | Params (M) | ||
| 3 | Qwen2.5-VL-32B [ 3 ] | 11.48 | 36.35 | 69.52 | 32,000 | 3.65 | 17.51 | 52.10 | 32,000 | 7.41 | 27.65 | 59.73 | 32,000 |
| Qwen2.5-32B [ 17 ] | 25.14 | 56.10 | 80.92 | 32,000 | 14.97 | 36.34 | 78.74 | 32,000 | 24.07 | 43.46 | 71.88 | 32,000 | |
| Gemini 2.5 Pro [ 7 ] | 29.18 | 57.90 | 81.48 | 100,000 | 17.02 | 38.87 | 78.73 | 100,000 | 24.07 | 43.46 | 71.86 | 100,000 | |
| Qwen3-30B [ 27 ] | 23.37 | 55.96 | 81.16 | 30,000 | 14.52 | 36.56 | 78.07 | 30,000 | 24.81 | 42.84 | 70.80 | 30,000 | |
| Qwen3-30B [ 27 ] + PKG | 23.31 | 56.15 | 81.06 | 30,000 | 14.63 | 36.53 | 78.11 | 30,000 | 25.19 | 43.95 | 71.98 | 30,000 | |
| Horizon | Method | CrossTask | COIN | NIV | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SR (%) | mAcc (%) | mIoU (%) | Params (M) | SR (%) | mAcc (%) | mIoU (%) | Params (M) | SR (%) | mAcc (%) | mIoU (%) | Params (M) | ||
| T = 3 | MTID ♣ [ 31 ] | 40.45 | 67.19 | 69.17 | 1085.20 | 30.44 | 51.70 | 59.74 | 1085.20 | 28.52 | 44.44 | 56.46 | 1085.20 |
| ViterbiPlanNet ♣ | 39.75 | 67.39 | 76.92 | 5.49 | 34.42 | 51.20 | 81.25 | 6.01 | 34.44 | 48.89 | 95.07 | 5.45 | |
| T = 4 | MTID ♣ [ 31 ] | 24.76 | 60.69 | 67.67 | 1085.20 | 22.74 | 49.90 | 61.25 | 1085.20 | 24.89 | 44.54 | 57.46 | 1085.20 |
| ViterbiPlanNet ♣ | 24.19 | 61.12 | 80.67 | 5.52 | 24.09 | 45.71 | 77.84 | 6.21 | 28.95 | 47.81 | 80.07 | 5.46 | |
| T = 5 | MTID ♣ [ 31 ] | 15.26 | - | - | 1085.20 | - | - | ||||||
| Method | SR (%) [6 3] | SR (%) [6 4] | SR (%) [6 5] |
|---|---|---|---|
| Qwen2.5-VL-32B [ 3 ] | 3.47 | 1.75 | 1.00 |
| Qwen2.5-32B [ 17 ] | 6.71 | 6.55 | 3.75 |
| Gemini 2.5 Pro [ 7 ] | 5.35 | 7.20 | 2.12 |
| Qwen3-30B [ 27 ] | 5.82 | 4.31 | 2.51 |
| Qwen3-30B [ 27 ] + PKG | 5.80 | 4.84 | 2.71 |
| PKG beam search | 6.85 0.27 | 4.39 0.14 | 1.66 0.20 |
| Method | SR (%) [6 3] | SR (%) [6 4] | SR (%) [6 5] |
|---|---|---|---|
| Qwen2.5-VL-32B [ 3 ] | 9.26 | 5.70 | 1.60 |
| Qwen2.5-32B [ 17 ] | 3.33 | 5.70 | 8.02 |
| Gemini 2.5 Pro [ 7 ] | 1.11 | 6.14 | 9.63 |
| Qwen3-30B [ 27 ] | 3.33 | 5.70 | 8.02 |
| Qwen3-30B [ 27 ] + PKG | 4.07 | 7.46 | 9.63 |
| PKG beam search | 15.19 1.70 | 14.56 2.46 | 14.76 2.46 |
| Metric | Dataset/Condition | Result |
| PKG Coverage | CrossTask ( ) | (%) |
| (% test sequences with | COIN ( ) | (%) |
| transitions in the graph) | NIV ( ) | (%) |
| Decoding Diversity | Uniform Emissions | , JSD |
| (Entropy , Jensen– | SCHEMA w/o PKG | , JSD |
| Shannon Divergence JSD , | SCHEMA w/ PKG | , JSD |
| Method [SR (%)] | ||||
|---|---|---|---|---|
| SCHEMA [ 16 ] | 32.1 32.7 0.4 | 23.6 21.9 0.3 | 16.6 14.2 0.4 | 13.1 10.2 0.2 |
| ViterbiPlanNet | 34.9 33.3 0.4 | 25.4 22.8 0.2 | 18.3 15.0 0.2 | 14.1 10.8 0.2 |
| Improvement | +0.6 0.5 | +0.8 0.4 | +0.9 0.5 | +0.6 0.3 |
| Method [SR (%)] | ||||
|---|---|---|---|---|
| SCHEMA [ 16 ] | 29.55 1.95 | 20.78 1.94 | 13.91 1.10 | 12.46 1.57 |
| ViterbiPlanNet | 51.84 0.95 | 48.14 0.64 | 46.34 0.49 | 41.98 0.92 |
| Improvement | +22.29 2.17 | +27.36 2.04 | +32.43 1.21 | +29.52 1.82 |
| Component | Name/Value |
|---|---|
| Visual Backbone | S3D [ 26 ] |
| Optimizer | Adam [ 10 ] |
| Learning Rate | |
| Dropout | 0.20 |
| Batch Size | 256 |
| Epochs | 500 |
Graph-Based Planning
Graph-Based Planning represents states, tasks, or environments as nodes and edges to search for feasible, low-cost action sequences.
See all 99 papers