논문 또는 논문 관련 블로그를 본 내용을 정리하는 글을 남기고자 한다.
해당 블로그는 Long Tailed Distribution에 대해 검색하는 도중 정리된 글이 있어 다시 리포스트하여 정리해보았다.
[ICML2022, LG Research AI, LTD Learning]
Long Tailed Distribution(LTD)
"데이터 분포가 치우쳐진 경향을 보이는 데이터 집합"
위 그림과 같이 데이터 분포가 치우쳐진 데이터 집합(분포)를 Long Tailed Distribution(LTD)이라고 표현한다.
LTD는 정말 많은 데이터에서 포착되는 분포라고 할 수 있으며, 경험상 실무 데이터는 이러한 분포를 띄고 있을 가능성 또한 매우 높다고 할 수 있다.
LTD의 문제점은 모델이 각 Class의 Representation을 충분히 학습할 수 있을 정도의 양이 충분하지 않으며 이로 인해 Head Class의 경우 높은 성능을, Tail Class의 경우 낮은 성능을 보이는 것이다.
보통 지배적으로 많은 수의 Head Class Sample로 인해 이에 편향되게 학습이 되며 Tail Class의 성능이 낮아진다.
이를 개선하기 위해 다양한 방법론이 제시되었다.
LTD에서의 Transfer Learning
Head-Class의 정보를 Tail-Class로 전이하여 모델의 성능을 끌어올리는 방법(Head-to-Tail knowledge Transfer-Learning)이다.
Feature Transfer Learning(FTL)은 Tail-Class의 variance가 Head-Class보다 작아 Head쪽으로 Decision Boundary가 편향되는 것을 막기 위해 Head Variance를 반영하여 Tail Class Augmentation을 진행, Head와 Tail의 Variance의 크기를 어느정도 맞추게 된다.
Online Feature Augmentation(OFA)는 Class Activation Map에 기반하여 Class-Specific Feature와 Class-Agnostic Feature를 추출한다. 그 다음, Tail-Class Specific Feature와 Head-Class Agnostic Feature에 기반하여 tail-class sample을 증강한다.
Rare Class Sample Generator(RSG)는 각 Class별 feature center를 추정한 후, Head-Class Sample Feature와 가장 가까운 intra-class feature center간 Feature Displacement에 기반하여 Tail-Class Feature를 보강한다.
(이를 순차적으로 진행하는 것이며, Transfer Learning에 관해서는 한번 더 정리해보도록 하자.)
본문에서는 Decoupled Learning에 대한 설명 또한 존재하지만 중요하지 않기 때문에 생략합니다.
본문에서는 앞서 설명한 LTD 유형의 데이터셋을 가지는 OOD(Out-of-Detection) Task에서의 새로운 방법론을 소개하고 있다.
OOD Sample과 TID(Tail-class In-Distribution)Sample의 예측 정확도에 더욱 집중하는 PASCL을 소개하였다.
SCL 및 기존의 문제점은 Head-Class와는 이미 OOD Sample이 구분이 되었지만, Tail-Class와는 잘 구분이 되지 않다는 점이다.
이는 "OOD Detection와 LTD recognition간의 목적이 상충한다는 점"에서 기인한다고 서술하였다.
OOD Detection은 Rare한 Sample에 대해서 모델이 Under-Confident한 결과를 내도록 하는 것 이며,
LTD recognition은 이와 반대로 Rare한 Sample에 대해서 모델이 높은 Prediction Confident를 낼 수 있도록 하는 문제이다.
따라서 본문에서는 다음과 같은 방법을 제시한다.
같은 Class TID Sample들과 OOD Sample들은 Feature Space상에서 서로 가까워지게 Pull 땡겨!
TID Sample과 OOD Sample사이는 Feature Space상에서 멀어지게 Push 밀어!
(위 내용을 토대로 일반적인 SCL에 대해 추측해보았을 때, 같은 Class들 끼리 서로 pull, 다른 class들끼리는 push하는 기법을 진행함으로써 Class Center와 각 Class boundary를 명확하게 하는 기법 같아 보인다.)
기존 OOD Detection 방법들은 in-Distribution Sample과 OOD Sample을 모두 포함하여 Batch Normalization을 진행한다. 하지만 "OOD vs In-Distribution"간의 비교에는 적절할 수 있으나, In-Distribution내에서의 Classification에 최적화된 방법은 아니다. **따라서 이를 2개의 Branch로 나누어 2번에 걸쳐 학습(2-stage)을 진행하는 것을 제안한다.**
이렇게 학습된 모델을 Inference시, 역시 2번의 branch를 거쳐 학습하게 된다.
Conclusion 및 Discussion은 생략하였습니다. 이 내용은 참조한 본문을 통해 확인해주시길 바랍니다.
완전한 논문을 읽고 정리한 것이 아니라 정리된 블로그(LG AI Research)를 다시 한번 정리하는 글이며, 이에 따라 그대로 따라 작성한 문장이 몇 있다.
본문 자체도 보기 편하게 작성되어있지만, 조금 더 편리한 문장과 방법을 통해 정리를 하려고 하였으며, 본문에는 나와있지 않은 SCL에 대한 부가 설명 또한 첨부하였다.
블로그를 정리하는 것이 큰 의미가 없다고 생각하였으나.. 이렇게 LTD라던지 관련 분야가 아닌 글의 속독을 위해서는 정리된 글이 이렇게나 도움이 될 줄은 몰랐다. 논문 통째로 읽기 위해서는 영어가 필수이기 때문에 나날이 영어의 중요성을 인지하고 있는 요즘이다...
추가적으로 SCL을 추측해서 정리하기는 하였으나, 이에 관한 내용도 한 번 정리해보면 좋을 것 같다. Long-Tail Distribution은 앞서 언급했듯이 실무 데이터에서 정말 잘 나타내는 문제였기 때문에 여러 방법론을 숙지하는 것은 중요하다고 생각한다.
사실 이 논문을 읽으려다가 한 번 정리해보자는 마음으로 작성한 글이며,
과 같은 개념을 다질 수 있었다.
PASCL
SCL
논문정리
LG_AI_RESEARCH
LTD
OOD
데이터_편향
Overfitting