Paper · 2024-12-03 · cs.LG, cs.AI, cs.CV
Improving Dynamic Object Interactions in Text-to-Video Generation with AI Feedback
Offline RL-finetuning of a 3B text-to-video diffusion model on prompts of dynamic object interactions, rewarded by binary accept/reject judgments from a vision-language model. Reward-weighted regression and DPO both beat the pre-trained and SFT models, and AI feedback gives the best Gemini, GPT-4o and human scores. Results are author-reported on 40 test prompts.
Diffusion modelsPreference optimizationReinforcement learning from human feedback (RLHF)text-to-videodiffusionreinforcement-learningai-feedbackpreference-optimization
AI-compiled by claude-haiku-5-5 on 2026-10-19, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Video generators often get the physics of an action wrong. Ask for a bottle being pulled from left to right and the clip may keep the scene static, ignore the motion, or add objects that were never asked for.
The authors take an idea that worked for chatbots: generate several answers, score them with feedback, and train the model to prefer the good ones. Here the feedback is a yes or no from a vision-language model, which is a model that can look at a video and judge it. The model is asked whether the clip is coherent, physically plausible and completes the described action. Each generated video is labelled accept or reject, and the video model is then fine-tuned on those labels. The fine-tuned model produces more of the accepted kind of clip.
The authors compare this against other scores such as image-text match and motion amount, and against training on the model's own outputs with no feedback. The AI judge gives the largest gains on the paper's own quality measures, which were checked by a second AI judge, by human raters and by standard video metrics. The gains are largest for scenes with several interacting objects and for objects falling.
TL;DR
- Fine-tunes a 3B-parameter text-to-video diffusion model (1.6B base plus 1.4B super-resolution) on 120 training prompts about object movement, using Something-Something-V2 as the pre-training data §4 app. A.
- Feedback is a binary Accept or Reject from Gemini-1.5-Pro; the same reward model is used as the evaluator §3.3 tab. 2.
- Two offline algorithms are compared: reward-weighted regression (RWR) and DPO. Both improve on pre-trained and SFT baselines, and DPO generalises better to held-out prompts §4.2 §4.3.
- Author-reported headline: Gemini "All" accuracy 52.66% to 56.41% (RWR-AIF) and 56.17% (DPO-AIF); human "All" 19.38% to 31.09% (RWR-AIF) tab. 2.
- Among the rewards compared, AI feedback has the best Gemini, GPT-4o and human "All" scores. The evaluation set is small (40 test prompts).
Problem
Text-to-video models often fail on dynamic object interactions. They can generate static scenes, ignore the specified movement, or violate physics §1 fig. 1. Scaling data and model size is hard for video, and the authors look at external feedback instead, as used for LLMs §1.
The paper asks which pairing of feedback signal and offline self-improvement algorithm most reduces these errors [abstract] §1. It also argues that the two popular offline objectives (RWR and DPO) come from one probabilistic objective, so the choice of reward and data matters more than the algorithm §3.1.
Assumptions: the base model must be able to produce some correct dynamics, because open models that cannot do the movement show no signal from fine-tuning §4.3 app. F.
Method
Setup. The denoising process is treated as a T-step Markov decision process whose state is the noisy video and the condition, with the reward given only at the final step §2. The condition is the text plus the first frame, with classifier-free guidance §2. The unified RL-finetuning objective maximises an expected reward minus a KL term to the reference model, with the reward scaled by 1/beta eq. 3 §3.1.
Feedback signals. The authors compare five rewards §3.2 §3.3:
- CLIP score (ViT-B/16);
- HPSv2 and PickScore (OpenCLIP ViT-H/14), both human-preference predictors;
- optical flow from RAFT, averaged over the top 5% of pixel norms, as a motion measure;
- AI feedback: a VLM judges a sequence of 8 frames for coherence, physical accuracy, task completion and inconsistencies, and returns Accept or Reject app. D.
Metric rewards are summed over frames §3.2. Each reward is linearly shaped as r_lin = eta * r + gamma before training §3.2 app. A.
Algorithms. Both algorithms are derived from eq. 3 §3.1.
- RWR (forward EM projection). The E-step gives a target distribution proportional to the current model times exp(r/beta). The M-step is a reward-weighted denoising loss, which regresses each sample's noise prediction error and weights it by its reward eq. 4 eq. 5 eq. 6.
- DPO (reverse Bradley-Terry projection). The Bradley-Terry model makes the preference probability a sigmoid of the reward difference. Substituting the policy-implied reward gives a loss on preferred and rejected pairs. The diffusion version uses the same noise sample and time step for the four denoising errors in the loss eq. 7 §3.1. The paper notes that this loss has a negative gradient term, which pushes down rejected samples §3.1.
Pipeline alg. 1 fig. 2.
- Pre-train the video diffusion model on Something-Something-V2 pairs app. A.
- For each of 120 training prompts, sample 128 videos from the pre-trained model (15,360 samples) §4 app. A.
- Score every sample with the chosen reward (AI feedback or a metric).
- Fine-tune with RWR (eq. 6) on the scored samples, or with DPO (eq. 7) on paired samples.
Iterative variant. The fine-tuned model generates new samples which are scored and used again. RWR keeps improving over two rounds, DPO saturates §4.3 fig. 5. The number of rounds, samples per round and the pair construction are not stated beyond this.
Equations
Diffusion objective, as written in the paper eq. 1:
\mathcal{J}_{\texttt{DDPM}} = \mathbb{E}_{x_0,\epsilon,t}\left[ \| \epsilon - \epsilon_{\theta}(\sqrt{\alpha_t} x_t + \sqrt{\beta_t}\epsilon, t) \|^2 \right] eq. 1
Unified RL-finetuning objective eq. 3:
\mathcal{J}_{\texttt{RL}}(p, p') = \mathbb{E}\left[ \beta^{-1} r(x_0, c) - \log \frac{p(x_0 \mid c)}{p'(x_0 \mid c)} \right] eq. 3
RWR loss (f-EM) eq. 6:
\mathcal{J}_{\texttt{f-EM}} = \mathbb{E}_{c,x_0,\epsilon,t}\left[ r(x_0, c) \| \epsilon - \epsilon_{\theta}(\sqrt{\alpha_t} x_t + \sqrt{\beta_t}\epsilon, c, t) \|^2 \right] eq. 6
DPO loss (r-BT) eq. 7:
\mathcal{J}_{\texttt{r-BT}} = -\mathbb{E}\left[ \log \sigma\left( -\beta \left( \|\epsilon-\epsilon_\theta^{(1)}\|^2 - \|\epsilon-\epsilon_{\text{ref}}^{(1)}\|^2 - \|\epsilon-\epsilon_\theta^{(2)}\|^2 + \|\epsilon-\epsilon_{\text{ref}}^{(2)}\|^2 \right) \right) \right] eq. 7
The paper's other equations (E-step Lagrangian eq. 4, M-step eq. 5, the log-likelihood decomposition eq. 2) define the derivation only. The paper's DDPM notation is non-standard; see Pitfalls.
Pseudocode
Offline RL-finetuning from feedback alg. 1:
# Offline RL-finetuning of a text-to-video model from feedback [alg. 1]
# Inputs: model, pre-training pairs, finetuning prompts, reward function
def finetune_with_feedback(model, pretrain_pairs, prompts, reward_fn):
# Pre-train the video diffusion model with the DDPM loss [alg. 1] [eq. 1]
base_model = pretrain(model, pretrain_pairs)
# Sample several videos per finetuning prompt [§4] [app. A]
samples = []
for prompt in prompts:
for index in range(samples_per_prompt):
video = generate(base_model, prompt)
# Attach the feedback value for this video [§3.2] [§3.3]
score = reward_fn(video, prompt)
samples.append((video, prompt, score))
# RWR: minimise the reward-weighted denoising loss [alg. 1] [eq. 6]
rwr_model = minimise(rwr_loss, base_model, samples)
# DPO: minimise the pairwise loss on paired samples [alg. 1] [eq. 7]
dpo_model = minimise(dpo_loss, base_model, make_pairs(samples))
return rwr_model, dpo_modelRWR loss for one sample eq. 6:
# Reward-weighted denoising loss for one sample [eq. 6]
def rwr_loss(model, video, prompt, score):
# Draw a diffusion time step and Gaussian noise [eq. 1]
step = sample_time_step()
noise = sample_gaussian(video.shape)
# Build the noisy video with the paper's DDPM mixing [eq. 1]
noisy_video = mix_noise(video, noise, step)
# Predict the noise and weight the squared error by the reward [eq. 6]
predicted = model(noisy_video, prompt, step)
return score * squared_error(noise, predicted)DPO loss for one preferred and one rejected sample eq. 7:
# Pairwise denoising loss, shared noise and time step [eq. 7]
def dpo_loss(model, reference, preferred, rejected, prompt, beta):
# Draw one noise sample and one time step for all four terms [eq. 7]
step = sample_time_step()
noise = sample_gaussian(preferred.shape)
# Error gap of the policy relative to the reference, per sample [eq. 7]
preferred_gap = (
squared_error_of(model, preferred, prompt, noise, step)
- squared_error_of(reference, preferred, prompt, noise, step)
)
rejected_gap = (
squared_error_of(model, rejected, prompt, noise, step)
- squared_error_of(reference, rejected, prompt, noise, step)
)
# Lower the preferred error relative to the rejected one [eq. 7]
logit = -beta * (preferred_gap - rejected_gap)
return -log_sigmoid(logit)Hyperparameters
| Name | Value | Where | Notes |
|---|---|---|---|
| Base model | 3D-UNet video diffusion, 1.6B parameters, latent 16×24×40 | app. A | Follows LVDM app. A |
| Super-resolution model | 1.4B parameters, 16×24×40 → 16×192×320 | app. A | Not finetuned with RL; only the base model is app. A |
| Total parameters | 3B | §4 app. A | Sum of base and super-resolution models |
| Attention and channels | 3 residual blocks, 512 base channels, multipliers [1, 2, 4], attention resolutions [6, 12, 24], head dim 64, conditioning dim 1024 | app. A | |
| Text encoder | T5-XXL, sequence length 64, embedding dim 4096 | app. A | |
| First-frame conditioning | First frame replicated across frame indices, concatenated channel-wise | app. A | |
| Optimiser | Adam, linear schedule | app. A | |
| Learning rate | 1e-4 | app. A | Shared between pre-training and RL-finetuning app. A |
| Warm-up steps | 10,000 | app. A | Unclear whether it applies to RL-finetuning (see Pitfalls) |
| Gradient clipping | 1.0 | app. A | |
| Batch size | 64 | app. A | |
| Pre-training steps | 125K | app. A | "until converged" §4 |
| RL-finetuning steps | 10K | app. A | |
| Checkpoints | Saved every 500 steps; best of the last 5 reported | app. A | Selection criterion not stated |
| DPO beta | 5000 | app. A | Following Diffusion-DPO app. A; note the separate beta in eq. 3 |
| Reward scale eta | Grid {0.005, 0.0075, 0.01, 0.1, 1.0}; chosen value per reward not stated | §3.2 | Scale matters for optical flow §3.2 |
| Reward shift gamma | Grid {0, 0.5, 0.75, 1.0}; chosen value per reward not stated | §3.2 | Shift matters for CLIP, HPSv2, PickScore §3.2 |
| Training prompts | 5 × 24 = 120 (24 per category) | §4.1 app. C | From SSv2 validation split §4.1 |
| Evaluation prompts | 5 × 8 = 40 | §4.1 app. C | |
| Samples per training prompt | 128 (15,360 total) | §4 app. A | |
| Evaluation samples | 32 per prompt, average over top-8 | §4 | Ranking used for "top-8" not stated |
| Motion metric | RAFT flow, mean norm of top 5% of pixels | §3.2 | |
| CLIP | ViT-B/16 | §3.2 | |
| HPSv2, PickScore | OpenCLIP ViT-H/14 | §3.2 | |
| VLM feedback | Gemini-1.5-Pro, 8 frames, single word Accept or Reject | §3.3 app. D | Also GPT-4o for generalisation §3.3 |
| VLM sampling settings | Not stated | Temperature, frame sampling method | |
| Pre-training data | SSv2: 160K train pairs, 8.5K validation pairs | app. A | |
| Hardware | Cloud TPU-v3, 128 cores, 32 GiB HBM per device | app. A | |
| Compute time | Pre-training 4–5 days; RL-finetuning about half a day | app. A | |
| Diffusion sampler and steps | Not stated | ||
| Classifier-free guidance scale | Not stated | §2 | |
| Iterative rounds | Two rounds reported | §4.3 fig. 5 | Samples per round not stated |
Results
Author-reported. Setup: Something-Something-V2-derived prompts, 3B model, evaluation on 40 held-out prompts (train 120), 32 videos per prompt §4. The "All" column combines train and test prompts.
Table 1: metric rewards and AI feedback (train / test) tab. 1
| Method | CLIP tr | CLIP te | HPSv2 tr | HPSv2 te | PickScore tr | PickScore te | Optical flow tr | Optical flow te | AI feedback tr | AI feedback te |
|---|---|---|---|---|---|---|---|---|---|---|
| Pre-trained | 1.9240 | 1.9275 | 1.8139 | 1.7772 | 1.5697 | 1.5637 | 370.2 | 409.6 | 53.02% | 51.56% |
| SFT | 1.9287 | 1.9270 | 1.8114 | 1.7748 | 1.5698 | 1.5639 | 368.6 | 416.4 | 55.94% | 47.50% |
| RWR | 1.9309 | 1.9289 | 1.8132 | 1.7776 | 1.5699 | 1.5644 | 375.0 | 422.0 | 58.23% | 50.94% |
| DPO | 1.9259 | 1.9325 | 1.8160 | 1.7797 | 1.5701 | 1.5641 | 377.8 | 410.7 | 56.56% | 55.00% |
The columns are each reward's own metric, so rows are comparable within a column only.
Table 2: VLM, human and VBench evaluation per algorithm and reward tab. 2
| Algorithm × reward | Gemini tr | Gemini te | Gemini All | GPT-4o All | Human All |
|---|---|---|---|---|---|
| Pre-trained | 53.02% | 51.56% | 52.66% | 44.45% | 19.38% |
| SFT | 55.94% | 47.50% | 53.83% | 45.45% | 21.09% |
| RWR-CLIP | 55.31% | 45.00% | 52.73% | 44.82% | 23.52% |
| RWR-HPSv2 | 52.92% | 57.50% | 54.06% | 44.98% | 24.92% |
| RWR-PickScore | 55.52% | 49.69% | 54.06% | 45.70% | 22.19% |
| RWR-OptFlow | 57.81% | 50.00% | 55.86% | 44.82% | 24.06% |
| RWR-AIF | 58.23% | 50.94% | 56.41% | 46.80% | 31.09% |
| DPO-CLIP | 52.29% | 54.38% | 52.81% | 45.92% | 24.53% |
| DPO-HPSv2 | 55.73% | 51.56% | 54.69% | 44.90% | 26.02% |
| DPO-PickScore | 53.02% | 55.31% | 53.59% | 44.98% | 25.08% |
| DPO-OptFlow | 54.06% | 54.06% | 54.06% | 45.29% | 26.17% |
| DPO-AIF | 56.56% | 55.00% | 56.17% | 46.21% | 34.06% |
The paper's "Gemini" column is the same VLM family as the AI-feedback reward (see Pitfalls). GPT-4o is an independent check §4.3.
Table 2 (continued): VBench, "All" values tab. 2
| Algorithm × reward | Overall consistency | Subject consistency | Background consistency | Motion smoothness | Imaging quality |
|---|---|---|---|---|---|
| Pre-trained | 0.1587 | 0.7768 | 0.8906 | 0.9265 | 41.16 |
| SFT | 0.1592 | 0.7804 | 0.8915 | 0.9271 | 40.15 |
| RWR-CLIP | 0.1589 | 0.7816 | 0.8919 | 0.9274 | 40.21 |
| RWR-HPSv2 | 0.1593 | 0.7803 | 0.8925 | 0.9276 | 40.54 |
| RWR-PickScore | 0.1589 | 0.7810 | 0.8917 | 0.9273 | 40.26 |
| RWR-OptFlow | 0.1592 | 0.7818 | 0.8915 | 0.9283 | 40.06 |
| RWR-AIF | 0.1610 | 0.7885 | 0.8940 | 0.9302 | 40.72 |
| DPO-CLIP | 0.1598 | 0.7809 | 0.8918 | 0.9272 | 40.65 |
| DPO-HPSv2 | 0.1599 | 0.7814 | 0.8917 | 0.9273 | 40.55 |
| DPO-PickScore | 0.1588 | 0.7814 | 0.8920 | 0.9273 | 40.50 |
| DPO-OptFlow | 0.1589 | 0.7801 | 0.8922 | 0.9274 | 40.42 |
| DPO-AIF | 0.1602 | 0.7822 | 0.8926 | 0.9279 | 40.61 |
Key comparisons (author-reported).
- RWR-AIF gains +3.8 points on Gemini All (52.66 to 56.41), +2.4 on GPT-4o (44.45 to 46.80) and +11.8 on human (19.38 to 31.09) §4.3. The table values give +11.7 for the human case; the paper rounds it to +11.8.
- DPO-AIF gains +3.5, +1.8 and +14.7 points on the same three evaluations §4.3.
- AI feedback gives the best VBench consistency and smoothness numbers, but not every VBench column §4.3 tab. 2.
- Pre-trained, SFT and RL-finetuned models are compared on FVD, FID, IS and CLIP over the validation split (eval batch size 4096). SFT has the worst FVD and FID; DPO-AIF stays closest to the pre-trained model (FVD 11.98 vs 10.78), and RWR-AIF is in between (FVD 13.63) tab. 3 app. G.
Table 3: standard video metrics on the SSv2 validation split tab. 3
| Model | FVD ↓ | FID ↓ | IS ↑ | CLIP ↑ |
|---|---|---|---|---|
| PT | 10.78 | 4.27 | 3.58 | 0.2296 |
| SFT | 14.13 | 5.12 | 3.43 | 0.2298 |
| RWR-AIF | 13.63 | 4.96 | 3.47 | 0.2300 |
| DPO-AIF | 11.98 | 4.30 | 3.52 | 0.2299 |
Iterative RL-finetuning (Gemini All) fig. 5
- RWR-AIF: 52.66% → 56.41% → 58.83% (pre-trained, round 1, round 2).
- DPO-AIF: 52.66% → 56.17% → 56.25%.
Open models (Gemini All) fig. 5 app. F: VideoCrafter 4.17%, CogVideoX-2B 10.83%, Wan 2.1-1.3B 10.83%. The paper says these models produce photorealistic but mostly static video.
Correlation with human preference.
- Method-level averages (across algorithm × reward combinations): AI feedback R = 0.746 (p ≤ 0.01); other rewards weak §4.4 fig. 7. The number of combinations is not stated.
- Prompt-level averages (32 × 5 = 160 prompts): AI feedback R = 0.231 (p ≤ 0.01); CLIP 0.011; HPSv2 0.163; PickScore 0.112; optical flow −0.107 tab. 4 app. K.
Feedback accuracy. On pairs of true and generated videos, the VLM prefers the true video 90.3% of the time (pointwise scoring) §3.3.
Paper vs code
No official code.
The paper names no code repository. Its arXiv comments link only a project page (https://sites.google.com/view/aif-dynamic-t2v/), which lists no code. A GitHub repository search for the title, a short text-to-video feedback query, and the same query restricted to google-deepmind returned no results.
Pitfalls
- The reward and the judge are the same model family. AI feedback is Gemini-1.5-Pro, and the headline "Gemini All" number is measured by the same model. The GPT-4o check gives a smaller gain (+2.4 for RWR-AIF) §4.3. Human raters give the strongest signal (+11.8), but the number of raters, their instructions and their agreement are not stated §4.3.
- The VLM prompt contradicts itself. The prompt tells the judge to "Reject even if there are the slightest errors" and also "Do not be too strict in accepting the videos" app. D. Which instruction the model follows changes the label balance and the reward signal. Implement the prompt exactly as written and measure the accept rate.
- Frame sampling and generation settings for the VLM are not stated: how the 8 frames are picked, the sampling temperature, and whether videos were fed as tokens or as frames §3.3 app. D.
- Pair construction for DPO is not described. Binary labels give only accept/reject pairs. The paper says it is "hard to assign correct binary preferences" in later iterations §4.3. Pairing rule, number of pairs and tie handling are unstated.
- Binary AI rewards and the shift gamma. RWR weights each sample's error by its reward. With binary 0/1 labels and gamma = 0, rejected videos get zero weight. A positive gamma gives them nonzero weight. The paper's shaping section applies to metric rewards §3.2, and does not say whether the AI reward used a scale or shift.
- Reward shaping values are chosen by the paper's search. "We report the best results" over the eta and gamma grid §3.2, and the selected value per reward is not listed. The paper does not say which split chose the best value, so the reported test numbers may be optimistic.
- Checkpoint selection. "Report the best results among the last 5 checkpoints" app. A does not say which metric chose the best checkpoint.
- Warm-up. Warm-up of 10,000 steps equals the 10K RL-finetuning steps, and the paper says "other parameters are shared between pre-training and RL-finetuning" app. A. Whether RL-finetuning has any warm-up is unclear.
- Two betas. eq. 3 uses beta as the reward temperature (1/beta multiplies r). DPO's beta = 5000 app. A sits in the sigmoid of eq. 7. The DDPM noise schedule also uses beta_t. These are three different quantities with overlapping names.
- DDPM notation as written. The paper writes the noisy input as sqrt(alpha_t) x_t + sqrt(beta_t) epsilon, with bar-beta_t defined as the product of beta_s §2 eq. 1. This is non-standard. Take the noise schedule and the mixing coefficients from the cited DDPM and LVDM papers, not from this page, and check them against the released model if you can get it.
- Metric signs. The M-step in eq. 5 has a minus sign, and eq. 6 is written as a loss with a positive weight. Implement the loss, not the objective.
- Percentage gains are absolute. "+3.8%" means 3.8 percentage points (52.66% to 56.41%), not a relative gain.
- Small test set. The test split has 8 prompts per category, 40 in total, with 32 videos per prompt. Test-split differences of a few points are within the noise of this design, and rankings flip between splits: RWR-HPSv2 has the best RWR test score (57.50%) while RWR-AIF has 50.94% on test tab. 2.
- Imaging quality drops for every reward. VBench imaging quality is lower than the pre-trained model in every row, including AI feedback (41.16 to 40.72) tab. 2. The text does not discuss this trade-off.
- Over-optimisation. DPO with HPSv2 or PickScore raises the metric while the AI acceptance rate drops §4.4 app. I. Do not optimise a single preference metric without a separate check.
- Compute. Pre-training takes 4–5 days on TPU-v3 app. A. The data generation and VLM labelling cost (15,360 videos per run) is not counted in the paper's compute statement.
- Source version. This card is built from the LaTeX source at arXiv v2. The TMLR template placeholders (month, year, OpenReview id) are still unfilled in the source.
- Figures and tables are not reproduced here. Figure numbers follow the body order in the source. Appendix figures are referenced by appendix letter.
Lineage
- Builds on: reward-weighted regression §3.1 (cited as peters2007reinforcement) and DPO §3.1 (cited as rafailov2023direct); the diffusion form of DPO follows Diffusion-DPO app. A (arXiv:2311.12908).
- Uses the same diffusion setup as: LVDM app. A (arXiv:2211.13221).
- Metric-reward RL for video and images, compared against: VADER §1 (arXiv:2407.08737); the text-to-image RL work of Lee et al. §3.2 (arXiv:2302.12192).
- Superseded by: not known from the content of this wiki.
Source and license
Adapted from “Improving Dynamic Object Interactions in Text-to-Video Generation with AI Feedback” by Hiroki Furuta, Heiga Zen, Dale Schuurmans, Aleksandra Faust, Yutaka Matsuo, Percy Liang, Sherry Yang (arXiv:2412.02617), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.