Jev-DLC: Decision-Level Continual Learning from Typed Feedback
Organizations: The Hong Kong University of Science and Technology (Guangzhou) · Sun Yat-sen University
Abstract
Individual preferences often become visible only after deployment, when a user accepts one decision or revokes it in favor of another. Jev-style typed interfaces make this feedback explicit by identifying the selected action and, under revocation, the decision it replaces. We study how these consequences persist across requests as Decision-Level Continual Learning from Typed Feedback (Jev-DLC). Jev-DLC treats each correction as both evidence about a recurring action identity and a directed relation between the preferred and rejected choices. It preserves these signals in complementary bounded channels above a frozen scorer and combines their scores to shape the next decision. The method retains no raw interaction history, adds no scorer call, and performs no runtime language-model backward pass. We also introduce TCPA-Bench, a chronological suite that credits a correction only through its effect on later decisions. On TCPA-Repeat, Jev-DLC reaches 44.83% user-macro accuracy overall, 2.43 points above Recent-4 history replay. After at least two earlier feedback events, it reaches 56.07%, a 7.54-point margin over the strongest reported comparison at this depth. These results show how explicit typed corrections can become compact causal state for continual personalization.
Figures & tables
| Method | Full | |||
|---|---|---|---|---|
| Frozen | 39.44 | 41.58 | 36.48 | 40.38 |
| Recent-4 | 42.40 | 46.40 | 37.56 | 42.17 |
| AdaGrad | 41.99 | 48.53 | 39.33 | 41.68 |
| PPlug | 40.37 | 41.77 | 37.86 | 43.38 |
| TAP-PER | 41.99 | 46.48 | 46.45 | 44.25 |
| MRM-style | 40.67 | 42.14 | 47.18 | 51.88 |
| State | Full | |||
|---|---|---|---|---|
| C only | 43.12 | 54.85 | 48.60 | 44.30 |
| R only | 41.50 | 44.20 | 43.85 | 50.45 |
| Jev-DLC | 44.83 | 56.07 | 50.47 | 53.01 |
| Method | State | Retained | Input | Runtime |
|---|---|---|---|---|
| Recent-4 | 0 B | 1,166.5 B raw | +262.8 tok. | Longer fwd. |
| PPlug | 132 B | 0 B | 0 | Projection |
| TAP-PER | 128 B | 1,040 B vec. | 0 | Query |
| MRM | 16 B | 0 B | 0 | 3 low-D steps |
| Jev-DLC | 324 B | 0 B | 0 | Vector update |
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Meaning |
|---|---|
| current context | |
| current candidate slate | |
| immutable hard mask | |
| frozen option logit | |
| frozen candidate representation | |
| shared train-only linear projection |
| Object | Fields | Visibility and role |
|---|---|---|
| Candidate | candidate ID, type ID, text, metadata | visible before prediction |
| Runtime event | user ID, event ID, time, context, slate, track | visible before prediction |
| Prediction | event ID, choice, probability map, confidence, state version | committed before reveal |
| Target | event ID, target candidate/type, time, diagnostic labels | evaluator sidecar only |
| Feedback | event ID, kind, predicted ID, target ID, semantics | revealed after commit |
| State | counts, two correction vectors, reliability, version | persistent per user |
| Split | Users | Events | Slate size |
|---|---|---|---|
| Train | 747 | 5,216 | 15 |
| Development | 90 | 556 | 15 |
| Test | 92 | 711 | 15 |
| Method | Per-user state | Retained history | Extra input | Runtime update | Bytes |
|---|---|---|---|---|---|
| Frozen | none | none | 0 | none | 0 |
| Recent-4 | none | 4 typed interactions | +262.8 tok./event | scorer forward | 1,166.5 mean |
| AdaGrad | state + diagonal accumulator | none | 0 | vector update | 256 |
| PPlug | sum + count | none | 0 | projection | 132 |
| TAP-PER | global state | 8 vector pairs | 0 | memory query | 1,168 |
| MRM | 4 coefficients | none | 0 | 3 low-D steps | 16 |
| Frozen scorer | User-macro accuracy (%) |
|---|---|
| Raw Qwen option logprob | 26.93 |
| JEV-SFT | 39.44 |
| Hosted Jev | 41.22 |
| Prior depth | Users | Events | Frozen | Jev-DLC | Gain | 95% CI |
|---|---|---|---|---|---|---|
| 92 | 711 | 39.44 | 44.83 | +5.39 | ||
| 85 | 619 | 39.21 | 46.67 | +7.46 | ||
| 63 | 534 | 41.58 | 56.07 | +14.49 | ||
| 29 | 434 | 36.48 | 50.47 | +13.99 | ||
| 15 | 339 | 40.38 | 53.01 | +12.63 |
| Prior depth | Events | Gain | 95% CI |
|---|---|---|---|
| 459 | +7.08 | ||
| 444 | +7.57 | ||
| 429 | +7.65 | ||
| 399 | +8.13 | ||
| 339 | +12.20 |
| Method | Full | |||
|---|---|---|---|---|
| Frozen | 39.44 | 41.58 | 36.48 | 40.38 |
| Recent-4 | 42.40 | 46.40 | 37.56 | 42.17 |
| AdaGrad | 41.99 | 48.53 | 39.33 | 41.68 |
| DER++-8 | 41.94 | 48.45 | 39.14 | 41.20 |
| Directional Drift | 41.76 | 43.26 | 38.61 | 44.71 |
| ONS | 40.70 | 42.14 | 37.85 | 42.01 |
| Method | Full | ||||
|---|---|---|---|---|---|
| Frozen | 39.44 | 0.00 | 0.00 | 0.00 | 0.00 |
| Action count prior | 43.74 | +5.69 | +12.76 | +13.23 | +6.08 |
| Recency action prior | 43.87 | +5.86 | +13.01 | +14.07 | +6.05 |
| Jev-DLC | 44.83 | +7.46 | +14.49 | +13.99 | +12.63 |
| Split/ | Acc. | NLL | Extra tok. | Hist. B | Forward ms |
|---|---|---|---|---|---|
| Dev/4 | 48.20 | 1.549 | 241.5 | 1,082.2 | 453.10 |
| Dev/8 | 47.89 | 1.547 | 392.8 | 1,759.7 | 296.75 |
| Test/0 | 38.98 | 1.963 | 0 | 0 | 300.54 |
| Test/4 | 42.40 | 1.791 | 262.8 | 1,166.5 | 449.90 |
| Method | Acc. | Retained | Extra tokens | Backward |
|---|---|---|---|---|
| Frozen | 39.44 | 0 B | 0 | No |
| Jev-DLC | 44.83 | 324 B state | 0 | No |
| Recent-4 | 42.40 | 1,166.5 B history | 262.8/event | No |
| TCPA-Repeat stratum | Frozen | Prefix-fit ref. | Gain |
|---|---|---|---|
| Full stream | 39.44 | 42.56 | +3.11 |
| Length | 43.56 | 49.51 | +5.94 |
| Length | 48.56 | 54.86 | +6.30 |
| Comparison | Difference | 95% CI |
|---|---|---|
| Recent-4 | +2.43 | |
| Archived AdaGrad | +2.84 | |
| PPlug | +4.47 | |
| TAP-PER | +2.84 | |
| MRM | +4.16 |
| Representation | Update | TCPA-Repeat | TCPA-Open |
|---|---|---|---|
| Frozen scorer | none | 39.44 | 28.04 |
| Learned linear | Mean | 40.50 | 28.63 |
| Learned linear | PA-I | 41.95 | 28.70 |
| MLP64 | Mean | 43.05 | 28.69 |
| MLP64 | PA-I | 42.50 | 28.78 |
| Projection with PA-I | Full | |||
|---|---|---|---|---|
| Learned linear | +2.50 | +3.76 | +8.51 | +12.20 |
| MLP64 | +3.06 | +5.04 | +10.08 | +10.85 |
| Track | Past centroid | Matched | Shuffled |
|---|---|---|---|
| TCPA-Repeat | .340 | .285 | -.046 |
| TCPA-Open | -.027 | -.027 | .005 |
| Configuration | Full | |||
|---|---|---|---|---|
| only | 43.12 | 54.85 | 48.60 | 44.30 |
| only | 41.50 | 44.20 | 43.85 | 50.45 |
| , equal weights | 42.65 | 50.70 | 47.90 | 51.20 |
| , dev-fixed weights | 44.15 | 55.42 | 49.85 | 48.15 |
| , adaptive (Jev-DLC) | 44.83 | 56.07 | 50.47 | 53.01 |
| Stratum | Difference | 95% CI |
|---|---|---|
| Full | +0.68 | |
| +0.65 | ||
| +0.62 | ||
| +4.86 |
| Prior depth | Users | Events | Frozen | Jev-DLC | Gain | 95% CI |
|---|---|---|---|---|---|---|
| 4,209 | 9,845 | 28.04 | 29.74 | +1.71 | ||
| 2,348 | 5,636 | 28.01 | 32.76 | +4.75 | ||
| 1,292 | 3,288 | 26.82 | 31.94 | +5.13 | ||
| 408 | 1,278 | 28.39 | 33.83 | +5.44 | ||
| 84 | 290 | 28.37 | 27.78 | -0.59 |
| Regime | Frozen | Fixed fusion | Dynamic fusion |
|---|---|---|---|
| Stable | 25.59 | 23.83 | 24.02 |
| Partial shift | 24.02 | 23.24 | 23.05 |
| Noise | 28.91 | 27.54 | 27.54 |
| Recurrence | 24.80 | 25.00 | 25.20 |
User Preference Modeling
User preference modeling infers what people value from choices, behavior, and feedback to personalize recommendations, predictions, and AI actions.
See all 271 papers