IRP artefacts: latent action representations for human activity video

Fine-tuned latent action models and supporting features from the MSc Independent Research Project Latent Action Representations for Human Activity Video: Diagnosing and Improving Cross-Scene Semantic Consistency (Imperial College London, 2026).

Code, results and the written report: https://github.com/ese-ada-lovelace-2025/irp-yg25

Every number in the report traces to a file in that repository's code/results/. This repository holds the weights and features behind those numbers, which are too large for version control and cannot be re-downloaded from their original sources because we produced them ourselves.

Contents

exp5/ β€” SACA fine-tuned DiLA (7 variants, 421 MB each)

Structure-aware contrastive alignment. The loss adds three terms to DiLA's phase-2 objective:

L = L_reconstruct + lam_sym * L_sym + lam_inv * L_inv + lam_margin * L_margin

Trainable parts are DiLA's inverse dynamics model (DeepConvIDM) and the projection head. Everything else stays frozen.

Directory Variant
full_inv_high The selected model. lam_sym 0.7, lam_inv 0.7, lam_margin 7.0
full The smoke-calibrated weights, lam_inv 0.35
full_sym_low Weight-sensitivity grid point
full_margin_high Weight-sensitivity grid point
sym_only Ablation, symmetry term only
inv_only Ablation, invariance term only
sym_inv Ablation, no margin term

full_inv_high is the model reported throughout the paper. It gives the highest class separability and the highest probing accuracy of anything in the project, while keeping symmetric-pair structure far better than inv_only.

exp4/ β€” Seq-Delta-REPA fine-tuned DiLA (3 lambdas, 420 MB each)

Label-free alignment to V-JEPA 2 features, L = L_reconstruct + lambda * L_align. Directories seq_repa_lam0.01, seq_repa_lam0.1, seq_repa_lam1.0. lambda = 1.0 is the one discussed in the report. This branch raises probing accuracy but damages the geometry of the latent space, which is what motivated the SACA work above.

latents_bridge_steps/ β€” per-step Bridge latents (1.3 GB per tag)

baseline and full_inv_high, one 256-d latent per BridgeV2 transition. These are the pseudo-action labels for stage 1 of the SimplerEnv experiment. Regenerating them costs about 7.6 GPU-hours and requires the exp5 weights above, so they are kept rather than recomputed.

Loading

The exp4 and exp5 checkpoints are plain torch.save dictionaries, not HuggingFace models:

import torch
ckpt = torch.load("exp5/full_inv_high/ckpt_final.pt", map_location="cpu")
print(ckpt.keys())

They rebuild against DiLA's architecture. See code/src/models/dila.py and code/scripts/exp5_finetune.py in the GitHub repository.

Licence

This repository is released under the MIT licence. Everything here is a derivative work, and the upstream terms are as follows.

Upstream Used for Licence
DiLA Base model for exp4 and exp5 MIT
DINOv2 Visual encoder inside DiLA Apache-2.0
V-JEPA 2 ViT-L Alignment targets for exp4 MIT
BridgeV2 (LeRobot port) Source video for latents_bridge_steps Apache-2.0

All four permit redistribution of derivative works with attribution, which this section provides.

On Something-Something V2

The exp4 and exp5 weights were fine-tuned on Something-Something V2, which is distributed under a restrictive research licence that does not permit redistribution of the data. Model weights are a transformation rather than a copy of the training data, so they are published here.

The precomputed per-clip V-JEPA 2 feature tables over SSv2 are deliberately not included. A per-video feature table is closer in kind to a derived dataset than to a model, so it is held privately instead. It can be regenerated from the public V-JEPA 2 checkpoint once you have your own licensed copy of SSv2, using code/scripts/extract_tau.py in the GitHub repository.

Not here

The Experiment 6 vision-language-action policies (5 checkpoints, 41.5 GB) are not retained. They are largely Qwen2.5-VL-3B base weights, they require the full StarVLA and SimplerEnv stack to use, and their scientific content is recorded in code/results/exp6_simpler.json, which carries the protocol, per-task and per-repeat success rates, stage-1 losses and latent diagnostics.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support