[ICCV Workshop 2021] Reducing Label Effort: Self-Supervised meets Active Learning

오랜만에 X-Review 입니다. 저는 지금 아주 충격적인 논문을 찾게되어 바로 리뷰로 작성할 수 밖에 없네요.. 다크데이터팀이 올해 진행한 연구와 비슷한 결의 논문인데요. 바로 Self-supervised Learning 과 Active Learning 을 결합한 논문입니다. 음… 리뷰에 앞서 스포하자면… 본의아니게 제가 2주 연속으로 Active Learning 에 대해 비판하는 논문을 리뷰하게 된 것 같습니다. 바로 리뷰 시작하겠습니다.


[ICCV 2021] Reducing Label Effort: Self-Supervised meets Active Learning

Background

Active Learning 과 Self-supervised Learning 은 모두 라벨링 비용을 줄이기 위한 방법으로 연구되고 있다는 점에서 비슷하다고 할 수 있습니다. 엄밀히 얘기하자면 다르지만, 결국 목적은 비슷하다는 말인데요.

다크데이터 팀의 3차년도 목표가 바로 Hybrid-Learning 으로 이 두 가지의 연구를 결합하는 것입니다.

Active Learning 은 라벨링 비용이 B라고 제한되어 있을 때, 이 라벨링을 어떻게 해야 잘 할 수 있는지를 연구하는 것입니다. 다들 URP 에서 어노테이션 경험이 있던 것처럼 라벨링을 하는 것도 결국 비용이 들 수 밖에 없습니다. 여기서 ‘라벨링을 잘한다’의 기준은 당연히 같은 양을 라벨링하더라도 모델의 성능 향상이 더 큰 것이 됩니다.

Self-supervised Learning은 직번역하면 ‘자가 학습’ 인데요. 이 연구는 정말 최근 가장 Hot한 분야라 모르시는 분들은 꼭 알아두시면 좋습니다. 라벨을 주지 않고 데이터만으로 모델이 자체적으로, 알아서 학습하라는 이야기 입니다. 보통 데이터에 변형을 주어서 그 변형을 알아맞추도록 supervised 방식으로 모델을 학습시키는 것이죠. 예를 들어서, 이미지를 90, 180, 270 도씩 회전시켜서 몇 도 회전시켰는지 맞추도록 학습시키는 식이죠. 그럼 라벨이 없이도 모델을 학습할 수 잇겠죠? 이런 식으로 학습을 하면 모델은 데이터의 표현력을 학습할 수 있으며 이걸 그대로 가져와서 적은 데이터로 fine-tunning 했을 때 supervised와 비빌만큼의 성능 향상을 가져왔습니다.

더 디테일한 내용이 궁금하시다면 저의 과거 리뷰들을 살펴봐주세요. 처음 공부하는 마음으로 자세하게 작성하려고 노력하였으니까요.ㅎㅎ

제가 논문 제목을 보고 궁금했던 것은 저자가 과연 어떤 Self-supervised 모델을 사용하였고, 어떻게 결합하였는지 였는데요. 이것을 위주로 리뷰하겠습니다.

Introduction

해당 연구는 사실 두 태스크를 합쳐서 라벨링 비용을 더욱 줄여보겠다 라는 것에서 시작한 듯 합니다. 최근 Unlabeled만을 사용하여 학습하는 self-supervised learning (이하 SSL) 연구는 supervised learning 을 뺨 칠정도로 성능이 올라왔기 때문에.. Unlabeled 를 사용하는 것이 성능 향상을 위해 당연하고, 이를 Active Learning (이하 AL)에 함께 적용하자 라고 저자는 생각한 것 같습니다. Active Leanring 은 Supervised 기반으로만 학습이 진행되기 때문이죠. 즉, Labeled만 사용합니다.

Preliminaries

저자는 그렇게 라벨링 비용을 효과적으로 줄이고, 성능까지 가져가겠다 라는 취지로 둘을 합치겠다 생각한 것 같습니다. 다시 말해, 본 논문에서 저자가 밝히고자 했던 목표는 SSL과 AL을 합쳤을 때의 효과를 평가하고 비교하는 것입니다.

이를 위해 저자가 제안하는 SSL + AL의 구조는 아래와 같습니다.

상단 그림에 보이는 Stage 1, 2, 3을 따라서 설명을 드리겠습니다.

  1. 전체 데이터셋에 대하여 Self-supervised Learning 방식으로 pre-training 을 진행합니다.
  2. 다음으로 초기 Labeled dataset으로 Self-supervised로 학습한 Backbone (그림에서는 Encoder)를 고정시키고 Linear나 SVM 끝에 붙히고 Fine-tunning 합니다.
  3. 앞서 학습에 사용한 초기 Labeled data를 제외한 나머지 Unlabeled data에 대하여 Active Learning 을 수행합니다. 이 때, 앞서 사용한 백본을 그대로 가지고와서 고정시키고 여기서 나온 Feature를 가지고 라벨링이 필요한 Sample을 선별합니다. 그 다음 그들을 어노테이터에게 쿼리해서 Labeled Dataset에 추가하는 3단계가 바로 Active Leanring 방식입니다.

