ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Semi-supervised learning - Fix match
    논문리뷰 2020. 8. 2. 23:18

    요즘 Vision 딥러닝에서 핫하게 불어오는 트렌드 중 하나가 Unsupervised learning!

     

    Unsupervised learning 이란 간단히 이야기해서 이미지에대한 label값(정확한 타겟값)이 없는 상태에서 이미지를 학습시키는 모델이다.

    Unsupervised learning에서는 KNN 과 같은 클러스터링이 가장 대표적인데,

    딥러닝에서도 사용된다.

     

    예를들어 Self-supervised learning 같은 것이 있다. (이건 따로 포스팅을 할.. 예정..)

    이런 모델들은 label을 이용해 학습하는 것이 아닌, 이미지를 이해하기 위한 pretext task를 진행하여 모델을 학습한다.

     

    서론이 길었다.

    그렇다면 포스팅의 주제인 Semi-supervised learn이란?

     

    일부 이미지는 label 값이 있지만, 대다수의 이미지에 label값이 없을때, labeled 데이터와 unlabeled데이터를 동시에 사용해서 모델의 성능을 높이는 연구이다.(물론 Vision에 한정된 설명이다)

    Semi supervised lmage classification learning rank

    이번에 한 대회를 나가면서,

    30%의 labeled 된 데이터와 70%의 unlabeled데이터를 이용하여 Image classification 모델을 만들게 되었다.

     

    난 FixMatch를 사용해서 모델을 훈련시켰는데, 

    이유는 정말 간단한 개념과 쉬운 구현 + 좋은 성능을 보인다고 알려져있기 때문이다.

    (사실 개념이 매우 간단해서 이렇게 말이 길었다)

     

    Fixmatch - unlabeled data

    Fix Match는 Labeled 데이터에는 원래 하는 것처럼 categorical_crossentropy loss를 계산한다.

    Unlabeled 데이터에 대해 2개의 Augmentation을 진행

    하나는 Flip 정도의 weak한 augmentation/ 하나는 Color Jitter, Rotation 등을 활용한 Strong Augmentation

    Weak augmented image 의 pseudo-label value(정확하게는 정해진 threshold이상의 label value)와 Strong augmented image prediction value의 cross entropy loss를 계산한다.

    loss function

    ls : labeled data loss / lu : unlabeld data loss

    hyperparmeter 인 λu를 곱해 최종 loss를 구해 학습을 시킨다.

     

    즉, 정말 class 정보를 확실하게 알 수 있는 unlabeled데이터만 학습을 시키는 효과가 있다고 할 수 있다. (Strong augmented 된 사진에서도 어느정도 예측이 가능한 수준의 데이터)

     

    이 간단한 생각의 모델은 매우 뛰어난 성능을 보인다.

    정말 대박인건 CIFAR-10에서 각 class마다 4개의 labeled 데이터만 가지고 학습했을때, error rate이 11.39%! 라벨데이터가 거의 없다시피 할때도 좋은 성능을 보였다.

     

    그 외에도 다른 SOTA인 논문들보다 좋은 성능을 보였다.

     

     

     

     

    다만, 내가 대회에 나가서 사용했을때는 기대보다는 좋은 성능이 나오지 못했는데,

    아마 30%의 labeled이미지 데이터 만으로도 acc 97%~98%의 좋은 성능을 보이는 모델을 만들 수 있었기 때문에

    오히려 독이 된 것 같다. 

    하지만 만약 labeled 데이터가 현저히 적은 상황이었으면, 큰 성능향상을 기대할 수 있지 않았을까..!!

    아이디어도 쉽고, 구현도 쉬워서 다음에도 써먹을 것 같다.

    🐯

Designed by Tistory.