Paper
Code
github.com/facebookresearch/classifier-balancing
Abstract
다음과 같은 2가지 현상을 발견하였다.
1) data imbalanced learning은 high-quality representation learning 문제가 아닐 수 있다.
2) 가장 단순한 instance-balanced sampling을 통한 representation learning과 더불어 classifier만 adjusting하는 것이 가장 좋은 성능을 보일 수 있다.
Introduction
기존의 방법들은 representation과 classifirer를 따로 분리하지 않고 joint learning을 수행하였다.
그러나 이러한 방법들은 imbalanced learning에 대한 성능 향상이 어디서 오는 것인지 알 수 없다는 단점이 있다.
그래서 본 논문에서는 representation learning과 classifirer learning을 decoupled해서 분석한다.
representation learning을 비교하기 위해 다음과 같이 3가지 방법을 사용하고 비교해본다.
1) instance-based sampling
2) class-balanced sampling
3) mixture of them
classifier learning을 비교하기 위해 다음과 같이 3가지 방법을 사용하고 비교해본다.
1) re-training the parametric linear classifier in class-balancing manner
2) non-parametric nearest class mean classifier: which classifies the data based on their closest class-specific mean representations from the training set
3) normalizing the classifier weights, which adjusts the weight magnitude directly to be more balanced, adding a temperature to modulate the normalization procedure.
Method
- Sampling strategies
Sampling은 아래와 같이 class당 sampling될 확률을 정의함으로서, 수행되어진다.
이때, q는 sampling 전략을 나타내는 변수이며, 1, 0, 1/2 중 하나의 값을 가진다.
1) Instance-balanced sampling
q=1 일때 instance-balanced sampling을 수행하게 된다. class당 가지고 있는 sample의 수에 비례하여
sampling을 수행하게 된다.
2) Class-balanced sampling
q=0 일때, 이며, class당 sampling하는 확률을 모두 동일하게 가져가는 전략이다.
3) Square root sampling
q=1/2이며, sample의 수의 squre root에 비례하여 sampling하는 기법이다.
4) progressively-balanced sampling
본 방법은 Instance-balanced sampling과 Class-balanced sampling을 혼합한 방법이다.
초반 epoch에는 instance-balanced 기반으로 sampling을 진행하다가 일정 epoch이후에는 class-balanced 형태로
변형되는 sampling기법이다. 자세한 수식은 위와 같다.
- Loss re-weighting strategies
focal-loss, LDAM loss가 대표적으로 있다.
Classification for long-tailed recognition
1) Classifier Re-training (cRT)
representation learning 부분을 fixed하고 classifier만 class balanced 형식으로 다시 학습시키는 방법을 말한다.
2) Nearest Class Mean classifier (NCM)
먼저 각 train data의 class의 mean feature representation을 구한 다음, 이후 query vector의 L2 normalized feature를 활용해서 cosine similarity나 Euclidean distance를 이용해서 nearest neighbor search를 수행한다.
3) τ-normalized classifier
-instance-balanced sampling의 경우, weight값이 class sample 수에 비례하는 것을 확인할 수 있다.
(sample수가 많은 class의 경우 더 넓은 boundary를 가지게 되고, 이것이 weight값의 크기로 나타남)
-class-balanced sampline의 경우, class마다 sample수가 동일하기 때문에 weight의 값이 class마다 비슷하게 형성되는 것을 확인할 수 있다. (decision boundary가 유사해짐.)
- τ-normalization은 이 2가지 방법의 중간 정도의 방법이다. instance-balanced sampling의 weight에다가 normalization을 하여 'smoothing'한다.
이때 τ는 0~1 사이에서 결정된다.
- Learnable weight scaling (LWS)
scaling하는 정도는 학습을 통해서 얻는 방법을 의미.
Experiment
-Sampling strategies and decoupled learning
- joint training scheme
classifier와 representation learning이 함께 이루어지는 방식이다. 90 epoch 동안 cross-entropy loss 및 instance-balanced, Class-balanced, Square-root, Progressively-balanced.
- decoupled learning schemes
classifier만 다시 training 한다. cRT , NCM, τ-normalized classifier가 사용된다.
먼저 joint의 경우 더 나은 balanced 방법을 적용할 수록 성능이 향상되는 것을 확인할 수 있다.
(joint 부분만 보면서 세로로 분석하면 됨)
decoupled learning을 하는 경우, non-parametric 방법인 NCM을 적용한 경우라도 오히려 성능이 크게 향상되는 것을 볼 수 있다. parametric한 방법은 더욱 성능이 향상 된다. (가로축으로 성능 변화 살펴보면 됨)
여기서 중요한 발견 중 하나는 representation learning에 있어서 instance smapling이 가장 성능이 높다는 것이다.
이는 data-imbalanced issue는 high-quality representation을 배우는데 상관이 없음을 알려준다.
위 그림은 각 방법에 대한 decision boundary 형성을 그림으로 나타낸 것이다.
τ 가 0 인 경우는 normalization을 전혀하지 않은 경우이고, sample수에 비례해서 decision boundary도 정해지기 때문에 더 많은 sample을 가진 class가 더 넓은 decision boundary를 지님을 알 수 있다. τ가 1인 경우에는 normalization이 적용되기 때문에 좀 더 balanced된 boundary가 형성된다. Cosine 같은 경우 모두 같은 크기의 boundary가 형성된다. 마지막은 각 class마다 mean을 구하고 L2로 nearest neighbor 형태로 classifying을 할때, 나타나는 decision boundary를 나타낸 것이다.
results