DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION, ICLR 2020
official code
long-tail distribution 이란 위 그림과 같이 class 갯수의 분포가 극명하게 차이나는 데이터셋을 말함. 갯수가 많은 class를 head class, 적은 class를 tail class 라고 하는데, head class 의 갯수는 적고 tail class의 갯수가 많아서 분포 그래프를 그려봤을 때 긴 꼬리가 달린듯 하여 long-tail 이라고 부름.
이런 데이터의 decision boundary는 head class(dominant class)에 편향되게 학습되고, 따라서 tail class에서는 극심한 성능 저하가 일어남.
이전까지는 LTD dataset을 다루기 위해 loss re-weighting, data re-sampling, or transfer learning from head to tail-classes 와 같은 연구가 진행됨.
Data distribution re-balancing (data re-sampling)
balanced data distribution을 얻기 위해 data를 re-sampling하는 방법.
갯수가 적은 class의 data를 늘리는 over sampling, 갯수가 많은 class의 data를 삭제하는 under sampling, 각 class의 갯수에 의거한 class-balanced sampling 방법이 있다.
transfer learning from head to tail-classes
데이터가 풍부한 head class에서 학습한 특징을 tail class로 전이하여 학습하는 방법.
transferring the intra-class variance(class 내 분산 전이), transferring semantic deep features와 같은 방법이 있는데, 이런 방법은 feature transfer를 위한 복잡한 memory module을 설계해야함.
위의 연구들은 모두 데이터의 representation을 추출하는 backbone 학습과 데이터의 decision boundary를 학습하는 classifier를 함께 학습함. (joint learning)
그러나 joint learning은 모델이 data representation을 잘 학습해서 성능이 잘 나오는지, 아니면 classifier가 decision boundary를 잘 조정하여 class imabalance 문제를 해결했기 때문에 성능이 잘 나오는지 확인할 수 없음.
따라서 저자들은 이를 확인하기 위해 joint learning을 (1)representation learning (2)classification 두 가지로 나누어 진행함.
(1) representation learning
다양한 sampling strategies를 사용하여 모델을 학습시킴
(2) classification
representations 학습 이후, classifier를 통해 decision boundary를 조정함. 이때 classifier만 재훈련하는 방법, 재훈련 없이 representation을 사용하여 nearest class mean classifier로 교체하는 방법, classifier 가중치 정규화와 같은 방법을 사용함.
실험의 결과는 다음과 같음.
Sampling strategies
네가지의 sampling strategies를 사용함.
: class j에 속하는 sample이 뽑힐 확률
: 0과 1사이의 값으로, sampling stratgy를 조절하는 인자
Instance-balanced sampling
Class-balanced sampling
Square-root sampling
Progressively-balanced sampling
또한 properly balanced classifier가 latest loss re-weighting approaches보다 좋지는 앉지만 동등한 성능을 낸다는 것을 실험으로 보임
Representation learning에서 사용된 classifier은 로 구성된 linear classifier :
(다른 classifier도 실험함)
이 섹션에서는 다른 sampling strategy를 사용하여 fine tuning을 통해 classifier의 decision boundary를 조정하거나 non-parametric nearest class mean classifiers를 사용하는 방법, 추가적인 학습 없이 classifier weights 을 재조정하는 네가지 방법을 소개함. 그리고 이들은 classifier을 재조정하지 않은 Joint learning scheme과 비교됨.
: class j에 상응하는 classifier weights
: 조정한 weights
: hyper-parameter controlling the “temperature” of the normalization, 0이면 no scaling, 1이면 일반 L2 norm
: L2 norm
논문에서는 validation set을 통해 를 탐색함
Table 6 :classifier 비교 표
setup
SAMPLING STRATEGIES AND DECOUPLED LEARNING
Method에서 소개한 네가지의 sampling stratgy와 네가지 classifier 대체 전략을 사용한 실험 결과. 분석 결과는 다음과 같다.
HOW TO BALANCE YOUR CLASSIFIER?
Fig1 을 다시 보면, Training 과정이나, data imbalance 해소를 위한 추가적인 sampling strategy의 사용을 필요로 하지 않는 NCM과 τ-norm이 cRT와 비슷하거나 더 높은 성능을 보임 (many shot case에서만 큰 성능하락이 있음)
이러한 성능 향상은 decision boundary를 재조정하면서 얻은 이익일 것으로 예상함
위의 그래프를 보면 joint classifier의 weight class 분포에 상응함을 볼 수 있는데, 이는 class 갯수가 많을 수록 classifier가 larger magnitude를 가짐을 의미함.
이는 feature space에서 wider decision boudary를 형성하여 데이터가 많은 class에서는 좋은 성능을, 적은 class에서는 낮은 성능을 냄 (아래 Fig4 참고)
Fig 4: classifier가 decision boundary에 미치는 영향.
: class i,j의 weights
: feature space에서 class i에 속하는 classfication cone(?)
: class i의 feature mean
(1) τ 가 0일때 τ -normalized classifier : 큰 weight을 가질수록 decision boundary도 넓게 형성
(2) τ 가 1일때 τ -normalized classifier : 서로 다른 class에 대한 decision boundary가 조금 더 balanced 하게 형성
(3) NCM with cosine-similarity : decision boundary가 class weight와 independent하게 형성됨
(4) NCM with Euclidean-similarity : decision boundary가 feature space를Voronoi cells로 분할함
따라서 τ -normalized classifiers에서 τ 가 커질수록, many-shot accuracy가 급격히 감소했으며 few-shot accuracy가 급격히 증가함
COMPARISON WITH THE STATE-OF-THE-ART ON LONG-TAILED DATASETS
Deep Long-Tailed Learning: A Survey
복만님 paper review : [딥러닝 논문리뷰] Decoupling Representation and Classifier for Long...