BISECT: Bilevel Spectral Decomposition for Low-Rank Continual Learning
Organizations: University of California, Irvine · University of Washington
Abstract
Exemplar-free continual learning on pre-trained Vision Transformers increasingly relies on Low-Rank Adaptation (LoRA), yet prevailing methods govern the low-rank update space through strict subspace isolation. By projecting each incoming task into the approximate null space of historical token activations, isolation-based learners equate any cross-task feature overlap with catastrophic interference. We show that this orthogonality premise induces a structural bottleneck we term spectral starvation: when down-projection bases are locked before task optimization, the gradient norm reaching the trainable up-projection is upper-bounded by the energy of current-task features captured by the chosen basis. Because natural visual tasks share low- and mid-level covariance structure, historical null tails contain barely of incoming task variance, starving new-class plasticity while blocking positive consolidation along shared directions. We propose BISECT (Bilevel Spectral Decomposition), a continual LoRA framework that partitions a fixed rank- budget into two orthogonal functional blocks: an invariant carrier spanned by the dominant modes of the joint historical-and-current Gram matrix, and a novelty complement extracted via generalized Rayleigh whitening followed by orthogonal complement projection. After single-task training, BISECT folds both blocks back into the frozen backbone using a closed-form precision gate that scales each rank-1 invariant atom by its current-to-joint Rayleigh ratio while preserving novelty atoms at unit gain. Across eight incremental settings on ImageNet-R, ImageNet-A, CIFAR-100, CUB-200, and DomainNet, BISECT outperforms prompt, adapter, and LoRA baselines with zero extra inference parameters or FLOPs, and remains complementary to sparse analytic expansion.
Figures & tables
| Method | Venue | 10S-ImageNet-R | 10S-ImageNet-A | 10S-CIFAR-100 | 10S-CUB-200 | ||||
|---|---|---|---|---|---|---|---|---|---|
| L2P [ 41 ] | CVPR’22 | 72.28 | 77.31 | 44.12 | 51.30 | 84.10 | 88.24 | 67.08 | 79.58 |
| DualPrompt [ 40 ] | ECCV’22 | 69.15 | 74.32 | 53.14 | 64.52 | 86.88 | 91.09 | 68.52 | 80.64 |
| CODA-Prompt [ 30 ] | CVPR’23 | 73.26 | 78.42 | 52.15 | 63.88 | 83.29 | 87.76 | 77.18 | 81.86 |
| EASE [ 46 ] | CVPR’24 | 76.18 | 81.74 | 55.38 | 65.12 | 87.84 | 92.18 | 76.85 | 84.92 |
| InfLoRA [ 21 ] | CVPR’24 | 74.68 | 80.62 | 49.35 | 60.86 | 86.72 | 91.68 | 70.88 | 81.42 |
| Method | Venue | 5S-ImageNet-R | 20S-ImageNet-R | 20S-ImageNet-A | 10S-DomainNet | ||||
|---|---|---|---|---|---|---|---|---|---|
| L2P [ 41 ] | CVPR’22 | 70.88 | 78.39 | 69.58 | 75.22 | 40.54 | 49.68 | 81.12 | 87.38 |
| DualPrompt [ 40 ] | ECCV’22 | 73.10 | 79.52 | 66.68 | 72.51 | 42.34 | 53.44 | 81.66 | 87.76 |
| CODA-Prompt [ 30 ] | CVPR’23 | 74.86 | 79.21 | 69.92 | 75.30 | 44.58 | 54.82 | 80.09 | 86.31 |
| EASE [ 46 ] | CVPR’24 | 78.64 | 83.12 | 73.84 | 79.46 | 48.26 | 58.54 | 82.18 | 87.92 |
| InfLoRA [ 21 ] | CVPR’24 | 77.58 | 82.06 | 71.14 | 77.34 | 46.95 | 57.21 | 81.42 | 87.51 |
| Variant | Adapt. | 10S-IN-R | 10S-IN-A | 20S-IN-R | 20S-IN-A | |||
|---|---|---|---|---|---|---|---|---|
| 1. Seq-LoRA | – | – | – | – | 71.88 | 52.96 | 68.04 | 44.92 |
| 2. Invariant only | ✓ | – | – | – | 79.14 | 59.64 | 76.92 | 51.84 |
| 3. Novelty only | – | ✓ | – | – | 79.32 | 60.02 | 76.16 | 51.60 |
| 4. Bilevel (fixed ) | ✓ | ✓ | – | – | 81.36 | 61.78 | 79.02 | 54.18 |
| 5. + Precision gate | ✓ | ✓ | ✓ | – | 81.84 | 62.46 | 79.31 | 55.54 |
| 6. BISECT (Full) | ✓ | ✓ | ✓ | ✓ | 82.18 | 62.84 | 79.48 | 56.12 |
| Benchmark | Subspace Constructor | |||
|---|---|---|---|---|
| 10S-IN-R | Random Orthogonal | 68.34 | 79.12 | |
| Adam-NSCL [ 37 ] | 74.58 | 82.34 | ||
| InfLoRA [ 21 ] | 75.08 | 82.52 | ||
| Unwhitened Task PCA | 76.84 | 83.68 | ||
| BISECT ( ) | 79.32 | 85.38 | ||
| 10S-IN-A | Random Orthogonal | 53.56 | 64.41 |
| Method | Gram Mem. | Train | Setup | Extra Test | Test | |
|---|---|---|---|---|---|---|
| (MB) | GFLOPs | (s/task) | Params (M) | GFLOPs | (%) | |
| InfLoRA [ 21 ] | 11.3 | 17.67 | 51.8 | 0.00 | 17.60 | 71.14 |
| SD-LoRA [ 44 ] | 14.1 | 20.51 | 15.2 | 0.00 | 17.60 | 75.18 |
| VPT-NSP [ 23 ] | 28.4 | 17.72 | 55.8 | 0.09 | 17.72 | 76.08 |
| CPG [ 8 ] | 28.4 | 17.72 | 51.4 | 1.66 | 17.72 | 75.28 |
| SplitLoRA [ 28 ] | 27.0 | 18.42 | 33.6 | 0.00 | 17.60 | 78.68 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Oversampling | Setup Time (s/task) | Speedup vs. Exact | 10S-IN-R (%) | 10S-IN-A (%) | |
|---|---|---|---|---|---|
| (no oversampling) | 0.138 | 6.2 | 81.48 | 62.04 | |
| 0.054 | 6.9 | 81.91 | 62.48 | ||
| 0.022 | 8.1 | 82.09 | 62.71 | ||
| (BISECT default) | 0.008 | 10.2 | 82.18 | 62.84 | |
| 0.005 | 12.4 | 82.19 | 62.85 | ||
| 0.004 | 14.8 | 82.19 | 62.85 |
| Benchmark Split | Total Classes | Sessions | Classes / Session | Train Images | Base LR | Batch Size / Epochs |
|---|---|---|---|---|---|---|
| 5S-ImageNet-R [ 12 ] | 200 | 5 | 40 | 24,000 | 0.020 | 48 / 20 |
| 10S-ImageNet-R [ 12 ] | 200 | 10 | 20 | 24,000 | 0.020 | 48 / 20 |
| 20S-ImageNet-R [ 12 ] | 200 | 20 | 10 | 24,000 | 0.020 | 48 / 20 |
| 10S-ImageNet-A [ 13 ] | 200 | 10 | 20 | 5,981 | 0.010 | 48 / 20 |
| 20S-ImageNet-A [ 13 ] | 200 | 20 | 10 | 5,981 | 0.010 | 48 / 20 |
| 10S-CIFAR-100 [ 18 ] | 100 | 10 | 10 | 50,000 | 0.010 | 48 / 20 |
| Method | 10S-ImageNet-R | 10S-ImageNet-A | 10S-CIFAR-100 | 10S-CUB-200 | ||||
|---|---|---|---|---|---|---|---|---|
| L2P [ 41 ] | ||||||||
| DualPrompt [ 40 ] | ||||||||
| CODA-Prompt [ 30 ] | ||||||||
| EASE [ 46 ] | ||||||||
| InfLoRA [ 21 ] | ||||||||
| Method | 5S-ImageNet-R | 20S-ImageNet-R | 20S-ImageNet-A | 10S-DomainNet | ||||
|---|---|---|---|---|---|---|---|---|
| L2P [ 41 ] | ||||||||
| DualPrompt [ 40 ] | ||||||||
| CODA-Prompt [ 30 ] | ||||||||
| EASE [ 46 ] | ||||||||
| InfLoRA [ 21 ] | ||||||||
| Benchmark | Method | ( ) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 10S-IN-R | Seq-LoRA | 92.04 | 88.78 | 86.18 | 83.76 | 81.48 | 79.28 | 77.14 | 75.06 | 73.02 | 71.88 |
| InfLoRA [ 21 ] | 89.28 | 86.71 | 84.64 | 82.72 | 80.92 | 79.17 | 77.48 | 75.84 | 74.76 | 74.68 | |
| LoDA [ 11 ] | 93.72 | 91.70 | 90.08 | 88.58 | 87.16 | 85.79 | 84.46 | 83.16 | 81.89 | 81.86 | |
| BISECT (Ours) | 93.96 | 91.95 | 90.34 | 88.83 | 87.39 | 86.01 | 84.68 | 83.38 | 82.18 | 82.18 | |
| 10S-IN-A | InfLoRA [ 21 ] | 76.10 | 71.65 | 68.08 | 64.78 | 61.64 | 58.63 | 55.70 | 52.84 | 49.83 | 49.35 |
| SD-LoRA [ 44 ] | 79.42 | 75.18 | 71.62 | 68.40 | 65.42 | 62.64 | 60.12 | 58.68 | 56.80 | 56.12 |
| Method | 10S-IN-R | 10S-IN-A | 20S-IN-R | 20S-IN-A | Consolidation Rule ( ) | 10S-IN-A | 20S-IN-A |
|---|---|---|---|---|---|---|---|
| Seq-LoRA | 18.74 | 24.92 | 22.58 | 29.24 | Direct Add ( ) | 61.78 | 54.18 |
| InfLoRA [ 21 ] | 9.48 | 16.82 | 11.76 | 19.32 | Uniform Scale ( ) | 61.98 | 54.62 |
| SD-LoRA [ 44 ] | 7.56 | 13.14 | 8.94 | 15.68 | EMA Decay ( ) | 62.22 | 55.08 |
| SplitLoRA [ 28 ] | 6.52 | 9.84 | 7.12 | 11.16 | Diagonal Fisher Weighting | 62.41 | 55.42 |
| LoDA [ 11 ] | 6.38 | 9.24 | 6.88 | 10.52 | Coupled Dense Solve ( ) | 62.86 | 56.15 |
| BISECT | 5.84 | 8.46 | 6.32 | 9.58 | BISECT Closed-Form | 62.84 | 56.12 |
| Rank | 10S-IN-R | 10S-CUB | 10S-IN-A | Damping | 10S-IN-R | 10S-IN-A | Threshold | 10S-IN-R | 10S-CUB | 10S-IN-A |
|---|---|---|---|---|---|---|---|---|---|---|
| 79.96 | 79.68 | 59.62 | 81.92 | 62.51 | 80.24 | 80.15 | 60.32 | |||
| 81.28 | 81.12 | 61.48 | 82.18 | 62.84 | 81.42 | 81.28 | 61.65 | |||
| 82.18 | 82.06 | 62.84 | 82.01 | 62.58 | 82.18 | 82.06 | 62.84 | |||
| 82.31 | 82.15 | 62.96 | 80.56 | 60.88 | 80.72 | 80.84 | 61.04 |
| Configuration | Train GFLOPs | Setup (s/task) | 10S-IN-R | 10S-IN-A | 10S-CUB |
|---|---|---|---|---|---|
| Attach to deeper blocks only ( , QKV) | 17.64 | 3.4 | 78.82 | 58.94 | 78.64 |
| Attach to Query ( ) only ( ) | 17.64 | 10.2 | 80.34 | 60.76 | 80.42 |
| BISECT Default (All blocks , QKV) | 17.71 | 10.2 | 82.18 | 62.84 | 82.06 |
| Attach to QKV + Output Projection ( ) | 17.75 | 13.8 | 82.26 | 62.91 | 82.12 |
| Attach to QKV + MLP ( ) | 18.04 | 24.6 | 82.31 | 62.95 | 82.18 |
| BISECT + Analytic Ridge Head ( ) | 17.71 | 11.9 | 82.94 | 63.98 | 83.12 |