Contribution 세미나

Self-Filtering: A Noise-Aware Sample Selection for Label Noise with Confidence Penalization

PaperGPT 2024. 4. 29. 12:57

ECCV 2022, 25회 인용

 

Introduction

 

기존은 방식은 clean data를 sampling 해보자라는 concept이라면

본 논문에서는 noisy data를 filtering 해보자라는 concept

다른점이라고 하면, 해당 방식은 boundary data를 좀 더 고려를 많이 할 수 있다.

여기서 noisy data를 구별할 수 있는 방법으로, prediction의 history 정보를 활용

단순히 fluctuation을 판단하여 noisy 여부를 구별한다.

통계를 보면 fluctuation이 많이 발생할수록 noisy일 확률이 높다.

 

Proposed method

전체적인 구조

Memory bank에는 epoch당 data의 prediction 결과를 저장 (최근 T epoch 정보)

noise data 구별하는 방식은

 

즉 이전 epoch에서는 label가 일치하는데 현재 epoch에서는 label과 다른 경우 beta = 1 → fluctuation → noise data

beta = 1 인 경우 (noise) FixMatch 적용 (SSL)

beta = 0 인 경우는 CE + CR loss 적용

여기서 CE + CR loss는 stage에 따라 loss가 약간 다름

초기에는 warm-up stage, 이후 main stage로 진행

 

warm-up stage

 

여기서 R은 confident-penalization regularization을 의미

 

즉 prediction 결과가 주어진 label에 너무 치중되지 않도록 유도
(noise label이다 보니까 다른 label이 진짜 label일 수 있다는 가정때문에)

여기서는 j번째 prediction 결과만 비교 (두번째로 큰 prediction 결과)

 

main stage

 

L_CR도 비슷한 역할을 함

다만 warm-up stage과 달리 모든 class에 대한 prediction 결과에 대해서 전부 비교

 

Experiment result

 

SSL 활용하는 방식이 성능이 좋음

 

Noise ratio에 따른 성능 비교

 

R이 clean과 noise를 분리하는데 도움을 줌

 

Memory bank에서 voting 하는것 보단 논문에서 제안한 selection 방식이 성능이 더 좋음