- [21′ Machine Learning] Density-based weighting for imbalanced regression
- [21′ ICML] Delving into deep imbalanced regression
- [22′ CVPR] Balanced MSE for Imbalanced Visual Regression
- [22′ ICML] RankSim: Ranking Similarity Regularization for Deep Imbalanced Regression
- [24′ CVPR] Deep Imbalanced Regression via Hierarchical Classification Adjustment
1. 들어가며
이번 글에서는 2021년 ICML에 발표된 Delving into deep imbalanced regression 논문의 핵심 내용들을 정리해보겠습니다. 이번 논문은 줄여서 DIR이라고 부르겠습니다.
DIR은 imbalanced regression 문제를 다루고 있습니다. imbalanced regression 문제란, 회귀 예측해야 하는 타겟 분포가 균일하거나 정규분포가 아닌 불균일한 분포를 이루고 있는 문제를 말합니다.
![[21' ICML] Delving into deep imbalanced regression 1 그림1. Imbalance Regression 특성](https://ffighting.net/wp-content/uploads/2025/07/image-10.png)
위 그림은 이러한 imbalanced regression 문제의 데이터셋 분포 예시를 잘 보여주고 있는데요. 위 예시를 통해 class imbalance classification 문제와 imbalanced regression 문제의 중요한 차이를 몇가지 확인할 수 있습니다.
첫 번째 차이는 ‘클래스’ 가 없다는 겁니다. 당연한 얘기지만 classification에서는 클래스를 기준으로 분류할 수 있는 반면 regression 문제에서는 예측해야하는 값이 연속적이기에 예측값의 경계가 모호합니다.
두 번째 차이는 각 예측값관의 상관관계 입니다. classification 문제에서는 클래스별로 분류만 할 뿐 각 클래스별, 예를 들어 강아지와 고양이의 상관관계에 대해 모델링해줄 필요는 없습니다. 하지만 regression에서는 근접값들관에는 특별한 상관관계가 존재합니다. 예를 들어 나이를 예측한다면 31세와 32세 사이에는 아주 유사한 상관관계가, 31세와 61세 사이에는 적은 상관관계가 존재하도록 모델링해주면 유리합니다.
세 번째 차이는 데이터 누락의 존재입니다. classification 문제에서는 보통 특별한 경우를 제외하고는 특정 클래스 데이터 자체가 누락되는 경우는 잘 없습니다. 반면 imbalanced regression 문제에서는 값이 연속하다는 특성상 특정 구간 데이터가 아얘 존재하지 않는 구간도 존재합니다.
이러한 imbalacned regression 문제를 풀기 위해 DIR에서는 크게 두가지 핵심 방법을 제안합니다.
첫 번째는 Label Distribution Smoothing (LDS)로, 인접 정보를 사용하여 label 값을 smoothing 해주는 것입니다.
두 번째는 Feature Distribution Smoothing (FDS)로, 마찬가지로 인접 정보를 사용하여 feature 분포를 smoothing 해주는 것입니다.
아래에서 제안 방법이 구체적으로 무엇이고, 어떠한 효과를 냈는지 자세히 살펴보겠습니다.
2. 관련 연구들
Imbalanced Regression 문제와 관련해서는 크게 Class Imbalance Classification과 Regression으로 나누어 생각해볼 수 있습니다. Class Imbalance Classification 문제는 비교적 활발한 연구가 진행되어 왔는데요. 가장 초창기 접근 방법은 sampling을 변화시키는 방법이었습니다. 소수 클래스 데이터를 인위적으로 늘려서 전체적으로 Imbalance 상황을 완화해주자는 아이디어였죠. 또 다른 방법으로는 loss의 가중치를 변경해주는 방법들이 있었습니다. 대표적으로 Focal Loss는 각 문제별 중요도를 판별하여 중요한 문제에 더 큰 가중치를 반영하는 방법을 사용했습니다.
반면 Imbalanced Regression 연구는 Classification 만큼 활발히 연구되지 않았는데요. 대표적인 원인으로는 classification 처럼 무엇이 빈번하고 적은지 명확히 정의하기 어렵다는 점을 들 수 있습니다. Sampling을 조작하든, loss의 가중치를 변경하든 하기 위해서는 빈도수를 기반으로 빈번한 정도를 정의해야 하는데 regression 문제에서는 이 부분이 애매하기 때문이죠.
그럼에도 classification과 마찬가지로 sampling과 loss 가중치를 조정하는 방법들이 연구되어 왔습니다. 대표적으로 SMOGN은 Sampling 방식을 변경하여 적은 데이터셋을 합성해내는 방법을 제안했습니다. Reweighting은 KDE를 사용하여 빈도를 추정하고, 이 빈도에 따라 Loss 가중치를 변경하는 방법을 제안했습니다.
3. 제안 방법
반면 DIR에서 제안하는 방법은 그동안의 sampling 또는 loss 가중치를 조정하는것과는 조금 결이 다릅니다. 그보다는 Regression 문제의 본질을 해결하려는 방향과 같다고 할 수 있는데요. Classification과 대비되는 Regression의 가장 큰 특징은 주변 데이터와의 상관관계라고 할 수 있습니다. 앞서 언급한 것처럼 나이를 예측하는 문제라면, 어린 사람들끼리, 나이 많은 사람들끼리 얼굴이 비슷한 특성을 갖고 있겠죠. 그리고 이러한 변화는 비교적 연속적으로 일어날겁니다. 이번 논문의 핵심은 이러한 Regression의 특성을 Modeling에 잘 녹여내면 Imbalance 상황도 많이 완화될것이라는 아이디어라고 할 수 있습니다.
3.1 Label Distribution Smoothing (LDS)
이러한 아이디어를 적용하기 위해 먼저 labal smoothing을 적용해줄겁니다. 앞서 언급했듯 imbalanced regression 문제는 target 분포가 불균일하고 심지어 누락되어 있는 구간도 존재합니다. 이러한 상황에서는 학습을 원활하게 진행하기 어렵기 때문에 우선 label 분포부터 균일화해주는 작업이 필요합니다. 이를 위해서는 Kernel Density Estimation (KDE)를 사용해줍니다. KDE를 적용한 LDS 과정은 아래 그림과 같습니다.
![[21' ICML] Delving into deep imbalanced regression 2 그림2. LDS 제안 방법](https://ffighting.net/wp-content/uploads/2025/07/image-11.png)
KDE를 사용하여 LDS를 적용하는 이유는 기본적으로 reweighting 아이디어와 동일합니다. 이렇게 추정한 빈도수를 활용하여 loss의 가중치를 조작해줄 수 있습니다.
3.2 Feature Distribution Smoothing (FDS)
이제 이번 논문의 핵심인 feature 분포 완화 방법을 살펴보겠습니다. 저자들은 아래와 같은 문제 제기를 하고 있습니다.
![[21' ICML] Delving into deep imbalanced regression 3 그림3. feature 분포 비교](https://ffighting.net/wp-content/uploads/2025/07/image-12.png)
위 그림은 입력 얼굴 이미지에 따른 나이를 예측한 모델의 feature간 상관관계 plot입니다. 예를 들어 anchor target을 30세로 잡았다고 해볼게요. 그럼 30세 feature와 각 나이별 feature를 쭉 비교한다고 생각해보면, 30세를 기준으로 양쪽으로 쭉 내려가는게 맞겠죠. 그런데 이렇게 예상한 상황이 데이터가 충분한 구간에서는 맞아 떨어지는데, 데이터가 많이 없는 구간에서는 예상이 틀어지게 됩니다. 위 그림을 보면 빨간색 구간에서는 다시 유사도가 상승하는 모습을 보이고 있어요. 이러한 현상은 무언가 학습이 잘못되었다는것이고, 데이터가 부족해서 발생한 상황으로 볼 수 있습니다. 이러한 현상을 개선하기 위해 feature level에서 target 값에 따라 연속적으로 비슷한 분포를 갖도록 유도해줄겁니다.
먼저 feature extractor로부터 추출된 feature에 kernel smoothing을 적용하여 주변 feature들과 유사한 값으로 만들어줄겁니다. 우선 각 bin별로 mean, covariance를 측정해줍니다.
![[21' ICML] Delving into deep imbalanced regression 4 그림4. mean, covariance 구하기](https://ffighting.net/wp-content/uploads/2025/07/image-13.png)
이렇게 측정된 통계값들은 bin별 데이터 개수에 따라 왜곡이 심할겁니다. 이를 smoothing 하기 위해 KDE로 추정한 density를 사용해 보정해줍니다.
![[21' ICML] Delving into deep imbalanced regression 5 그림5. mean, covariance smoothing](https://ffighting.net/wp-content/uploads/2025/07/image-14.png)
이렇게 보정된 각 bin별 mean, covariance는 이제 주변값들과 비슷한 값을 갖도록 smoothing 된 형태입니다. 이제 이렇게 보정된 mean, covariance로 feature들을 calibration 해줄겁니다.
![[21' ICML] Delving into deep imbalanced regression 6 그림6. feature calibration](https://ffighting.net/wp-content/uploads/2025/07/image-15.png)
위 수식을 보면 feature를 해당 bin의 보정된 mean, covariance로 변환해주는 모습을 볼 수 있습니다. 이러한 과정을 실제 학습 단계에서는 EMA 방식으로 모델이 학습하기 쉽도록 업데이트해줄겁니다. 저자들이 표현하고 있는 FDS의 전체적인 그림은 아래와 같습니다.
![[21' ICML] Delving into deep imbalanced regression 7 그림7. FDS pipeline](https://ffighting.net/wp-content/uploads/2025/07/image-16.png)
4. 실험 결과
이번에는 제안 방법이 얼마나 효과적인지 다양한 실험을 통해 살펴보겠습니다. 살펴볼 벤치마크 데이터셋은 총 5가지입니다.
![[21' ICML] Delving into deep imbalanced regression 8 그림8. 5개 벤치마크](https://ffighting.net/wp-content/uploads/2025/07/image-17-1024x208.png)
먼저 IMDB-WIKI-DIR은 얼굴 이미지로 나이를 예측하는 문제입니다. 위 그림과 같이 long tail 분포를 갖는게 특징입니다.
AgeDB-DIR도 마찬가지로 얼굴 이미지로 나이를 예측하는 문제이고, IMDB보다 데이터 개수가 적다는 차이가 있습니다. 마찬가지로 long tail 분포를 갖고 있습니다.
STS-B-DIR은 문장 쌍 간 유사도를 측정하는 문제입니다. similarity score 분포가 균일하지 않고 imbalance 하다는 특징이 있습니다.
NYUD2-DIR은 실내 RGB 이미지로부터 픽셀별 depth를 예측하는 문제입니다. 마찬가지로 픽셀별 depth 분포가 long tail 분포를 보이고 있습니다.
SHHS-DIR은 수면 데이터를 기반으로 건강 점수를 예측하는 문제입니다. 예측값이 듬성듬성하고 imbalance 하다는 특징이 있습니다.
4-1. 벤치마크별 성능 비교
벤치마크별 성능 비교 실험 결과는 다음과 같습니다.
![[21' ICML] Delving into deep imbalanced regression 9 그림9. IMDB 성능 비교](https://ffighting.net/wp-content/uploads/2025/07/image-18.png)
![[21' ICML] Delving into deep imbalanced regression 10 그림10. STS-B 성능 비교](https://ffighting.net/wp-content/uploads/2025/07/image-20.png)
![[21' ICML] Delving into deep imbalanced regression 11 그림11. NYUD2 성능 비교](https://ffighting.net/wp-content/uploads/2025/07/image-21.png)
![[21' ICML] Delving into deep imbalanced regression 12 그림12. SHHS 성능 비교](https://ffighting.net/wp-content/uploads/2025/07/image-22.png)
기존 방법인 Reweighting은 Few Bin에서는 성능이 개선되지만 Many Bin에서는 성능이 오히려 소폭 하락하는 모습을 보였었는데요. 이번 논문에서 제안하는 LDS+FDS 방법은 모든 Bin에서 골고루 성능이 향상되는 모습을 볼 수 있습니다.
4-2. Extrapolation & Interpolation 효과 분석
또한 이번 제안 방법의 재미있는 특징중 하나는 데이터셋이 없는 구간 또한 KDE를 통해 주변 정보를 사용해서 추정할 수 있다는 점인데요. 이러한 효과를 검증하기 위해 일부러 특정 구간들의 데이터를 없애고 학습한 뒤 성능 측정을 해봤습니다.
![[21' ICML] Delving into deep imbalanced regression 13 그림13. Extrapolation&Interpolation 효과 분석](https://ffighting.net/wp-content/uploads/2025/07/image-23.png)
재미있게도 위 실험 결과를 보면 학습 데이터가 전혀 없는 구간에서의 성능 개선폭이 상당히 큰 모습을 볼 수 있습니다. Vanilla 방식으로 학습하면 데이터가 없는 구간에서는 완전히 모델이 엇나가게 될텐데요, 이 부분을 크게 잡아주는 효과가 있는 것으로 볼 수 있습니다.
4-3. Feature 보정 효과 분석
그렇다면 처음 제기했던 문제, 즉 제안 방법을 사용하면 feature간 인접 데이터끼리 연속적으로 유사해지는 효과가 있을까요?
![[21' ICML] Delving into deep imbalanced regression 14 그림14. Feature 보정 효과 분석](https://ffighting.net/wp-content/uploads/2025/07/image-24-1024x361.png)
위 그림의 a는 vanilla 방식, b는 제안 방식으로 학습한 모델의 feature간 유사도를 측정한 plot입니다. 제안 방법은 확실히 의도한대로 feature 분포가 연속적으로 낮아지는 모습을 볼 수 있습니다.
5. 마치며
이번 글에서는 Imbalanced Regression 문제를 풀기 위한 Label Smoothing과 Feature Smoothing 방법을 살펴봤습니다. 기존 방법들이 sampling과 reweighting을 통해 imbalance 상황을 해결하는것에 초점을 맞춘 반면, 제안 방법은 Regression 문제의 본질을 파고들어 부가적으로 imbalance 상황에서도 좋은 효과를 내는 방법을 보여줬습니다.
6. 참고 자료
![[21' ICML] Delving into deep imbalanced regression 15 Aragon Headshot Jongyub Seok 26](https://ffighting.net/wp-content/uploads/2025/10/Aragon-Headshot-Jongyub-Seok-26.jpg)


![[21' Machine Learning] Density-based weighting for imbalanced regression 31 reweighting 아이디어](https://ffighting.net/wp-content/uploads/2025/07/image-1024x483.png)
![[22' CVPR] Balanced MSE for Imbalanced Visual Regression 32 long tail regression에서의 Balanced MSE 효과](https://ffighting.net/wp-content/uploads/2025/07/image-34-1024x754.png)