- 2022년 8월 28일 오후 5:44
- 조회수: 9853
INFORMATION
- 2022년 8월 28일
- 오전 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

이번 세미나는 Noisy Label이 존재하는 상황에서 딥러닝을 효과적으로 활용할 수 있는 방법론에 대해 진행되었다. 정제된 데이터 셋의 경우 올바른 Label이 붙어있지만, 이러한 학습데이터가 만들어지기 위해서는 도메인 전문가의 지식 및 많은 시간적 비용이 소모된다. 이에 따라 웹 검색 등으로 데이터를 비교적 쉽게 얻을 수 있지만 다소 Label이 불안정하다는 단점이 존재한다. 본 세미나에서는 이러한 Noisy Label이 많은 데이터 내에서 어떻게 올바른 Labeled 데이터를 필터링할 지에 대해 소개한다.
크게 4가지 논문을 소개하는데, 컨셉은 하나로 공통적이다. 바로 Loss를 기반으로 Noisy Label 여부를 판단한다는 것이다. 먼저 MentorNet은 특정 Threshold와 데이터 Instance의 Loss를 비교했을 때, 해당 데이터의 Loss가 낮다면 학습에 포함하여 학습한다. 두 번째 논문인 MentorMix는 MentorNet에 Mixup을 추가하였다. Mixup의 가중치에 올바른 Label 여부를 반영하여 Noisy Label의 영향을 줄였고, 데이터 증강도 동시에 가능하게 하여 모델 일반화 성능을 높인 의의를 갖는다. 이때 Noisy data의 선정 여부는 MentorMix와 동일한 방식을 지닌다. 세번째 논문인 Co-teaching은 2개의 모델을 Cross-update하는 특징을 갖는다. 각각 다른 Weight를 지닌 모델에 데이터를 예측 후, Loss값을 기준으로 낮은 데이터만 선별하여 서로 다른 모델의 Input으로 활용한다. 이때 2가지 모델을 활용함으로써 특정 데이터에 과적합되는 현상을 방지할 수 있다. 마지막으로 DivideMix는 Gaussian Mixture와 MixMatch를 활용하여 문제를 해결하였다. 올바른 Labeled 데이터의 Loss 분포와 Noisy Labeled 데이터의 Loss 분포를 Gaussian Mixture로 모델링하여 Threshold를 선정한다. 이를 통해 Noisy Sample 여부를 선별한 후, MixMatch를 통해 Co-guessing 과정을 거친다.
추후 이러한 방법론들은 Semi-supervised Learning으로 확장하여 적절한 Unlabeled data를 필터링하기 위한 방법론으로도 접근할 수 있을 것이라는 생각이 들었다. Semi-supervised Learning에서 Dash라는 방법론이 본 세미나에서 소개한 컨셉과 매우 비슷했는데 이보다 더 향상된 Insight를 얻을 수 있었던 것 같아서 매우 흥미로웠다. 요즘 FixMatch에서 Adaptive Threshold를 어떻게 적용할지에 대해 많은 생각을 하고 있는데, 개인적으로는 Gaussian Mixture를 활용한 Thresholding이 가장 참신한 아이디어로 느껴졌다. 유익한 세미나를 준비해주신 김상훈 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 Deep Learning(DL) 모델 개발에서 Noisy Label 처리에 대한 내용으로 진행되었다. 대부분의 DL모델은 Labeled Data를 필요로 하고 해당 Label을 맞추는 과정을 통해 모델이 학습되게 된다. Labeled Data를 사용하지 않는 Self-supervised Learning과 같은 방법론도 있지만 기본적으로 Labeled Data를 사용하게 되는데 이때 Miss Match된 Labeled Data가 있다면 모델의 일반화 성능을 떨어트리는 이유가 된다. ICLR에서 2017년에 발표 된 Noisy Label이 있을때의 수렴 과정에 대해 소개해주었는데 세미나에서 언급한 것처럼 Noisy Label이 있음에도 불구하고 수렴을 한다는 사실이 굉장히 인상 깊었다. 그리고 Noisy Label Data가 있으면 없을 때 대비 수렴 속도가 느린 것을 언급하였는데 이 사실이 뒤에 소개하는 대부분의 Noisy Label 처리 방법론의 컨셉이 된다. 세미나에서 Noisy Label 처리 방법론으로 MentorNet, MentorMix, Co-teaching, Dividemix 4가지를 소개해주었다. 첫 번째로 MentorNet은 Noisy Label이 있을 경우 수렴 속도가 늦어지고 이는 Loss가 크다는 것을 의미하므로 Training Loss가 큰 데이터에 대해서 학습에 반영하지 않는 방법을 통하여 Noisy Label 데이터를 제거한다. MentorMix는 MentorNet과 Mix-up을 합성한 방법이며 Noisy Label임에도 불구하고 학습에 사용되었던 데이터를 제거 할 수 있으며 전체적으로 학습 데이터를 늘려 나은 일반화 성능을 확보할 수 있다고 한다. 세 번째로 Co-teaching 방법론은 2개의 모델을 만들고 각각의 모델에서 낮은 Loss를 가진 데이터를 서로 다른 모델에서 학습함으로써 1개의 모델을 사용했을 때의 단점을 해결하고(한번 학습에서 제외 시 추후 학습에서도 제외 됨) 특정 데이터에 Overfitting 되는 것을 방지하여 높은 성능을 달성한다고 한다. 마지막으로 Dividemix는 Co-teaching과 같이 2개의 모델을 사용하는데 Gaussian Mixture Model을 만들고 이를 통해 Clean/Noisy Data를 구분하고 Noisy Data의 경우 새로운 Label을 부여하여 학습을 진행하게 됨으로 데이터가 증강 되는 점이 차이점이다. 정제된 데이터가 아니라 실생활 데이터나 실제 현장에서 수집할 수 있는 데이터는 무조건 Noisy Label이 존재할 수 밖에 없을 텐데 이를 처리할 수 있는 다양한 연구에 대해 소개해주어서 흥미롭게 세미나를 청취할 수 있었다. 개인 연구를 진행할 때도 잘못 Labeling된 데이터가 많아서 이를 어떻게 처리 해야 하는지 고민 했었는데 이번 세미나를 통해서 생각 못했던 아이디어를 얻게 되서 많은 도움이 된 것 같다. 유익한 세미나를 준비해주신 김상훈 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

