ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Learning with Bounded Instance- and Label-dependent Label Noise
    Contribution 세미나 2024. 4. 26. 07:57

    ICML 2020, 146회 인용

    참고로 그림이 거의 없음..

     

    Introduction

     

    일반적으로 label에 noise가 추가되는 경우는 3가지 case로 나눠 볼 수 있음

    1. random classification noise (RCN)
      constant probability로 label이 변경
    2. class-conditional random label noise (CCN)
      class에 따라 정해진 확률로 label이 변경
    3. Instance and label-dependent noise (ILN)
      class와 instance(이미지)에 따라 label이 변경
      -> 이미지에 target 정보가 적거나, 화질이 안좋은 경우 label이 잘못 설정될 가능성이 큼

    본 논문에서는 ILN을 다룬다.

     

    Problem setup

     

    먼저 2 class 문제라고 가정한다.

    Y = {-1, 1}

    Clean data distribution(D)과 모델 g로 구한 risk (loss와 비슷한 개념)

     

    실제 clean data distribution을 알 수 없으니 주어진 dataset을 통해 구한 risk

     

    Indicator function은 학습하기 어려우니 우리가 알고 있는 loss로 변경
    (최종 prediction 값은 -1~1사이의 값)

     

     

    가정

    각각 class의 noise 비율은 1을 넘지 않음, class에 대한 max noise 비율을 알고 있음

     

    Learning with BILN

    Learning with Distilled Examples

     

    distilled example 정의

     

    모델위에 붙는 *표시는 optimal model을 의미

    즉 distilled example의 label은 clean data distribution으로부터 구한 optimal model의 prediction값으로 정해짐

    D*는 distilled example로 구성된 dataset

     

    해당 data로 학습한 optimal model (f와 g는 사실상 모델을 의미하는 파라미터라고 봐도 무방)

     

    정리하자면 data개수(m)이 많아질수록 data distribution를 통해 구한 loss와 보유하고 있는 dataset으로 구한 loss의 차이가 적어진다.

     

    또한 distilled data로 학습한 모델과 실제 데이터로 학습한 모델이 결국 같아지게 된다.

    즉 여기까지 내용을 정리하면, noisy dataset에서 충분한 숫자의 distilled data를 추출할 수 있다면 이를 통해 구한 모델은
    clean dataset로 학습한 모델과 동일해 진다.

     

    Collecting Distilled Examples out of Noisy Examples Automatically

     

    에타값은 이미지가 주어졌을때 노이즈 데이터로 학습된 모델이 +1 class로 prediction할 확률

    여기서는 class별 max noise확률을 기준으로 distilled example을 선별한다.

     

    ex)
    clean label의 1인데 해당 label이 -1로 noise가 발생할 확률이 높을수록
    noise data로 학습한 모델의 -1이라고 판단한 결과의 prediction threshold를 더 크게 보겠다.

    이런식으로 distilled example를 추출함

     

    Labeling Noisy Examples Actively

     

    약간 당황스러운 파트..

    여기서 labeling은 메뉴얼한 human labeling을 의미

    먼저 앞서 추출한 distilled example를 아래와 같이 표현

     

     

    하지만 이렇게 추출한 distilled example은 기존 dataset distribution과 많이 달라진다.

    이를 어느정도 보정하기 위해 가능 단순한 방법은 남은 noisy label중에서 랜덤하게 샘플링해서

    human labeling을 진행 한다.. (active learning 컨셉)

     

    Covariate Shift Correction by Importance Reweighting

     

    이걸로는 부족해서 importance reweighting 진행

    즉 beta를 구하는게 문제, 다만 우리는 P(X)를 구하기 어려움. 따라서 아래와 같이 optimization 문제로 변형

     

    즉 distilled data와 기존 data의 이미지 정보를 사용하여 beta를 구한다고 볼 수 있음

     

    최종 알고리즘

     

    Collecting Distilled Examples Without Knowledge

     

    만약에 사전에 가정한 max noise확률를 모르는 경우에는 어떻게 할지

     

    KNN 사용하여 근처 데이터들의 prediction 확률을 활용

     

    Experiment result

     

Designed by Tistory.