2)-3) 과정을 예산 B를 쓸 때까지 반복하는 것이 저자가 제안하는 방법인데요. 일반적인 Active Learning 과정과의 차이점은 SSL로 학습된 Backbone을 사용한다는 것입니다.

일반적인 Active Learning 의 과정은 우선 아주 소량의 초기 Labeled Dataset으로 시작됩니다. (1) 전체 데이터의 1% 혹은 10%로 supervised 방식으로 모델을 학습합니다. (2) 상단 그림 중 초록색 Acquistion function이 데이터를 선별하는 기준이 되는데요. 모델은 이 기준에 따라서 좋은 데이터를 선별하도록 학습됩니다. (3) 그리고 Unlabeled data를 모델에 태워서 K개의 데이터를 선별한 뒤, 인간 어노테이터에게 전달하고 이걸 다시 Labeled 에 추가하고 (2) -(3)을 반복하는 것이 바로 일반적인 AL입니다.

1과 2 과정을 추가함으로써 저자는 SSL과 AL을 합친 모델을 제안하였습니다. 그리고 이렇게 합쳐진 모델과 그냥 AL만 적용한 모델의 성능을 비교하여 여러 결과를 확인할 수 있었습니다.

그 전에, Self-supervised Learning 의 Backbone으로는 Simsiam을 사용하였습니다. Simsiam은 대표적인 SSL 방법론인데요. 이 백본은 우리 연구원들이 리뷰한 것이 있기 때문에 디테일한 내용은 생략하겠습니다. 자세한 내용은 김태주 연구원, 황유진 연구원의 리뷰 링크를 걸어둘 테니 참고하시고, 저는 간단하게 특징만 적고 넘어가도록 하겠습니다.

왼쪽 구조가 바로 Simsiam 네트워크의 구조입니다. 기존의 많은 Contrastive 기반의 연구들은 하나의 이미지(x)에 대해 서로 다른 데이터 Augmentation을 적용하여 x_1, x_2로 만든 뒤 이 Negative, Positive 로 구분지어 Positive끼리는 가까워 지도록 Negative는 서로 멀어지도록 학습을 진행하였습니다.

그런데 그럴 경우, 모델의 표현력이 모든 데이터가 서로 비슷해지는 Collpasing Solution 결과를 초래했기 때문에, Simsiam 에서는 Negative를 없애고, Positive 끼리만 얼마나 유사한지를 확인하도록 모델을 학습시키게 됩니다.

리뷰 서문에 SSL은 데이터에 변화를 주어 그 변화를 맞추도록 학습된다고 이야기 하였는데, Sim-siam에서는 하나의 이미지를 서로 다른 두 개의 이미지로 변환시키고 그 두 개의 이미지가 서로 비슷해지도록 학습시켜 모델이 데이터의 표현력을 얻게 됩니다.

이 모델을 채택한 이유는, 풍부한 표현력이 Active leanring 에 유용한 정보를 줄 수 도 있다고 합니다. 사실 당시 최고 성능이면서 조금 가벼운 모델로서 Sim-siam을 채택하지 않았나 싶네요.

Experiments

AL에 SSL을 붙였을 때의 성능 차이를 확인하기 위해 CIFAR-10, CIFAR-100, 그리고 Tiny-IamgeNet을 사용하였습니다. ImageNet이 없는 건 조금 아쉽네요. 비교 분석까지 가능하지 않을까 싶었는데 아쉽습ㄴ디ㅏ.

AL은 크게 4가지 방법론을 사용하였습니다. Entropy, KCenterGreedy, VAAL, SVM Min Margin.

Entropy 는 Cross Entropy Loss 로 익숙하신 분들이 많을 겁니다. 말그대로 불확실성으로 데이터를 선별하는 방식입니다. 불확실성이 높을 수록 모델이 어려워할 데이터기 때문에 그런 어려운 데이터는 사람에게 라벨링 시켜라! 라는 얘기죠.

KCenterGreedy는 K-means 처럼 K개의 Center로부터 가장 멀리 떨어졍ㅆ는 데이터를 선별하는 것입니다.

VAAL은

Performance on CIFAR10

Active Learnign 은 특히 초기 레이블링 데이터셋에 따라 성능 차이가 큽니다. 따라서 저자도 이를 고려하여 0.1%, 0.2%, 1%, 2%, 그리고 10%의 랜덤 샘플링한 Labeled dataset으로 실험을 수행하였습니다.

아래 실선으로 나타낸 것이 SSL + AL이고, 점선은 그냥 AL만 적용한 것입니다.