일반적으로 supervised learning에서는 학습 데이터가 모두 정확한 label이 붙어있음을 가정한다. 이런 dataset의 예시가 여러 연구에 사용되는 MNIST, CIFAR-10과 같은 데이터이다. 하지만 label이 모두 정확하게 매겨진 학습용 데이터를 구축하기 위해선 data labeling이란 작업을 거쳐야하는데 이 과정에 많은 비용이 소비된다. 때문에 현실에서 사용되는 데이터(ex 웹 크롤링)는 label이 정제되지 않은 상태로 사용되고 있다.
이렇게 정제되지 않은 noisy label이 학습 데이터에 포함된 경우 모델의 학습 수렴 속도가 느리고, 무엇보다 잘못된 정보(noisy label)에 overfitting 되어 낮은 일반화 성능을 보이는 문제가 있다. 이번 세미나에서는 학습 데이터에 noisy label 데이터가 포함되었을 때, 모델이 noisy label 데이터의 정보를 효과적으로 거르면서 동시에 일반화 성능을 높일 수 있는 방법론들을 소개한다.
MentorNet은 training loss 값에 따라 학습 반영 가중치를 조절하여 사용한다. 특정 threshold 이상의 손실 값을 보여주는 샘플은 학습에서 제외하고 나머지 데이터만 사용하는 방식이다. MentorMix는 MentorNet에 Mix-up 방법론을 결합한 방식이다. MentorMix에선 데이터와 label에 모두 convex combination을 통해 새로운 데이터를 생성하여 학습 데이터를 증강 시킨다. 이때 올바른 라벨 데이터와 noisy label 데이터를 mixup할때는 학습 반영 데이터에 가중치를 더 높게 부여한다. Co-teaching은 초기 값이 다른 두 모델을 학습 시, mini batch에서 상대적으로 loss 값이 작은 데이터들을 일정 비율만큼 선별하고, 선별된 작은 loss 값의 데이터들을 모델 간 교환하며 학습(cross-update)하는 방식이다. 이를 통해 모델이 특정 데이터에 overfitting되는 것을 방지한다. 마지막으로 Dividemix는 Co-teaching에서 발전한 방법이다. 두 개의 네트워크에서 loss 값을 이용해 GMM을 학습시켜 clean data와 noisy data를 구분한다. 이후, 선별된 데이터를 mixup을 통해 증강한후 Co-teaching처럼 서로 다른 네트워크의 업데이트에 이용된다.
처음 상훈이형이 noisy label을 해결하는 문제를 연구하고 있다고 하셨을 때, 이전까진 한 번도 생각해보지 못했던 문제였기에 큰 충격을 느낀 기억이 있다. 개인적으로 현실에서 사용되는 모든 labeled data는 noisy label이 포함되어 있다고 생각한다. 따라서 본 연구는 현업에서도 그 활용도가 매우 높다고 생각한다. 또한 본 세미나를 통해 개인 연구에도 접목해보고 싶은 아이디어를 얻을 수 있었다. 신선한 주제를 소개해준 상훈이형께 감사의 말씀을 드리며 후기를 마무리한다.

