본문 바로가기

Enginius/Machine Learning

Recent papers regarding robust learning with noisy labels

볼 논문들 리스트

Small Clean Set, Label Perturbation, Random Label, Mixing Training Label


Decoupling "when to update" from "how to update", 2017

Small Clean Set


- 알고리즘 자체는 아주 간단하다. 가지고 있는 배치 데이터 중에서 두 개의 분류기가 '다른' 예측을 하는 경우에만 각각 분류기를 학습시킨다. 근데 '$h_1$'과 '$h_2$'가 애초에 같으면 아예 학습이 안일어나는 것 아닌가? 두 개의 네트워크의 초기화가 아주 중요한 이유일듯 하다. 그리고 한 가지 더 중요한 이슈는 이 두 네트워크 중에서 어떤 것을 '실제로' 사용할지이다. 

At the end of the optimization process, we can simply return one of the trained classifiers. If a small accurately labeled test data is available, we can choose to return the classifier with the better accuracy on the clean test data.



Training Deep Neural Networks on Noisy Labels with Bootstrapping, 2015

Small Clean SetLabel PerturbationMixing Training Label


Propose a generic way to handle noisy and incomplete labeling by augmenting the prediction objective with a notion of consistency.

즉 consistency라는 개념을 도입을 한다. 이 개념은 입력이 비슷할 때 출력이 비슷해야 한다는 가정을 가지고 있는 것이다. 

제안하는 방법은 3.2 Consistency in Multi-Class Prediction via Bootstrapping에 나온다. 

학습의 target은 convex combination of noisy training label and current prediction of the model로 바꾸는 것이 이 논문의 main contribution이다. 

1. Soft bootstrapping: 새로우 타겟을 noisy target과 현재 모델의 출력값 (softmax를 거친)의 convex combination으로 한다. 

2. Hard bootstrapping: 새로운 타겟을 noisy target과 현재 모델의 출력값을 argmax로 onehot을 뽑은 값 사이의 convex combination으로 한다.      

이렇게 새로운 라벨을 구하는 과정이 마치 EM의 E단계랑 비슷하다고 한다. 잘 모르겠다. 



Using Trusted Data to Train Deep Networks on Labels Corrupted by Severe Noise, 2018

Label Perturbation

이 논문은 output label이 어떤 random corruption에 의해서 바뀌었다고 가정을 한다. 즉 '$p(y'|y)$'가 하나 있어서 이걸 모델링 하고 싶은 것이다. 여기서 중요한 부분은 입력 '$x$'에서 noisy한 출력 '$\tilde{y}$'로 가는 매핑을 뉴럴넷이 학습을 할텐데, 이 때 '$p(\tilde{y}|y)$'를 학습을 따로 하는 것이다.

위의 identiy를 사용해서, Gold Loss Correction (GLC)라는 알고리즘을 제안한다. 


Training deep neural-networks using a noise adaptation layer, 2017

Label Perturbation


위의 그림이 제안하는 방법을 잘 설명한다. 결국 y에서 z로 가는 noisy channel을 얼마나 잘 학습하느냐가 관건이 된다. 

True label y에서 noisy label z로 가는 매핑이 입력 x에 dependent한지 안한지에 따라서 simple model과 complex model이 되고, 실제 실험에서는 simple model을 사용하였다. 



이 논문에서는 특이하게도 small clean dataset을 사용하지 않는다! 대신에 summation으로 marginalize해버린다. (!? 아마도..?!?!) 



코드: https://github.com/udibr/noisy_labels



mixup: Beyond Empirical Risk Minimization, 2017

Random LabelMixing Training Label


이 논문은 사실 엄청 간단하다. 

위의 내용이 전부이다. 하하 결국 'Training Deep Neural Networks on Noisy Labels with Bootstrapping' 이 논문과 굉장히 비슷한 짓을 한다고 볼 수 있다. 다른 점이 있다면 입력도 섞고, 출력도 섞고? 

여러가지 실험을 했는데, 여기서는 random label experiment를 했다. 

- CIFAR-10 에 대해서 아래 실험 결과를 얻었다. final은 200epoch 후에 결과이다. 



Learning from Between-class Examples for Deep Sound Recognition, 2017

Random LabelMixing Training Label


 이 논문은 mixup과 거의 같은 논문이다. 


Deep Learning is Robust to Massive Label Noise, 2017



Learning with Rejection, 2016



Certifiable Distributional Robustness with Principled Adversarial Training, 2018



Large Margin Deep Networks for Classification, 2018

:



MentorNet: Regularizing Very Deep Neural Networks on Corrupted Labels, 2017

:


A Closer Look at Memorization in Deep Networks, 2017

:



Understanding deep learning requires rethinking generalization, 2017

:




위의 논문들을 다 읽어봐야 할 것 같다. 그러면 대충 흐름이 보일듯. 


'Enginius > Machine Learning' 카테고리의 다른 글

VAE에 대한 잡설  (2) 2018.08.03
2018년 기존 최신 논문들 (RL 위주)  (1) 2018.04.07
Causalty란 무엇일까?  (0) 2017.12.30
Back-propagation (delta rule)  (0) 2017.12.24
Deconvolution and Checkerboard Artifacts  (0) 2017.12.22