https://proceedings.neurips.cc/paper/2021/hash/5caf41d62364d5b41a893adc1a9dd5d4-Abstract.html

 

Lifelong Domain Adaptation via Consolidated Internal Distribution

Requests for name changes in the electronic proceedings will be accepted with no questions asked. However name changes may cause bibliographic tracking issues. Authors are asked to consider this carefully and discuss it with their co-authors prior to reque

proceedings.neurips.cc

 

이 논문은 domain Incremental과 관련된 논문입니다.

 

1. Abstract

 이 논문은 unsupervised domain adaptation에 관한 논문입니다. source domain의 data는 label이 있고, target domain 같은 경우에는 label이 없습니다. 이 논문의 핵심은 Internal distribution을 견고하게 만들어서 여러 domain에서도 잘 작동하도록 하는 것입니다.

 

 

2. 구조

 target domain 같은 경우에는 label이 없기 때문에, label을 임의로 달아줘야 합니다. 이 논문에서는 GMM(Guasian Mixture Model)을 이용합니다.

 

 

X는 input Data, Z는 feature, Y는 label이라고 생각하시면 됩니다. 밑 첨자 p는 pseudo를 뜻합니다.

 

 source domain의 data로 학습을 한 후에, 이를 feature들을 바탕으로 GMM을 업데이트합니다. 여기선 실제 label과 예측 label이 맞는 feature만 이용을 합니다.

 

 target domain에서의 pseudo dataset은 GMM에서 임의로 뽑습니다. GMM은 input data가 아닌 feature를 통해 update를 해주게 됩니다.

그렇기 때문에, pseudo dataset은 (feature, label)로 이루어져 있습니다.

 

앞 부분은 일반적인 lossf function입니다. 여기선 pseudo datsaet에 대한 loss입니다.  h는 classifier입니다.

 

D는 distribution discrepancy를 의미합니다. 이 논문에서는 SWD를 이용합니다. D가 의미하는 바는 실제 target doamin의 feature와 GMM에서 뽑은 feature의 거리를 좁히는 역할을 합니다. 

 

GMM인 pj는 sourde domain을 학습시킬 때와는 달리 pseudo-datset을 이용하여 update 해줍니다.

 

 

 

하지만 위 식은 catastrophic forgetting 문제가 있습니다. 새로운 domain에 관해서는 잘 작동을 하지만, 이전 domain에 대한 정보는 잃어버립니다. 

 

그렇기 때문에 기존 incremental learning처럼 이전의 data들을 memory에 저장을 해두는 방법을 이용해야 합니다. memory에 저장하는 data들을 고르는 방법은 cluster mean과 모든 feature 간의 distance를 계산하여, mean과 가장 거리가 가까운 data들을 memory에 넣습니다.

 

 

최종 수식은 이와 같습니다. b가 붙어있는 것들이 buffer memory에 있는 data입니다. 

 

 

반응형

https://arxiv.org/abs/2103.16788

[DER: Dynamically Expandable Representation for Class Incremental Learning

We address the problem of class incremental learning, which is a core step towards achieving adaptive vision intelligence. In particular, we consider the task setting of incremental learning with limited memory and aim to achieve better stability-plasticit

arxiv.org](https://arxiv.org/abs/2103.16788)

CVPR 2021 논문입니다.

1. Incremental leraning 이란?

기존에는 정해진 class 개수 만큼만 학습을 하고, 새로운 class가 들어오면 처음부터 다시 학습합니다.

Incremental learning은 새로운 class가 들어와도 처음부터 학습하지 않고 이어서 학습을 할 수 있는 방법을 뜻합니다.

cifar100 b0 50step은 하나도 학습하지 않은 상태에서 시작합니다. 50 step 동안 100개의 class를 학습합니다. 그렇기 때문에 step마다 2개의 new class data가 들어옵니다.

old class와 new class를 적절히 memory에 넣고, 이를 이용해서 계속 학습을 하게 됩니다.

2. Main Idea

이 논문의 핵심 아이디어는

1. old class 에 대한 feature는 freeze.(학습 X)

2. new class에 대한 feature를 aug(concat)

입니다.

3. 모델 구조

Feature Extractor는 매 step마다 하나씩 늘어납니다. 그리고 이 feature들을 전부 합친 것을 super feature라고 합니다.

문제는 step이 늘어날 수록 parameter 수도 증가하게 됩니다. parameter를 줄이기 위해서 prunning을 하는데, Mask Layer가 그 역할을 합니다.

Classifier에 대한 loss입니다. Dt는 이전 data 들이 들어있는 memory 입니다. 식을 보시면 간단한 Cross entropy loss라는 것을 확인할 수 있습니다. 여기서는 super feature를 이용합니다.

Auxiliary Classifier는 old class와 new class에 대한 차별성을 학습합니다.

위에서 log 안 쪽 부분을 이 식으로 바꿔주면 됩니다. 앞이랑 달리 new class 에 대한 feature만 이용합니다. 앞의 식은 모든 class(old class 수 + new class 수)에 대한 식이지만, Aux loss 는 new class 개수 + 1 에 대한 식입니다. 여기서 1은 old class인지 판단하는 부분입니다.

 

 

 feature extractor의 추가로 증가된 parameter들을 감소시키는 역할을 하는 것이 mask layer입니다.

fl 은 l번 째 layer의 feature이고, m은 mask입니다. mask의 범위는 sigmoid를 하기 때문에, 0~1 사이입니다.

s는 scaling factor이고, 이 값은 학습을 하면서 조절하게 됩니다. e는 mask parameter입니다. m은 b x c x 1 x 1 이런 꼴로 나와야합니다. channel을 mask하기 때문입니다.

 

s는 이런 식으로 계산합니다. HAT 논문을 보니, smax가 400일 때 성능이 제일 좋았습니다. b는 batch index(1...B)이고 B는 epoch 당 총 batch 수 입니다. s가 무한대에 가까워지면, {0,1} 로 binarized되고, 0이 되면 0.5라는 값이 나옵니다. s를 위의 식으로 계산하는 이유는 학습 처음에는 mask를 하지 않다가 학습을 할 수록 mask를 하게 됩니다. 여기서 의문점은 0~1 범위인데 masking이 잘 될지가 의문이 듭니다(github officail 코드에도 mask 부분은 아직 구현이 안되어있습니다).

 

 

 s값 때문에 sigmoid를 할 시에 gradient가 불안정하다고 합니다. 

그래서 위와 같이 gradient를 계산하게 됩니다. 

 

parameter의 수는 최소화하면서, performance drop도 최소화 하기 위해서 Sparsity Loss를 도입합니다.

 

K는 kernel size입니다. 이는 모든 weight 들 중에서 사용하는 비율을 의미합니다. 

 

 

4. Experiment

 

cifar100 b0 성능입니다. parameter수는 대폭 줄었들었지만, 기존 방법보다 훨씬 좋은 성능이 나오는 것을 알 수 있습니다. 

반응형

+ Recent posts