본문 바로가기
Deep Learning

[DL - 논문 리뷰] Subspace Regularizers for Few-shot Class Incremental Learning

by JJuOn 2022. 3. 14.

이번 포스팅에서는 ICLR 2022에서 공개 된, Afra Feyza Akurek의 "Subspace Regularizers for Few-shot Class Incremental Learning"을 읽고 정리해 보도록 하겠습니다.


1. Introduction

 Classification 문제에서 보통은 고정된 데이터셋과 고정된 class label을 가정합니다. 이런 가정은 현실 문제와는 다소 동떨어질 수 있습니다. Classifier는 상황에 따라 새로운 지식을 학습해야할 경우가 존재하고 이전 학습에 사용된 데이터는 사용 불가능 할 수도 있습니다. 이러한 few-shot class-incremental learning (FSCIL) 환경에서는 위의 상황처럼 이전 데이터는 사용 불가능하면서, 새로운 지식에 관한 데이터는 아주 조금 주어집니다.

 

 조금 구체적인 예시로는 아래 그림과 같습니다.

 Base class에서 상대적으로 큰 데이터셋을 뽑아내어 모델을 학습시킵니다. 그 이후로는 novel class의 데이터를 이용하여 모델을 이어서  학습시킵니다. 최종적으로 모델이 수행해야 할 작업은 base class와 novel class의 이미지가 주어졌을 때, catastrophic forgetting 없이 모두 분류하는 것 입니다.

 

 Base class를 잘 분류하도록 하는 것은 매우 간단합니다. Feature extractor \(f_\theta\)와 linear classifier \(\eta\)에 대해 아래 수식을 최대화 하는 방향으로 학습시킵니다.

\[\mathcal{L}(\theta,\eta)=\cfrac{1}{n}\sum_{(x,y)}\log\cfrac{\exp(\eta^T_yf_\theta(x))}{\sum_{y'}\exp{(\eta^T_{y'}f_\theta(x))}}-\alpha(\Vert\eta\Vert^2+\Vert\theta\Vert^2)\]

(본 논문에서는 \(-\alpha(\Vert\eta\Vert^2+\Vert\theta\Vert^2)\)가 아닌 \(+\alpha(\Vert\eta\Vert^2+\Vert\theta\Vert^2)\)로 쓰여져 있었는데, objective를 maximize하는 것이 목표기 때문에 음을 붙이는 것이 맞는 것 같습니다. 혹시나 틀렸다면 댓글로 달아주시면 감사하겠습니다.)

 

 기존의 FSCIL에 관한 연구는 nested optimizers, 복잡한 자료구조 그리고 많은 하이퍼파라미터를 요구하는 등 다소 복잡한 경향을 띠고 있습니다. 본 논문에서는 subspace regularizer를 도입하여 novel class의 \(\eta\)를 base class로 생성된 subspace에 가깝게 위치시키고자 합니다. 이 방법은 매우 간단하면서도 기존의 state-of-the-arts 보다 더 나은 성능을 보여줍니다. Subspace regularization 방법의 간단함 때문에 base class와 novel class의 추가적인 정보도 활용할 수 있는데, 본 논문에서는 base class와 novel class의 sematic label과 description을 이용한 semantic subspace regularization 도입하여 base class의 볼록한 combination에 weight vector를 위치시켜 기존 class와의 semantic similarity를 포착합니다.


2. Problem Formulation

 Learning sessions (다른 논문에서는 보통 tasks 라고 표현) \(T\)에 대하여 각각 dataset \(D^{(0)},D^{(1)},...,D^{(T)}\)가 존재합니다. 모든 \(D^{(t)}\)는 support set \(S^{(t)}\)와 query set \(Q^{(t)}\)을 갖고 있습니다. 본 논문에서는 \(D^{(0)}\)에 나타난 class를 base class라고 칭했습니다. \(D^{(1)}\)과 그 이후의 데이터셋에서 나타난 class는 novel class라고 합니다. FSCIL 문제에서 해결하고자 하는 문제는, 이전 session의 class들은 잘 분류하는 동시에, 새로운 session의 매 class마다 1~5장의 이미지로 구성된 support set으로 모델을 fine tuning하여 query set에서 주어진 이미지를 잘 분류하는 것입니다. 이때, \(D^{(0)}, D^{(1)}\)로만 학습을 시켰다면, single-session FSCIL이라고 합니다.


3. Approach

3.1. Feature Extractor Training

 우선 base class로 다음의 objective function을 최적화 하는 방식으로 모델을 학습시킵니다.

여기서 \(\Vert\eta\Vert^2+\Vert\theta\Vert^2\)은 후에 \(R_{prior}(\eta,\theta)\)로 표현됩니다.

3.2. Fine-tuning

 Base class로 학습이 끝난 \(\hat{\theta}\)에 대해 incremental learning dataset \(D^{(t)}\)가 주어졌을 때 새로운 weight vector \(\eta_{c\in{C^(t)}}\)를 도입하고 아래와 같이 학습시킵니다.

