Learning to Reweight Examples for Robust Deep Learning

 본 문서에서는 2018년 ICML 학회에 발표된 "Learning to Reweight Examples for Robust Deep Learning" 논문을 소개합니다. 논문에 대한 상세한 정보는 다음과 같습니다.

  • Title: Learning to Reweight Examples for Robust Deep Learning
  • Authors: Mengye Ren, Wenyuan Zeng, Bin Yang, and Raquel Urtasun
  • Conference: International Conference on Machine Learning (ICML) 2018

Learning to Reweight Examples for Robust Deep Learning

딥러닝 기반의 모델들은 데이터를 고차원으로 투영하는 방식으로 복잡한 패턴의 입력에 대해서도 성공적으로 지도 학습이 가능함을 보여왔습니다. 하지만, 학습에 사용된 데이터를 기반으로 고차원으로 투영시키는 파라미터가 학습되기 때문에 생기는 문제가 존재합니다. 
예를 들어, 학습 데이터에 노이즈가 포함되어 있어 평가 데이터와 차이가 존재한다면, 모델이 그 학습 데이터에 과적합되어 평가 데이터에 대한 성능이 떨어지는 현상이 존재할 수 있습니다.

이러한 학습 데이터 노이즈에서 가장 많이 거론되는 것으로는 클래스 불균형, 라벨 노이즈 두 가지가 존재합니다. 
클래스 불균형은 데이터 내에서 클래스 별로 인스턴스 수가 균등히 배분 되어 있지 않고, 유명한 클래스의 인스턴스 수와 잘 보이지 않는 클래스의 인스턴스 수의 차이가 심한 경우입니다. 예를 들면 자동차의 이미지 데이터를 수집할 때, SUV 타입의 자동차는 많이 보이지만, 구급차의 경우 드물게 보이기 때문에 수집을 할 때 SUV 타입의 자동차보다 구급차의 이미지가 극단적으로 적을 수 있습니다. 
라벨 노이즈는 데이터 내에서 잘못 라벨링 된 인스턴스들이 존재할 경우입니다. 데이터를 만들고 난 뒤 검수를 최대한 정확하게 하더라도, 완벽히 라벨링이 된 데이터를 얻기는 불가능에 가깝습니다. 그렇기 때문에 현존하는 데이터들은 대부분 이런 잘못 라벨링 된 인스턴스들이 존재합니다. 

이러한 학습 데이터 노이즈 문제를 해결하기 위해 여러 정규화 방법이 탄생하게 되었는데, 그중 본 논문에서 다룰 분야는 data resampling입니다. data resampling은 모델에 사용할 학습 데이터에서 인스턴스를 선별하기 위한 방법으로, 학습 Loss를 기반으로 각 인스턴스의 가중치를 계산하여 학습하게 됩니다. 

기존의 data resampling 기법들은 다음과 같은 문제점을 가지고 있습니다.
  • Training loss를 기준으로 가중치를 계산하기 때문에 쉽게 과적합 될 수 있습니다.
  • 모든 학습 인스턴스들에 대한 가중치가 필요하기 때문에 새로운 학습 인스턴스에 대해서는 적용할 수 없고 비효율적입니다.

Proposed Method

본 논문에서는 위 기술한 문제점들을 해소하기 위해 새로운 기법인 Meta-reweighting을 제안합니다. 기법이 각 문제점을 해결한 방법은 다음과 같습니다.
  • Training Loss로 인한 과적합 문제: Training loss 대신 Validation loss를 사용하였습니다.
  • 모든 학습 인스턴스들에 대한 가중치 필요: 각 학습 iteration마다 사용되는 배치의 가중치를 실시간으로 계산하고, 가중치를 곱해 업데이트 하였습니다.
그림 1. Meta-reweighting의 업데이트 방식을 표현한 그림

