What Must Replay Preserve? Separating Correctable Bias from Class Correspondence
Organizations: Beijing University of Posts and Telecommunications · Beihang University · Beijing University of Technology
Abstract
Class-incremental learning must recognize all classes seen so far without task labels. Logit replay methods such as DER and DER++ mitigate forgetting by matching the model's past predictions on stored examples. Deleting this matching reveals its benefit, but the resulting accuracy cost cannot show whether the stored scores themselves are needed, or whether the cost survives correction of the classifier's bias toward recent classes. We propose a diagnostic framework that treats a cached prediction as temporally heterogeneous supervision: it separates classes known when an example was stored from classes learned afterward, edits each group, and evaluates every model before and after a task-level offset that leaves within-task predictions unchanged. On CIFAR-100 with DER++, suitable fixed constants replace the unrefreshed stored scores of later-learned classes within an equivalence margin of 1 percentage point, and the offset reduces the cost of deleting their matching from 14.9 to 1.8 points. Reassigning the non-gold scores of classes known at storage, which preserves their values and each task's target probability, costs 4.3 points before and 4.0 after the offset, and a parallel cost persists in image distillation. In the tested fixed-head setting, the large cost of deleting later-class matching is thus mostly correctable by this offset, whereas the smaller cost of disrupting class correspondence persists. Code and data are available at anonymous.4open.science/r/replay-preserve-E22B.
Figures & tables
| Policy | Reference on | Selected-block loss |
|---|---|---|
| Full | Cached vector | |
| Record mean | ||
| Fixed anchor | ||
| Delete | None |
Appendix figures & tables32 assets
Supplementary material from the paper’s appendix.
Appendix
| Policy | Reference on | Accuracy (%) |
|---|---|---|
| Full | Cached target vector | 37.62 |
| Record mean (Niso) | Record-specific scalar | 37.30 |
| Generic | Independently calibrated anchor | 37.09 |
| Delete | Matching term removed | 22.46 |
| Dataset ( ) | Contrast | Older tasks | Latest task |
|---|---|---|---|
| CIFAR-100 (12) | Full Delete | ||
| CIFAR-100 (20) | Full Delete | ||
| CIFAR-100 (20) | Full Perm | ||
| Comparison | Endpoint | Mean | 95% interval | Positive/ |
|---|---|---|---|---|
| Full – Niso | J | +0.329 | 12/20 | |
| Full – Niso | +0.236 | 12/20 | ||
| Full – Niso | +0.092 | 10/20 | ||
| Full – Niso | A | -0.009 | 9/20 | |
| Full – Niso | C | +0.246 | 12/20 | |
| Niso – Delete N | J | +14.836 | 20/20 |
| Comparison | Endpoint | Mean | 95% interval | Positive/ |
|---|---|---|---|---|
| Full – Delete N | J | +13.886 | 12/12 | |
| Full – Delete N | +15.750 | 12/12 | ||
| Full – Delete N | -5.116 | 0/12 | ||
| Pooled – Full | J | -0.220 | 3/12 | |
| Pooled – Full | -0.348 | 3/12 | ||
| Pooled – Full | -0.058 | 6/12 |
| Comparison | Endpoint | Mean | 95% interval | Positive/ |
|---|---|---|---|---|
| Pooled – Full | old | -0.249 | 3/12 | |
| Pooled – Full | latest | -0.025 | 7/12 | |
| Self – Shuffle | old | -0.484 | 5/12 | |
| Self – Shuffle | latest | +0.517 | 7/12 | |
| Shuffle – Pooled | old | +0.528 | 9/12 | |
| Shuffle – Pooled | latest | +0.250 | 7/12 |
| Method | Anchor | Acc. | Cost | 90% CI | Family | Holm | Old/new cost | |
|---|---|---|---|---|---|---|---|---|
| DER++ | 8 | 37.7 | later B | .001 | ||||
| DER++ | 8 | 37.5 | initial A | .035 | ||||
| DER++ | 8 | 37.9 | later B | .010 | ||||
| DER++ | 8 | 37.1 | initial A | .189 | ||||
| DER++ | fixed, | 8 | 37.1 | C | .234 | |||
| DER++, remaining 12 | 12 | 37.4 | E | .031 | — |
| Retained terms | CIFAR-100 | TinyImageNet | ||
| Policy | Level | Dispersion | Generic, | Record mean, |
| Neither | – | – | 22.46 | 10.73 |
| Level only | – | 24.78 | 11.67 | |
| Dispersion only | – | 28.98 | 12.06 | |
| Both | 37.09 | 19.45 | ||
| Both Level only | ||||
| Dataset | Endpoint | Interaction | 95% CI |
|---|---|---|---|
| CIFAR-100 | Older | ||
| CIFAR-100 | Latest | ||
| TinyImageNet | Older | ||
| TinyImageNet | Latest |
| Setting | (pp) | (pp) | (nats) | (nats) | |
|---|---|---|---|---|---|
| CIFAR-100, Generic | 20 | ||||
| TinyImageNet, record mean | 8 |
| Comparison | (pp) | (nats) | (nats) |
|---|---|---|---|
| Both doubled level | |||
| Both doubled dispersion |
| Comparison | Endpoint | Mean | 95% interval | Positive/ |
|---|---|---|---|---|
| Full – Perm H | J | +4.714 | 20/20 | |
| Full – Perm H | +4.689 | 20/20 | ||
| Full – Perm H | +12.771 | 20/20 | ||
| Full – Perm H | A | +5.098 | 20/20 | |
| Full – Perm H | C | +5.517 | 20/20 | |
| Full – Iso H* | J | +3.405 | 20/20 |
| Comparison | Endpoint | Mean | 90% CI | 95% CI | Role |
|---|---|---|---|---|---|
| Original – Permute N | J | -0.011 | primary, pp | ||
| Original – Mean N | J | +0.222 | secondary, pp | ||
| Perm. – Orig. N | old | +0.088 | descr. population | ||
| Perm. – Orig. N | latest | -0.683 | descr. population | ||
| Orig. – Perm. N (instr.) | -0.294 | instr. projection | |||
| Orig. – Perm. N (instr.) | +0.013 | instr. projection |
| Reassignment restricted to | Units | Cost | 95% CI | Positive/ |
|---|---|---|---|---|
| Own task block only | first 8 | 8/8 | ||
| Own task block only | remaining 12 | 11/12 | ||
| Other seen task blocks only | first 8 | 8/8 | ||
| Other seen task blocks only | remaining 12 | 12/12 |
| Comparison | (pp) | reduction | reduction | |
|---|---|---|---|---|
| Full minus Delete | ||||
| C100 DER++ | 20 | |||
| C100 DER++, second cohort | 12 | |||
| C100 DER | 12 | |||
| TinyImageNet DER++ | 8 | |||
| Pooled reference minus Delete | ||||
| Setting | Comparison | Before | After | Change [95% CI] | |
|---|---|---|---|---|---|
| C100 DER++ | Full vs Delete | 20 | 15.16 | 15.67 | |
| C100 DER | Full vs Delete | 12 | 23.74 | 15.05 | |
| TinyImageNet DER++ | Full vs Delete | 8 | 8.41 | 6.60 | |
| C100 DER++ | Full vs Perm | 20 | 4.71 | 4.77 | |
| C100 DER | Full vs Perm | 8 | 4.56 | 4.60 | |
| TinyImageNet DER++ | Full vs Perm | 4 | 6.09 | 5.49 |
| Setting | Objective | Contrast | Difference [CI] | |
|---|---|---|---|---|
| CIFAR-100 | DER | Full Delete | 12 | |
| CIFAR-100 | DER | Full Record mean | 12 | † |
| CIFAR-100 | DER | Full Fixed , | 12 | † |
| CIFAR-100 | DER | Full Fixed , | 12 | † |
| CIFAR-100 | DER | Full Fixed , | 12 | † |
| CIFAR-100 | DER | Full Perm | 8 |
| Memory | Full Delete [95% CI] | Pooled Full [90% CI] |
|---|---|---|
| 200 | ||
| 500 | ||
| 2,000 |
| Memory | Comparison | |||
|---|---|---|---|---|
| 200 | Full – Iso H* | |||
| 200 | Iso – Perm H* | |||
| 200 | Full – Perm H | |||
| 500 | Full – Iso H* | |||
| 500 | Iso – Perm H* | |||
| 500 | Full – Perm H |
| Memory | Comparison | ||
|---|---|---|---|
| 200 | Full – Delete N | ||
| 200 | Pooled – Full | ||
| 500 | Full – Delete N | ||
| 500 | Pooled – Full | ||
| 2000 | Full – Delete N | ||
| 2000 | Pooled – Full |
| Memory | Comparison | Older tasks | Latest task |
|---|---|---|---|
| 200 | Full – Delete N | ||
| 200 | Pooled – Full | ||
| 500 | Full – Delete N | ||
| 500 | Pooled – Full | ||
| 2000 | Full – Delete N | ||
| 2000 | Pooled – Full |
| Contrast | Difference | CI | Positive/ |
| Full Flat (primary) | 8/8 | ||
| Full None | 8/8 | ||
| Flat None | 5/8 | ||
| Arm means: Full 49.58, Flat 43.22, None 43.53 (seed SD 0.99, 1.90, 1.86). | |||
| Cohort | Contrast | As trained | After offset | Block | Cond. CE | Spec. | |
|---|---|---|---|---|---|---|---|
| Withheld-image cohort (Fig. 4 a) | Full Delete | 8 | P | ||||
| Full Fixed | 8 | P | |||||
| Full Perm | 8 | P | |||||
| Perm Delete | 8 | ||||||
| Withheld-image cohort, ResNet-32 | Full Delete | 8 | P | ||||
| Full Fixed | 8 | P |
| Contrast | Backbone | One offset | Offset per task | Task oracle |
|---|---|---|---|---|
| Full Perm | ResNet-18 † | |||
| ResNet-32 | ||||
| Reduced ResNet-18 | ||||
| Full Delete | ResNet-18 † | |||
| ResNet-32 | ||||
| Reduced ResNet-18 |
| Cohort | as trained | after offset | Both Neither as trained | Both Neither after offset |
|---|---|---|---|---|
| ResNet-18, | ||||
| ResNet-18, | ||||
| ResNet-18, , fresh (cohort of Fig. 4 b) | ||||
| ResNet-32, | ||||
| ResNet-32, , fresh (cohort of Fig. 4 b) |
| Contrast | As trained | After offset | Block | Cond. CE |
| DER++ ER | ||||
| DER ER | ||||
| ER-ACE ER | ||||
| DER++ DER | ||||
| DER++ ER-ACE | ||||
| Accuracy as trained after offset (%): ER 21.8 36.0, ER-ACE 34.6 36.3, | ||||
| Stage | Student | As trained | After offset | Cond. CE |
|---|---|---|---|---|
| E0 | Mass | |||
| Within | ||||
| Both | ||||
| E1 | Mass | |||
| Within | ||||
| Both |
| Contrast | E0 | E1 | Spec. |
|---|---|---|---|
| W label only | |||
| W Wperm | P | ||
| W Wflat | P | ||
| W Wtmpl | P | ||
| Wperm label only | |||
| Wflat label only |
| E0 mass label only | E0 within | E1 within | E1 within | ||
|---|---|---|---|---|---|
| Partition | raw | after | label only | label only | mass |
| Original (8, P) | |||||
| Split 2 (4) | |||||
| Split 3 (4) | |||||
| Contrast | As trained | One offset | Per-task offsets | scale | Task oracle |
|---|---|---|---|---|---|
| Full Perm (ResNet-18, 16) | |||||
| DER++ ER (32) | |||||
| DER ER (32) | |||||
| ER-ACE ER (32) | |||||
| Interaction , ResNet-18 (8) | |||||
| Interaction , ResNet-32 (8) |