여기서는 \(\eta\)만 학습시킵니다. 위 식에서는 두개의 규제항을 추가했는데, \(R^(t)_{old}\)는 이미 학습 된 parameter를 fine-tuning 과정에서 변경하는 것을 억제합니다.

 \(\eta^{t'}_c\)는 session t'이 끝났을 때의 변수 값입니다. 예를 들어, \(\eta^0_c\)는 fine-tuning 직전의, base class로 학습 된 weight를 의미합니다.

3.3. Method 1: Subspace Regularization

 Multi-task learning에서의 선행 연구에서는 연관된 tasks 간의 parameter를 같은 manifold, 심지어는 같은 subspace에 두는 것 처럼 비슷하게 제한하는 것이 효과적임을 밝혔습니다. 게다가 Schonfeld et al.은 모든 class에 걸쳐 공유된 latent feature space가 class-incremental learning에 효과적임을 밝혔습니다.

 

 적은 수의 novel class에서 학습할 수 있는 feature는 치우쳐져 있을 가능성이 높습니다. 그래서 base class weight vector로 생성 된 subspace를 사용하여 규제하는 것이 class representation으로 하여금 치우쳐진 feature가 아닌 semantic feature에 의존하게 하고, 모든 feature를 같은 subspace에 두게 합니다.

 

 Incremental class parameter \(\eta_c\), base class parameter \(\eta_{j\in{C^(0)}}\)가 주어졌을 때, 아래 식을 통해 우선 subspace target \(m_c\)를 계산합니다.

위 식에서 처럼, \(m_c\)는 \(\eta_c\)를 base class parameter로 생성된 subspace에 정사영시킨 것입니다. 그리고, 이 \(m_c\)와 \(\eta_c\)간의 Euclidean distance를 측정하여 \(R^{(t)}_{new}\)로 합니다.

Subspace regularization

그림으로 표현하면 아래와 같습니다.

3.4. Method 2: Semantic Subspace Regularization

 위의 subspace regularization에서는 base class에 대한 기하학적인 정보를 규제에 사용했습니다. 그러나 이런 방법은 새로운 class에 대한 parameter가 subspace의 어느 곳에 위치해야 하는 지에 대한 정보가 부실합니다. 대부분의 classification 문제에서는 class의 이름은 상당한 정보를 갖고 있습니다. 예를 들자면, white wolf는 글자만 봐도 snorkel보다는 arctic fox에 더 유사할것입니다. 이러한 정보는 class label에 대한 embedding을 이용하여 확인 가능합니다.

 

 이번 절에서는 이전의 subspace regularizer에 사용된 \(P^T_{C^{(0)}}\eta_c\)을 semantic target인 \(l_c\)로 교체합니다.

Semantic subspace regularization

여기서 \(e_c\)는 class c에 대한 semantic embedding이고 \(\tau\)는 hyperparameter입니다. Embedding \(e_c\)는 class name 뿐만 아니라 class에 대한 상세한 설명으로도 구할 수 있습니다. 그림으로 표현하면 아래와 같습니다.

 선행 연구에서는 semantic embedding과 class weight의 space를 직접적으로 mapping하는 방식 또한 효과가 있음을 보였습니다. 본 논문의 접근 방법을 선행 연구와 함께 사용하기 위해 embedding space \(e_j\in{E}\)와 \(\eta_c\)가 포함되어 있는 weight space를 mapping 하는 L을 학습시켰습니다.

Linear mapping

 아래는 linear mapping을 그림으로 표현한 것입니다.


4. Experiments

4.1. Multi-session

 실험을 진행하기 위해 ResNet을 base class \(C^{(0)}\)으로 처음부터 학습시켜 feature extractor와 initial classifier \(\eta_{j\in{C^{(0)}}}\)를 얻었습니다. 그 다음에 support set \(S^{(t)}\)가 주어졌을 때 novel class에 대한 new classifier \(\eta_{c\in(C^{(\leq{t})})}\)를 얻을 수 있습니다. 마지막으로 classifier를 base와 novel sample에 대해서 top-1 accuracy로 측정합니다. 본 실험에서는 miniImageNet을 데이터셋으로 사용하고, GloVe embedding을 사용했습니다.

위 그래프에서 session 0에서의 결과는 base class에 대한 학습이 끝났을 때의 결과입니다. Tao et al., Chen & Lee, fine-tuning에 비해 subspace reg.는 우수한 성능을 보여고, label에 대한 semantic information이 사용가능할 때, linear mapping과 semantic subspace reg.는 Cheraghian et al.에 비해 모두 우수한 성능을 보였습니다. 

4.2. Single-session

 이번에는 T=1인 single-session에서의 실험이 진행되었습니다. 1-shot 또는 5-shot setting에서 miniImageNet과 tieredImageNet을 사용하여 실험이 진행되었습니다. Embedding은 Sentence-BERT와 GloVe을 사용했습니다.

여기서 \(\Delta\)는 catastrophic forgetting을 나타냅니다. 


5. Analysis and Limitations

 본 논문에서는 첫번째로 regularization이 실제로 하는 일을 분석했습니다. 

위 사진의 첫번째 행은 fine-tuning을 의미한 것인데, session이 진행됨에도 불구하고 기존 base class에 치중한 예측을 하고 있습니다. 그러나 두번째 행에서 subspace regularization을 적용한 결과, 좀 더 고른 예측을 하게 됩니다.

 

 본 논문의 방법은 마지막 모델의 마지막 layer인 classifier에서 발생하는 error에 초점을 둔 것이기에 feature extractor가 존재는 하나 고정되어 있고 FSCIL 문제를 단순한 linear classification으로 보았기에 한계가 존재합니다.


6. Conclusions

 본 논문에서는 multi-task learning과 zero-shot learning분야를 잇는 few-shot class incremental learning에서의 regularization-based 방법을 제안했습니다. 제안된 방법은 매우 간단하기에 이해하고 구현하기에 쉽습니다. 본 논문의 방법은 전형적인 classification architecture을 두배로 challenging한 few-shot incremental image classification에서 state-of-the-art를 달성하도록 확장할 수 있었습니다.


References

[1] https://arxiv.org/abs/2110.07059

댓글