라벨을 고쳐주는 AI, 그런데 걔가 실수하면 누가 책임지나요? (FasTEN)
라벨은 원래 다 맞는 게 아닙니다
지도학습(supervised learning)은 “정답 라벨이 맞다”는 전제 위에 서 있습니다. 그런데 현실 데이터는 그렇지 않습니다. 크라우드소싱으로 모은 라벨, 자동 크롤링으로 얻은 라벨에는 늘 어느 정도의 오류가 섞여 있습니다. 이런 상황을 다루는 연구 분야가 바로 Learning with Noisy Labels (LNL)입니다.
최근 연구들은 아주 영리한 방법을 씁니다. 소량의 깨끗한 데이터셋을 활용해서, 모델이 학습 도중 “이 라벨은 틀린 것 같다”고 판단되면 그 자리에서 라벨을 스스로 고쳐가며(label correction) 학습을 진행하는 것이죠. 실제로 이 방법은 꽤 좋은 성능을 보여줬습니다.
그런데… AI가 라벨을 잘못 고치면요?
문제는 여기서 시작됩니다. 라벨을 고치는 AI도 결국은 실수를 합니다. 그런데 기존 방법들에는 “이 교정이 틀렸을 수도 있다”는 안전장치가 전혀 없었습니다. 한 번 잘못 고쳐진 라벨은 그대로 다음 학습에 다시 쓰이고, 그 위에 또 다른 교정이 얹히면서 오류가 눈덩이처럼 불어날 수 있습니다. 저희는 이 현상을 라벨 오교정(label miscorrection)이라고 불렀습니다 — 성능 저하가 사실상 피할 수 없는 구조적 리스크였던 셈이죠.
게다가 실용적인 문제도 하나 더 있었습니다. 기존의 메타러닝 기반 교정 방식들은 학습 스텝 하나마다 역전파(backpropagation)를 3번 이상 돌려야 했습니다. 이론적으로는 그럴싸해도, 실제로 큰 데이터셋에 적용하려면 학습 속도 자체가 발목을 잡는 문제였습니다.
FasTEN: 의심할 줄 아는 모델, 그것도 한 번의 역전파로
그래서 저희 팀(당시 HYPERCONNECT AI Lab, ECCV 2022)은 FasTEN (Fast Transition matrix Estimation Network)을 제안했습니다. 핵심 아이디어는 “라벨 전이 행렬(label transition matrix)”을 학습 도중 실시간으로 추정하는 것입니다. 이 행렬은 쉽게 말하면 “정답 라벨이 어떤 확률로 어떤 오답 라벨로 뒤바뀌었는가”를 나타내는 지도입니다.
이 전이 행렬을 분류기(classifier)에 결합하면, 모델은 “방금 고쳐진 라벨”을 무조건 신뢰하지 않고 한 번 의심을 거친 뒤 학습에 반영하게 됩니다. 즉, 교정된 라벨에 대해 회의적인(skeptical) 태도를 갖도록 만들어서 오교정이 그대로 증폭되는 것을 막는 것이죠.
효율성 문제는 투 헤드(two-head) 아키텍처로 풀었습니다. 하나의 백본(backbone) 위에 두 개의 헤드를 얹어서, 단 한 번의 역전파만으로 전이 행렬을 매 이터레이션마다 새로 추정할 수 있게 설계했습니다. 라벨 교정이 진행되면서 노이즈의 분포 자체가 계속 바뀌는데, 전이 행렬도 그 변화를 실시간으로 따라잡을 수 있다는 게 핵심입니다.
결과: 더 빠른데, 더 정확하기까지
실험 결과 FasTEN은 학습 효율성 면에서 기존 방법들을 확실하게 앞섰고, 정확도 측면에서도 대등하거나 더 나은 성능을 보였습니다. 특히 실제 노이즈가 섞인 대규모 산업 데이터셋인 Clothing1M에서는 당시 최고 성능(SOTA)을 달성했습니다. 논문 속 예쁜 합성 노이즈가 아니라, 진짜 지저분한 현실 데이터에서 통했다는 게 이 결과의 의미입니다.
이 연구가 어떤 문제의식에서 출발해서 실제로 어떻게 진행됐는지 궁금하시다면, 연구와 제품 기여를 함께 이어가는 법을 정리한 글에서 더 자세한 뒷이야기를 확인하실 수 있습니다. 논문 원문은 위 카드를 클릭하면 arXiv에서 바로 볼 수 있습니다.