Self-Filtering: A Noise-Aware Sample Selection for Label Noise with Confidence Penalization
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 방식이 성능이 더 좋음