딥러닝이 좋은 성능을 내기 위해서는 다량이자 퀄리티 좋은 데이터셋을 필요로 한다. 여기서 퀄리티 좋음에 대한 의미는 데이터 레이블이 올바르게 매칭된 것으로, 이 작업은 오직 사람에 의해서만 수행될 수 있기 때문에 비용이 많이 들게 된다. 현실적으로는 비용 문제로 인해 데이터셋 내 레이블이 올바르게 구축되지 않은 경우도 잦아 성능 높은 딥러닝 확보가 어려울 수 있는데, 본 세미나에서는 이러한 현실적인 조건에서도 우수한 성능을 낼 수 있는 딥러닝 방법론 3개를 소개하였다. 세 개 방법론 모두 직관적이면서도 흥미로운 아이디어를 적용하였기에 흥미롭게 청취할 수 있었다. 3개 방법론 모두 공통적으로 "딥러닝은 올바르게 레이블링 된 데이터를 우선적으로 학습하는 경향이 있다."라는 전제를 바탕하고 있는데, 본인은 이 전제를 발견하기 위해 수많은 실험과 Loss plotting 관찰을 했었던 저자에게 존경의 박수를 보내고 싶은 마음이 들었다. 좋은 논문을 내기 위해서는 창의적인 아이디어를 많이 도출해보는 것도 중요하겠지만, 기존 방법론들의 상황을 꼼꼼하게 관찰하는 것이 더욱 중요하다는 계기를 느낀 세미나였다. 꼼꼼하게 관찰해야 아이디어에 대한 근거를 찾을 수 있다는 생각을 끝으로, 세미나 후기를 마치도록 한다. 상훈이 형 감사합니다!

이번 세미나는 noisy label이 다수 포함된 데이터에서 학습 능력을 향상 시킬 수 있는 방법론에 대해 소개하고 있다.
먼저 MentorNet은 정상 데이터는 작은 loss값을 가지고 noisy label 데이터는 큰 loss를 가진다는 가정에서 출발한다. 특정한 threshold값인 lambda 이하의 loss를 가질 경우에만 샘플을 모델 학습에 반영하고, lambda 이상의 loss를 가지는 샘플은 noisy label 데이터로 판정하여 모델에 반영하지 않는다. CIFAR 데이터의 의도적 조작을 가해 noisy label을 생성한 테스트를 통해 오정보에 의한 성능 저하가 적음을 확인하였다. MentorMix는 MentorNet 방식을 적용 후, mixup 적용할 데이터를 일부 샘플링하여 데이터를 증강하는 방식이다. Mixup을 통해 학습에 반영된 Noisy label 데이터의 영향력을 줄이고, 학습 샘플 수 증강을 통해 모델 일반화 성능 확보하였다. Co-teaching은 2개의 모델을 사용함으로써, 특정 데이터에 overfitting 되는 것을 방지하였으며, Dividemix는 co-teaching과 유사하나 각 네트워크의 Loss값을 이용해 GMM을 fitting 하여 clean/noisy 데이터로 구분하고, 선별된 데이터를 mixup을 통해 증강 후, 서로 다른 네트워크의 업데이트에 이용하는 방식이다.
Noisy label이 다수 포함된 데이터에서는 어떻게 학습을 할 수 있을지 알게 되었다. 다만 본 세미나만 봐서는 해당 논문들에서 noisy set을 임의로 생성하여 테스트한 것으로 보이는데, 실제 산업현장에서는 noisy set도 알 수 없을텐데 어떻게 평가할 수 있을지 논문을 통해 확인해볼 필요가 있을 것 같다. 마지막으로 좋은 방법론을 전달해준 김상훈 연구원께 감사의 인사를 전한다.