이 논문은 CVPR 2021에 출판된 논문이며, 저자는 Youngkyu Hong*, Seungju Han*, Kwanghee Choi* 등으로 구성되어 있다.
Motivation
기존의 long-tail learning을 평가하는 프로토콜은 다음과 같다. (1) long-tailed source label distribution \( p_s(y) \)의 data에서 모델을 학습하고, (2) uniform target label ditribution \( p_t(y) \) 의 data에서 성능을 평가함으로써 효용성을 검증한다. 하지만 저자들은 이러한 평가 프로토콜이 impractical하다고 주장한다. 그 이유는 \( p_t(y) \)는 uniform distribution, long-tailed distribution 등 다양한 분포를 가질 수 있기 때문이다.
위의 그림에서 (a)를 보면 model의 prediction이 source probability과 연관이 크다는 것을 확인할 수 있다. 따라서 이런 model의 prediction을 그대로 사용하는 것은 문제가 있다. 이러한 문제를 해결하기 위해 이 논문에서는 \( p_s(y) \)과 model의 output을 분리하고 target probability를 예측하는데 shifted target label distribution \( p_t(y) \) 가 반영될 수 있도록 한다.
메소드
○ Preliminaries
$$ p(y|x;\theta) = \frac{e^{f_\theta(x)[y]}}{\sum_ce^{f_\theta(x)[c]}} $$
$$ \mathcal{L}_{CE}(f_\theta(x), y) = -log(p(y|x;\theta)) $$
위의 수식은 우리가 흔히 사용하는 Softmax regression model의 loss인 CE loss이다. 이 loss는 \( p_s(y|x) \)를 예측하며 \( p_s(y) \)와 \(p_t(y) \)가 같을 때 잘 작동한다.
하지만 이 논문에서 다루고자 하는 문제는 label shift problem이다. 즉, \( p_s(x|y) = p_t(x|y) \) 이지만 \( p_s(y) \neq p_t(y) \)인 상황이다.
모델의 예측값 p(y|x)는 위와 같이 \( p_s(y) \)와 굉장히 연관이 깊기 때문에 이러한 문제에서는 모델의 예측을 그대로 사용하기가 어렵다.
○ PC Softmax: Post-Compensated Softmax
이 메소드는 label distribution shift를 다루는 아주 직관적인 메소드이다. Inference 단계에서 단순히 \( p_s(y) \)를 p_t(y)를 바꾸는 post precessing을 함으로써 logit 값을 얻는다.
위와 같이 기존의 softmax probability에 \( \frac{p_t(y)}{p_s(y)} \) 를 곱하여 target distribution에 적합한 logit을 얻는다. 따라서 우리가 test 데이터에 대해 예측을 하는 경우 다음의 식을 통해 logit을 얻고 확률을 계산하는 것이다.
○ LADER: LAbel distribution Disentangling Regularizer
저자들은 inference phase에서 뿐만아니라 training time에서도 임의의 target label distribution에 잘 적응할 수 있도록 하기 위해서 새로운 loss를 제안한다.이는 다음의 두 가지 step을 거쳐 만든다. (1) \( p_s(y|x) \)에서 \( p_s(y) \)를 분리하여 \( \frac{p_s(x|y)}{p_s(y)} \)를 만든다.(2) \( p_s(x)에 내포되어 있는 p_s(y)를 p_u(y)로 대체한다.
이를 수식화하기 위해 Optimal form of the regularized Donsker-Varadhan (DV) representation을 사용한다고 한다.
DV representation은 KL divergence를 approximate하기 위한 수식이라고 한다. 이를 위해 우선 KL divergence를 살펴보자.
KL divergence는 위의 수식으로 나타낼 수 있는데 이는 두 distritbution P와 Q의 유사도를 측정할 수 있는 metric이라고 볼 수 있다.
(P와 Q의 cross-entropy - P의 entropy)와 같이 식을 정리할 수 있으며, P와 Q간의 차이가 클수록 \( D_{KL} \) 값은 커지고 유사할수록 값이 작아진다.
이어서 DV representation을 살펴보자. KL divergence를 직접 구하지 않고 DV representation을 사용하는 것은 우리가 필요로 하는 \( P(x) \), 즉 prior를 알 수 없기 때문이다. 따라서 이를 다른 표현으로 나타내어 문제를 해결하고자 하는 것이다.
새로운 distribution \(G(z)\)를 사용하여 위와 같이 KL divergence를 전개한다. \( D_{KL}(P||G) \)는 값의 범위가 \([0, \infty)\) 이므로 상한을 사용하여 다음과 같이 식을 표현할 수 있다.
임의의 \(G(z)\)에 대해 다음의 식을 넣어 식을 간단히 할 수 있다.
여기서 \(F(z)\)는 model의 output인 logit이라고 볼 수 있고, \(Z\)는 \(e^{F(z)}\)의 기댓값이다. 이를 넣어 정리하면 식은 다음과 같다.
LADER는 이 DV representation form을 활용하여 loss를 만든다.
여기서는 regularized DV representation form을 사용하기 때문에 뒤에 하나 더 term이 있는 것 같다. (넘 어려워서.. 이 부분까지 세밀하게 살펴보지는 못했다 🥲) 아무튼 이런 식으로 DV representation form으로 식이 전개되고, 결국 이 식이 \(\mathbb(P)\)와 \(\mathbb(Q)\)의 유사도를 높이는데 사용될 수 있다는 정도로 이해하면 될 것 같다.
식에서 \(\mathbb{P}\), \(\mathbb{Q}\), \(T\)에 그림과 같이 plug-in을 하면 다음의 식을 얻을 수 있다.
이 때 \(p_u(x|y)\)와 \(p_u(x)\)의 기댓값을 정확하게 계산하는 것은 불가능하므로 single batch를 사용하여 Monte Carlo approximation을 진행한다. (쉽게 말하면 아래의 식과 같이 통계적으로 계산한다는 소리다)
위의 식을 정리하여 다음과 같이 LADER 메소드를 만든다.
부등식에서의 우항을 minimize하는 방향으로 학습을 시킴으로써 \(p_u(x|y)\)와 \(p_u(x)\)가 유사해질수 있도록 학습하고, 따라서 class의 imbalance 문제를 완화할 수 있다. (라고 나는 이해했다 🙃)
그리고 최종 loss는 다음과 같다.
이 loss를 통해 학습을 진행하고 Inference 단계에서는 아래와 같이 target label distribution을 고려한 logit을 만들 수 있도록 한다.
실험
실험은 기본적으로 아래의 두 setting에 대해 진행한다.
- Uniform target label distribution
- Variouly shifted target label distribtutions
데이터셋은 최소 100개의 class를 가지고 있는 벤치마크인 CIFAR100-LT, Places-LT, ImageNet-LT, iNaturalist 2018을 사용한다.
성능은 베이스라인 메소드인 Softmax, Focal loss, OLTR, CB-Focal, LDAM, Two-stage 학습 메소드인 LDAM+DRW, Decouple, 다른 SOTA 메소드인 BBN, Causal Norm, Balanced Softmax와 비교를 진행한다.
평가는 기본적으로 Top-1 accuracy를 통해 진행하며, ImageNet과 Places-LT에 대해서는 class들을 3가지 그룹으로 나누어 성능을 보고한다.
- Many: 100장 이상의 이미지가 있는 class
- Medium: 20장 이상의 이미지가 있는 class
- Few: 20장 미만의 이미지가 있는 class
○ With uniform target label distribution
우선 CIFAR100-LT에 대한 실험이다. LADE는 다른 모든 메소드들을 outperform하고 있으며 PC Softmax는 굉장히 간단한 post-processing 메소드임에도 불구하고 Balanced Softmax를 제외한 모든 메소드에 대해 좋은 성능을 보이고 있다.
Places-LT에 대해서도 LADE가 가장 좋은 성능을 보였으며 PC Softmax도 베이스라인인 Softmax를 월등히 넘어서는 성능을 보여주고 있다.
저자들은 ImageNet-LT에 대해서 LADE를 사용했을 때 90에폭에서 아직 under-fitting된 것을 확인했고, 따라서 90에폭과 180에폭에 대해 성능을 모두 보고 하였다. 두 세팅에서 LADE가 가장 좋은 성능을 보였다.
조금 더 real-world long-tailed dataset인 iNaturalist 2018에서도 LADE가 복잡한 다른 메소드를 제치고 가장 좋은 성능을 보였다. 여기서 PC Softmax 또한 좋은 성능을 보이고 있지만 LADE와의 성능 gap이 다른 데이터셋에서보다 크다. 저자들은 이에 대해 PC Softmax가 비교적 큰 데이터셋에서 효과성이 떨어지는 반면, LADE는 큰 데이터셋에 대해서도 scale이 잘 된다고 해석하였다.
○ Results on variouly shifted test label distributions
여기서 Forward는 training dataset과 동일한 분포, Backward는 training dataset의 분포를 flip한 분포의 test dataset을 사용했음을 의미한다. 공정한 비교를 위하여 다른 메소드들에 대해서도 Post-processing인 PC를 적용한 성능을 함께 보고했다. 모든 세팅에 대해 LADE가 가장 좋은 성능을 보이고 있으며 데이터의 imbalance가 심해질수록 LADE와 PC Softmax 사이의 성능 차이가 커지는 것을 확인할 수 있다.
○ Further analysis
Visualization of the logit values
LADE에서 source label distribution을 분리해내고자 했기 때문에 positive sample(해당 class 내의 sample)에 대해서 model의 logit value는 \(logC\)에 수렴해야 한다.
여기서는 \( p_u(y|x) = 1 \) 이라는 assumption, 즉 굉장히 perfectly seperable한 경우라는 가정이 있다. \( p_u(y) = \frac{1}{C} \)이기 때문에 이상적인 모델의 prediction은 \( logC \)가 된다. Figure3는 LADE 모델이 얼마나 이상적으로 source label distribution을 분리해냈는지를 시각화한 그림이다.
CIFAR100-LT에 대한 실험이기 때문에 이상적인 positive sample의 logit 값은 \( ln100 \approx 4.61 \) 이다. 실험에서 알 수 있듯이 \( \alpha \)를 크게 할수록 이상적인 logit에 가까워짐을 알 수 있다. 여기서 \(\alpha\)는 LADER의 strength를 나타내므로 LADER가 실제로 source label distribution을 disentangle하는데 도움을 준다고 해석할 수 있다.
Confidence calibration
또한 LADER가 logit의 크기를 regularize하기 때문에 모델이 over-confident하는 것을 방지할 수 있다. Figure 4에서 Reliability diagram을 통해 각 메소드가 얼마나 well-calibrated 되었는지를 살펴볼 수 있다. LADE가 실제 모델의 accuracy와 confidence가 유사하기 때문에 비교적 well-calibrated 되어있다고 해석할 수 있다.
결론
- 모델의 예측값에서 source label distribution을 분리해내는 것은 long-tailed visual recognition에서 유용하다.
- PC Softmax는 모델의 예측값을 post-processing하여 target label distribution에 맞추는 방식이다.
- LADE는 직접적으로 학습 단계에서 source label distribution을 분리한다.
- PC Softmax와 LADE는 모두 uniform target distribution을 비롯한 다양한 형태의 target distribution에 대해 SOTA 성능을 보였다.
- 또한 추가적인 실험을 통해 LADE가 confidence calibration에도 효과적임을 보였다.
논문에서 PC Softmax와 LADE에 대한 성능을 모두 report한 것이 새로웠다. 일반적으로는 LADE가 성능이 가장 높으니 이를 우리의 메소드로 정하고 다른 메소드와 성능을 비교하여 보고를 했을 것 같은데, 간단하게 어디에도 적용이 가능한 PC Softmax도 함께 논문에서 제안함으로써 이러한 접근 방식이 얼마나 효과적인지를 직관적으로 전달을 할 수 있었던 것 같다.
아마 PC Softmax가 먼저 제안되고 충분히 성능이 잘 나왔지만 SOTA 성능까지는 아니어서, 이를 발전시키는 과정에서 LADE 메소드가 나왔을 것으로 추측이 된다. LADE는 아주 효과적이지만 상대적으로 직관적이지 않기 때문에 이를 PC Softmax와 함께 설명하여 이해를 도왔다는 점이 글의 관점에서 괜찮았던 것 같다.
완벽하게 수식을 이해하지는 못했지만 그래도 long-tail learning을 공부하면서 어떻게 distribution shift를 다룰 수 있는지를 고민해보는데 도움이 되었다.