그림 1.은 Meta-reweighting이 가중치를 구하고 구한 가중치를 적용시켜 학습 하는 방식을 그림으로 보여주고 있습니다. Meta-reweighting은 Validation 성능을 최적화할 수 있는 방향으로 배치에 대한 가중치를 구합니다. 자세한 내용은 아래에서 설명하도록 하겠습니다. 

노이즈가 없는 평가 데이터

본 논문의 핵심 가정 중 하나는 노이즈가 없는 평가 데이터입니다. 학습 데이터는 그 수가 매우 많기 때문에 노이즈가 없는 데이터를 얻는 것은 불가능하지만, 평가 데이터의 경우 많은 양의 인스턴스를 필요로 하지 않기 때문에, 노이즈가 없는 평가 데이터를 얻는 것은 충분히 가능합니다. 제안 기법은 이 노이즈가 없는 평가 데이터를 이용하여 학습 데이터를 선별하게 됩니다.

메타러닝 기반 가중치 계산

Meta-reweighting은 배치를 기준으로 가중치를 계산합니다. 예를 들어 배치의 크기를 32로 정했다면, 매 학습 iteration마다 32개의 가중치를 계산합니다. 
배치의 가중치 계산은 매 학습 iteration마다 다음과 같은 순서로 진행됩니다. 
  1. 현재 모델을 복제합니다.
  2. 가중치를 학습 가능한 파라미터로 초기화 시킵니다.
  3. 배치 데이터로 Loss 값을 계산한 뒤, 초기화 시킨 가중치를 각 인스턴스의 Loss에 곱하여 gradient를 구한다.
  4. 3번에서 구한 gradient를 복제한 모델에 적용시킵니다.
  5. 복제한 모델에 평가 데이터를 넣어 평가 데이터에 대한 Loss 값을 구한 뒤, 초기화 한 파라미터에 대한 미분 값을 구합니다.
  6. 미분 값은 가중치 파라미터만큼 존재하며, 이 미분 값을 학습 배치 데이터에 대한 가중치로 사용합니다.
    • 이때, 음수의 가중치는 불안정한 학습을 초래하기 때문에, 양수의 미분 값만을 사용하고 음수의 가중치는 0으로 주어 사용합니다.
  7. 계산한 가중치를 배치 Loss에 곱하여 실제 모델을 업데이트 시킵니다.
배치의 인스턴스 수만큼의 파라미터에 대해 평가 데이터 Loss를 미분했기 때문에, 각 미분 값들은 해당 인스턴스의 평가 데이터에 대한 영향력으로 판단할 수 있습니다. 영향력에 대한 자세한 내용은 논문의 3페이지를 참조하시기 바랍니다.

이러한 방식으로 Meta-reweighting은 기존의 reweighting 알고리즘에 비해 다음과 같은 장점을 가집니다.
  • 모든 학습 인스턴스에 대한 가중치를 계산할 필요가 없습니다. 이로 인해 새로운 학습 인스턴스가 들어오더라도 문제없이 학습이 가능합니다.
  • 가중치를 구하기 위해 사용되는 평가 데이터 셋에는 노이즈가 없기 때문에, 가중치를 더 정확하게 구할 수 있습니다.
  • 또한, 학습 데이터 대신 평가 데이터를 이용해 가중치를 구하기 때문에, 실시간으로 매 학습 iteration마다 계산이 가능합니다.

Experiments

저자들은 제안 기법을 위해 여러 실험을 진행하였지만, 그중 가장 중요한 두 실험을 작성하겠습니다.
  • Class imbalance 데이터에 대한 실험
  • Noisy label 데이터에 대한 실험

우선, Class imbalance 설정에서 제안 기법의 우수성 실험입니다. 사용된 데이터는 MNIST에서 4와 9의 사진 5,000장이며, 9와 4의 사진 비율을 9:1부터 199:1까지 다양하게 비교하였습니다.
비교 대상 알고리즘은 기존의 Class Imblanace를 위한 알고리즘들로, 다음과 같습니다.
  • Proportion: 인스턴스 수의 역수를 취하여 가중치로 사용합니다.
  • Resample: 매 배치마다 4와 9의 인스턴스 수가 같도록 샘플링 합니다.
  • Hard Mining: 9에서 Loss 값이 큰 인스턴스들만 샘플링 합니다.
  • Random: 가중치를 Rectified gaussian distribution에서 무작위로 샘플링 합니다.
