Residual SODAP: Residual Self-Organizing Domain-Adaptive Prompting with Structural Knowledge Preservation for Continual Learning
Organizations: Department of Electrical and Computer Engineering, Sungkyunkwan University, Suwon 16419, Republic of Korea
Abstract
Continual learning (CL) suffers from catastrophic forgetting, which is exacerbated in domain-incremental learning (DIL) where task identifiers are unavailable and storing past data is infeasible. While prompt-based CL (PCL) adapts representations with a frozen backbone, we observe that prompt-only improvements are often insufficient due to suboptimal prompt selection and classifier-level instability under domain shifts. We propose Residual SODAP, which jointly performs prompt-based representation adaptation and classifier-level knowledge preservation. Our framework combines -entmax sparse prompt selection with residual aggregation, data-free distillation with pseudo-feature replay, prompt-usage--based drift detection, and uncertainty-aware multi-loss balancing. Across three DIL benchmarks without task IDs or extra data storage, Residual SODAP achieves state-of-the-art AvgACC/AvgF of 0.850/0.047 (DR), 0.760/0.031 (Skin Cancer), and 0.995/0.003 (CORe50).
Figures & tables
| CL-Type [Ref.] | Method | DR | Skin Cancer | CORe50 | |||
|---|---|---|---|---|---|---|---|
| AvgACC | AvgF | AvgACC | AvgF | AvgACC | AvgF | ||
| PCL [ 14 ] | OS-Prompt | 0.666 0.062 | 0.132 0.003 | 0.682 0.041 | 0.135 0.075 | 0.982 0.004 | 0.012 0.012 |
| PCL [ 14 ] | OS-Prompt++ | 0.769 0.027 | 0.113 0.006 | 0.725 0.032 | 0.063 0.013 | 0.983 0.001 | 0.014 0.002 |
| PCL [ 31 ] | Coda-Prompt | 0.688 0.079 | 0.140 0.044 | 0.713 0.040 | 0.041 0.013 | 0.974 0.041 | 0.056 0.011 |
| PCL [ 42 ] | Dual-prompt | 0.467 0.159 | 0.291 0.065 | 0.637 0.065 | 0.012 0.039 | 0.975 0.002 | 0.036 0.001 |
| Arch-CL [ 47 ] | MoE-Adapters | 0.716 0.141 | 0.080 0.092 | 0.597 0.165 | 0.040 0.016 | 0.949 0.041 | 0.043 0.023 |
| Components | Metric | vs. Full (pp) | ||||||||||
| Method | SODAP | PUDD | Distill | Pseudo | UW | QE | AvgACC | AvgF | AvgACC | AvgF | ||
| Full Model | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0.850 0.001 | 0.047 0.003 | +0.0 | +0.0 |
| (1) Prompting / drift handling | ||||||||||||
| w/o Query Enhancer (QE) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0.808 0.013 | 0.032 0.007 | -4.2 | -1.5 | |
| w/o PUDD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0.841 0.004 | 0.028 0.009 | -0.9 | -1.9 | ||
| w/o Residual SODAP (SODAP) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 0.831 0.004 | 0.027 0.003 | -1.9 | -2.0 | |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Dataset | Normal (0) | NPDR (1) | PDR (2) |
|---|---|---|---|
| APTOS [ 11 ] | 1805 | 1562 | 295 |
| DDR [ 18 ] | 6266 | 5343 | 913 |
| DRD [ 5 ] | 5000 | 8608 | 708 |
| Dataset | Benign | Malignant |
|---|---|---|
| ISIC [ 28 ] | 584 | 584 |
| HAM [ 4 ] | 1113 | 1113 |
| DERM7 [ 12 ] | 252 | 252 |
| Class | Category | Stage 1 | Stage 2 | Stage 3 | Stage 4 | Stage 5 | Stage 6 | Stage 7 | Stage 8 | Stage 9 | Stage 10 | Stage 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Plug adapters | 1,064 | 1,066 | 1,066 | 1,064 | 1,066 | 1,064 | 1,066 | 1,064 | 1,066 | 1,066 | 1,066 |
| 1 | Mobile phones | 1,048 | 1,052 | 1,052 | 1,052 | 1,052 | 1,051 | 1,049 | 1,050 | 1,052 | 1,052 | 1,047 |
| 2 | Scissors | 1,070 | 1,067 | 1,067 | 1,069 | 1,064 | 1,070 | 1,070 | 1,066 | 1,067 | 1,067 | 1,070 |
| 3 | Light bulbs | 1,041 | 1,042 | 1,040 | 1,039 | 1,033 | 1,039 | 1,039 | 1,040 | 1,043 | 1,041 | 1,041 |
| 4 | Cans | 1,039 | 1,038 | 1,040 | 1,041 | 1,041 | 1,038 | 1,040 | 1,040 | 1,039 | 1,039 | 1,038 |
| 5 | Glasses | 1,064 | 1,059 | 1,065 | 1,065 | 1,058 | 1,064 | 1,065 | 1,062 | 1,066 | 1,065 | 1,064 |
| Category | Setting |
|---|---|
| Hardware | |
| GPU | 2 NVIDIA V100 |
| RAM | 256 GB |
| Optimization | |
| Optimizer | AdamW |
| Learning rate | 1e-3 |
| Method | Hyperparameter | Value |
| CODA-Prompt | Pool size ( coda_pool_size ) | 100 |
| Prompt length ( coda_prompt_length ) | 4 | |
| Ortho. reg. ( coda_ortho_mu ) | 0.1 | |
| DualPrompt | Prompt length ( dual_prompt_length ) | 4 |
| Pool size ( dual_pool_size ) | 100 | |
| Top- ( dual_top_k ) | 5 |
Continual Learning
Continual Learning studies how models acquire knowledge from changing data streams while retaining or selectively revising what they learned before.
See all 294 papers