AL만 적용한 것보다 모든 Labeled 데이터셋에서 SSL+AL의 성능이 훨씬 뛰어난 결과를 보였습니다. 특히 1% 이하의 라벨링 데이터가 있을 때의 성능향상이 가장 컸습니다. 그런데 문제는 SSL+AL은 라벨링 데이터가 1% 이상은 이상이 있어야 SSL+Random Sampling보다 성능이 뛰어난 결과를 보였는데요. 이 말은 오히려 Active Leanring 으로 데이터를 선별하는 것보다 그냥 랜덤하게 데이터를 선별하는 게 더 좋은 성능을 보인다.. 라는 얘기입니다. 최소한 1% 이상은 있어야 Random +SSL을 AL+SSL이 이길 수 있다는 얘기입니다. 이런 경향성은 CIFAR-100, 그리고 TIny-ImageNEt에서도 보였습니다.

AL만 사용한 점선의 결과를 비교했을 때도 L:abeled가 10%는 있어야 Random sampling을 이기는 것을 알 수 있는데요. 이에 대해서는 저자는 새로운 연관관계를 찾았는데 이에 대해서는 다음 섹션에서 설명드리겠습니다.

Performance on CIFAR100.

CIFAR-100은 1%, 2%, 10%에 Labeled Dataset의 실험을 리포팅하였습니다. CIFAR-10과 마찬가지로 SSL + AL 성능이 훨씬 뛰어난 것을 볼 수 있습니다. 게다가 1% 정도로 적은 예산을 가질 때 SSL+Active Leanirng 의 효과가 더욱 뛰어나더라 , 라벨링 비용을 아낄 수 있다는 경향성도 동일합니다. 또한 라벨링 데이터가 10% 미만일 때, Random Samepling은 SSL 여부와 관계없이 Active Learning 보다 뛰어난 성능을 냈다는 것을 볼 수 있습니다.

또한 50%의 데이터셋은 있어야 AL이 SSL + AL을 따라잡는 것을 확인할 수 있었는데요. 이를 통해 라벨링 비용이 커지면, SSL 의 효과는 줄어드느 것 같다고 이야기 하기도 합니다. 그 이유로는 50%나 라벨링 데이터가 있다는 것은 거의 전체 성능에 도달했기 때문이라고 하네요.

Performance on Tiny ImageNet.

마지막으로 ImageNet의 일부인 Tiny-IamgeNt 입니다. 이는 200개의 클래스로 기존 데이터보다 챌린징한 문제인데요. 경향성은 동일했습니다. (여기도 1%, 2%, 10%의 라벨링 초기 데이터셋 사용) SSL + Random sampling이 Active Leanring 을 사용한 것보다 좋았고, 10%보다는 많아야 AL이 Random Sampling 을 이기는 것을 확인하였습니다.

10%는 있어야 Active Leanirng 이 Random Sampling보다 좋은 성능을 낸다는 것을 통해 Active LEanring 방식은 예산이 적은 경우를 위해 설계된 것이 아니라는 결론을 얻을 수 있었다고 하는데요. 이와 관련하여 저자는 다음과 같은 관계를 얻었다고 합니다.

상단 그림이 바로 저자의 주장입니다. 저자는 Labeled 비율에 따라 AL+SSL이 Random Sampling+SSL보다 일관되게 좋은 성능을 보이는 것은 아니라는 것을 밝혔는데요. AL이 Random을 이길 때의 그 관계를 상단 그림을 통해 분석하였습니다. AL에 필요한 클래스당 샘플 수와 데이터셋의 클래스 수 사이의 상관관계를 찾아낸 것입니다. (Corr. Coeff. = 0.99)

즉, 상단 임계치보다 초기 데이터셋이 많아야 Random Sampling보다 AL이 좋은 성능을 가져왔다는 결과를 알 수 있었습니다.

Conclusion

지금까지 SSL+AL을 제안한 뒤, AL의 한계를 분석한 논문에 대해 살펴보았습니다.

저자는 해당 분석을 통해 SSL이 라벨링 비용을 줄이는데 AL보다 더 좋다는 결과를 확인하였습니다. 예산 B가 50%까지 커진다면 SSL+AL을 사용하는 것과 AL만 사용하는 것의 갭이 줄어든다는 결과를 밝혔으며, 예산이 충분히 커야 좋은 성능을 가져올 수 있다고 주장한 논문입니다. 다시 말해… 라벨링 비용을 줄이는 데에는 SSL이 AL보다 효과적인 결과를 가져왔다고 주장하였습니다.


최근 읽는 논문들이 Active Learning의 한계를 신랄하게 비판하는 것 같은데요.. 실험하고 있는 환경 세팅을 이번 논문과 기존 논문과 통일하여 정말 저자의 주장이 맞는지를 직접 확인해봐야 납득이 될 것 같습니다…..

Author: 홍 주영

2 thoughts on “[ICCV Workshop 2021] Reducing Label Effort: Self-Supervised meets Active Learning

  1. 좋은리뷰 감사합나다 .
    실험에서 labeled data는 지정된 데이터를 사용했나요? 감사합니다

    1. 고정된 Labeled dataset을 사용하였느냐라는 질문 같습니다. 이에 대해 밝히지는 않고 단순히 임의로 라벨데이터를 선택하였다고만 리포팅합니다. 하지만, 앞으로의 연구에서는 이를 지정해야하지 않을까 신뢰성을 가질 수 있지 않을까 싶습니다. 질문 감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다