그림2. 메이저 Class의 비율에 따른 Test error rate를 나타낸 그림

그림2. 에서와 같이 제안 기법의 경우 Class Imbalance가 극심한 상황에서도 강건함을 보이는 것을 확인할 수 있습니다.

다음 실험은 Noisy label 설정에서 제안 기법의 우수성 실험입니다. 사용된 데이터는 CIFAR-10, CIFAR-100이며 전체의 40%가 되는 인스턴스들의 라벨을 무작위로 변경하여 Noisy label 설정을 만들었습니다. 
비교 대상 알고리즘은 기존의 Noisy label 처리를 위한 알고리즘들로, 다음과 같습니다.
  • REED: 학습할 때, 실제 레이블과 학습 레이블을 같이 사용하는 기법입니다.
  • S-Model: 노이즈 전이 행렬을 모델링 하기 위해 마지막 출력 레이어에 softmax 레이어를 추가하는 기법입니다.
  • Mentor-Net: 모델의 loss 값들을 축적하고, 일련의 loss 값들을 RNN-based meta-learning 모델에 넣어 학습 데이터의 가중치를 계산하는 기법입니다.
  • Random: 가중치를 Rectified gaussian distribution에서 무작위로 샘플링 합니다.
제안 기법은 평가 데이터를 이용하여 가중치를 계산하기 때문에, 평가 데이터가 학습에 간접적으로 참여를 했다고 볼 수 있습니다. 공정한 비교를 위해 비교 대상 알고리즘들 또한 평가 데이터를 이용해 Fine-tuning을 진행하였으며, 진행한 알고리즘의 경우 +FT를 표기하였습니다.
표1. CIFAR-10, CIFAR-100 데이터에 대한 실험 결과

표1.을 보면, 제안 기법의 성능이 다른 기존 기법보다 더 높은 것을 확인 할 수 있습니다.

Conclusion

본 문서에서는 2018년 ICML 학회에 발표된 "Learning to Reweight Examples for Robust Deep Learning" 논문을 소개했습니다. 해당 논문은 노이즈가 없는 평가 데이터를 이용하여 학습 데이터의 가중치를 계산하여 모든 학습 인스턴스에 대한 가중치를 계산할 필요 없이 실시간으로 매 학습 iteration마다 계산이 가능하게 만들었습니다. 이로 인해 Class imblance 혹은 Noisy label 설정에서 동시에 가장 높은 성능을 보여주었으며, 타 기법에 비해 훨씬 더 효과적으로 학습할 수 있게 되었습니다.

실제로 존재하는 대부분의 데이터는 모두 노이즈가 존재하기 때문에, 본 논문에서 소개한 방법론은 모든 딥러닝 모델에 적용시킬 수 있습니다. 다만 모델이 복잡할수록 계산이 어려워진다는 단점이 존재하기 때문에, 단순한 모델을 필요로 하는 Task의 경우 본 논문의 방법을 적용시킨다면 더 높은 성능을 보유할 수 있게 될 것입니다. 또한 이 방법론은 비단 이러한 noisy 한 학습 데이터 세팅이 아니더라도 목적을 평가 데이터 셋이 아닌 다른 데이터 셋으로 바꾸게 된다면 다른 분야에서도 충분히 활용이 가능할 것으로 보입니다. 예를 들어, 여러 도메인이 존재하고 학습의 목적인 도메인의 인스턴스 수가 많지 않을 경우, 다른 도메인에서 학습 목적의 도메인의 성능을 최적화시킬 수 있는 인스턴스에 가중치를 주어 학습 시킬 수 있습니다. 논문에 대한 자세한 정보는 다음 링크에서 확인하실 수 있습니다. (링크)