๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์ ์ฅํ๊ณ ํ์ตํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ณ ์ด์ฉ๋ฉด ๋นํ์ค์ ์ด๋ค. ํนํ, ๋ฐ์ดํฐ๊ฐ ๋งค์ฐ ํฌ๊ฑฐ๋ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ์๋ ๋์ฑ! ๊ทธ๋์ ๊ณ ์๋ Class-Incremental Learning (CIL)์ ๋ชจ๋ธ์ด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ ์ง์ ์ผ๋ก ์๋ก์ด ํด๋์ค๋ฅผ ํ์ตํ๋ ํ์ต๋ฒ์ด๋ค. ์ ํต์ ์ธ ํ์ต ๋ฐฉ์์์๋ ๋ชจ๋ ํด๋์ค๋ฅผ ํ ๋ฒ์ ํ์ตํ์ง๋ง, CIL์์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง์ ์ผ๋ก ์ ๊ณต๋๋ฉฐ ๋ชจ๋ธ์ด ์๋ก์ด ํด๋์ค๋ฅผ ํ์ตํ ๋ ์ด์ ์ ํ์ตํ ๋ด์ฉ์ ์์ง ์๋๋ก ํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์ด๋ CIL์ด ๋ค๋ฃจ๋ Catastrophic Forgetting ๋ฌธ์ ๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋๋ฐ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ค์ํ ๋ฐฉ๋ฒ ์ค LwF์ PODNet์ ๊ฐ๋จํ ์๊ฐํด ๋ณด๊ฒ ๋ค.
๋์ ๊ตฌํํ ipynb ํ์ผ์ ์๋ Github repo์์ ํ์ธํ ์ ์๋ค.
https://github.com/yoomimi/Class-Incremental-Learning
[CIL ๋ฐฉ๋ฒ๋ก ]
- Regularization : ์ด์ task์์ ํ์ตํ ๋คํธ์ํฌ์ ํ๋ผ๋ฏธํฐ๊ฐ ์ต๋ํ ๋ณํ์ง ์์ผ๋ฉด์ ์๋ก์ด task๋ฅผ ํ์ต
- Distillation : ์ด์ task์์ ํ์ตํ ํ๋ผ๋ฏธํฐ๋ฅผ ์๋ก์ด task๋ฅผ ์ํ ๋คํธ์ํฌ์ distillation
- Distillation + Memory : ์ด์ task์ ๋ฐ์ดํฐ๋ฅผ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ก ๋๊ณ ์๋ก์ด taskํ์ต ๋ ํ์ฉ
- Distillation + Memory + Bias correction : ์๋ก์ด task์ ๋ํ bias๋ฅผ ์ฃผ์ ๋ฌธ์ ๋ก ๋ณด๊ณ , ์ด์ ๋ํ ๊ฐ์ ์ ์ง์ค
- Distillation + Memory + Dynamic structure : task์ ๋ฐ๋ผ ๊ฐ๋ณ์ ์ผ๋ก ์ ์ฉํ ์ ์๋ ๋คํธ์ํฌ ๊ตฌ์กฐ ์ฌ์ฉ
- Distillation + Memory + Generative model : ์ด์ task์ ๋ฐ์ดํฐ๋ฅผ generative model์ ์ฌ์ฉํ์ฌ replay
- Dynamic structure : Pruning / Masking ๋ฑ์ ์ฌ์ฉํ์ฌ task๋ณ๋ก ์ฌ์ฉํ ํ๋ผ๋ฏธํฐ ๋๋ ๋คํธ์ํฌ ๋ฑ์ ์ ํด์ค
1. LWF: Learning Without Forgetting(ECCV 2016) https://arxiv.org/abs/1606.09282
LwF๋ Distillation์ ์ด์ฉํ CIL์ด๋ค.
์ด ๋ ผ๋ฌธ์์๋ ์ธ ๊ฐ์ง ์ฃผ์ ์ ๊ทผ ๋ฐฉ์์ ๋น๊ตํ๋๋ฐ,
- Feature Extraction: ๊ธฐ์กด ๋คํธ์ํฌ์ ๋ง์ง๋ง hidden layer์ activation result ์ฌ์ฉํ์ฌ ํน์ง ์ถ์ถ
- Fine-Tuning: ๊ธฐ์กด ๋คํธ์ํฌ์ parameter๋ฅผ๋ฅผ ์๋ก์ด ์์ ์ ์ํด fine-tuningํ๊ธฐ. (์ผ๋ฐ์ ์ธ fine-tuning ์ ์ฉ)
- Joint Training: ๋ชจ๋ parameter๋ฅผ ์ต์ ํ
LwF๋ ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํผํฉํด ์๋ก์ด task์ class์ ๊ธฐ์กด task์ class๋ก ๋๋ ์ loss๋ฅผ ์ ์ํ๋ค.
์ฐ์ new loss๋ classification์ ๋ง์ด ์ฐ์ด๋ cross entropy loss๋ฅผ ์ผ๋ค. old loss๋ ์์ผ๋ฉด ์๋๋ Distillation loss๋ฅผ ํ์ฉํ๋ค. ( -> Less-forgetting Learning in Deep Neural Networks (LFL)์์ ์ฒ์ ๊ณ ์๋จ.) (y๋ softmax ์ถ๋ ฅ๊ฐ์ด๋ค.)
LFL๊ณผ ๋ญ๊ฐ ๋ค๋ฅด๋? LFL์์๋ ๋ง์ง๋ง Feature์ ๋ํด Distillation Loss๋ฅผ ์ ์ฉํ๋ฐ ๋ฐํด LwF์์๋ Softmax ์ถ๋ ฅ๊ฐ์ ๋ํด Distillation Loss๋ฅผ ์ ์ฉํ๋ค.
2. PODNet: Pooled Outputs Distillation for Small Tasks Incremental Learning(ECCV 2020) https://arxiv.org/abs/2004.13513
PODNet์ Distillation + Memory + Bias correction์ ์ด์ฉํ CIL ๋ฐฉ๋ฒ๋ก ์ด๋ค. POD Distillation loss๋ฅผ ์ ์ํ๊ณ classifier๋ Local Similarity Classifier๋ก ๋ณ๊ฒฝํ๋ค.
1) Pooled Outputs Distillation loss
์ ์๋ค์ width pooling๊ณผ height pooling์ ๋ฌถ์ด POD-spatial์ด๋ผ๊ณ ์ ์ํ๊ณ ์ด๋ ๊ฒ Pooling๋ Feature์ ๋ํ L2 Loss๋ฅผ ์ทจํด POD-spatial loss๋ฅผ ์ค์ ํ๋ค. ์ฌ๊ธฐ์ ์ ๊น ๋ณด๋ pooling ์ข ๋ฅ.
final embedding์๋ POD-flat์ด๋ผ๋ ๋ฐฉ์์ flatten์ ์ ์ฉํ๋ค.
๊ฒฐ๊ตญ ์ต์ข POD Distillation loss๋ ๋ค์๊ณผ ๊ฐ๋ค.
2) Local similarity classifier
๊ธฐ์กด์ UCIR (Unified Class Incremental Learning via Rebalancing)์ ์๋์ ๊ฐ์ logit์ ์ผ๋ค.
์ด๋ theta๊ฐ ํ๋์ class์ ๋ํ ํ๋์ proxy์ธ๋ฐ, ์ ์๋ค์ ๊ฐ๊ฐ์ ํด๋์ค๋ฅผ ํ๋์ ๋ฒกํฐ๊ฐ ์๋, ์ฌ๋ฌ ๋ฒกํฐ๋ค๋ก ํํํ๊ฒ ํ๊ธฐ ์ํ multi proxy๋ฅผ ์ ์ํ๋ค.
์ด๋ ๊ฒ local similarity classifier loss๋ฅผ ๋ง๋ค์๋ค.
3) Final loss
4) Result of PODNet
๊ฐ๋ตํ ๋ณด์๋ฉด cifar100์์ iCaRL, BiC, UCIR๋ณด๋ค PODNet์ด ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์๋ค. ์ธ์๋ ImageNet100/1000์์๋ SOTA๋ฅผ ๋ฌ์ฑํ๋ค.
'Study > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Deep learning] What is 'Style transfer'? (0) | 2024.07.07 |
---|---|
[Deep learning] Accelerating the Super-Resolution Convolutional Neural Network ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ (0) | 2024.07.07 |
[Deep Learning] Attention, Seq2Seq, Transformer (0) | 2024.02.19 |
[Deep Learning] RNN, LSTM, GRU ์ด์ ๋ฆฌโ (+ํ์) (1) | 2024.01.12 |
[AI] What is ResNet? (1) | 2024.01.05 |