[arxiv 2023] Active Semi-Supervised Learning by Exploring Per-Sample Uncertainty and Consistency

최근 Active Learning 을 중심으로 리뷰했다면, 오늘은 제가 진정으로 연구하고 싶은 Active+Semi/Self 에 대한 논문을 리뷰하려고 합니다. 제목에서부터 알 수 있든 본 논문은 Active Learning 과 Semi-Supervised 를 결합한 연구입니다. 두 방법론을 결합한 연구인데 결합하면서 발생했던 문제를 어떻게 극복했는지 궁금해서 리뷰하게 되었네요. 바로 시작하겠습니다.



1. Introduction

딥러닝의 발전은 대량의 데이터의 수요를 가져왔고, 이에 따른 라벨링 비용이라는 거대한 장벽으로 인해 Semi-supervised learning 그리고 Active Learning 이 시작되었다는 것은.. 이제 귀에 딱지가 생길 정도로 많이 들으셨을 것 같습니다. 두 방법론은 소량의 Labeled Dataset을 사용하여 학습이 시작된다는 점에서는 동일합니다. 다만, Active Learning 은 그 소량의 데이터를 활용하여 가장 유익한 소수의 데이터를 선택해서 라벨링하고 다시 추가 학습에 사용하는 방식이고, Semi-supervised 는 학습에 대량의 Unlabeled dataset을 이용한다는 점에서 차이가. 그리고 최근에는 두 가지 방법을 결합한 연구들도 등장하고 있습니다.

많은 연구들이 지금도 등장하고 있지만, *기존 연구에서 밝힌 것처럼 SSL 알고리즘을 학습하기 위해서는 일반적으로 학습을 굉장히 오래해야한다는 문제점이 있습니다. AL은 일정한 주기를 가지고 반복해서 학습을 한다는 특수성이 존재하는데, SSL과 결합하여 충분한 성능을 내기 위해서는 모든 주기에서 학습을 오래해야한다는 의미이죠. 이는 곧 엄청나게 많은 계산 리소스를 요구한다는 것이고 실용과는 거리가 멀어지게 됩니다. Active나 Semi 연구는 “라벨링 비용” 이라는 현실적인 문제에서 시작된 연구인데, 충분한 성능을 위해 충분한 리소스를 요구한다는건, 무언가 명확한 해결책은 아닌 것 같아 보입니다. 따라서 최근에는 일반적인 SSL이 아닌 적은 수로 학습하는 SSL 을 제안하여 AL과 결합하는 시도가 늘어나고 있습니다.

*Avital Oliver, Augustus Odena, Colin A Raffel, Ekin Dogus Cubuk, and Ian Goodfellow, “Realistic evaluation of deep semi-supervised learning algorithmsAdvances in neural information processing systems, 31, 2018.

문제는 AL과 SSL을 직접 결합하는 데에 여전히 해결해야하는 문제 2가지가 있습니다. 첫째는 라벨이 없는 샘플의 불확실성을 계산하는 점입니다. SSL 학습 과정에서는 unlabeled 데이터의 경우 pseudo-label을 사용하는 경우가 많습니다. 모델의 예측값을 임의로 정답값으로 사용하는 것을 의미하는데, 이러다보니 pseudo-label이 모델 학습 중에 계속 변할 수 있습니다. 즉, 지도학습 기반의 모델보다 더 동적인 모델 업데이트를 발생하는 것이죠. 이로 인해, 특정 Unlabeled mini batch가 학습에 사용되는 순간, 또 다른 Unlabeled 샘플 예측값에 영향을 미치고, **예측값에 대한 불확실성 역시 시간에 계속해서 따라 달라진다는 것을 의미하죠. 이는 학습이 일정 단계 이상 진행이 된 이후에도 모델이 예측한 불확실성을 데이터 고유의 정보라고 판단하기 어렵게 합니다. 저자는 이것을 ‘temporal-instability(시간적 불안정성)’ 이라고 하였습니다.

**갑자기 예측값에 대한 불확실성이 등장한 이유는 바로 Active Learning 때문입니다. Active Learning 에서는 가장 유익한 샘플을 선택하는 기준으로 예측값에 대한 불확실성을 사용하곤 합니다. 모델의 예측이 애매한 데이터일수록 성능이 유익하다고 판단하는 관점에서 가장 쉽게 사용하는 것이 예측값에 대한 불확실성 입니다.

둘째, SSL은 모델 업데이트를 위해 supervised loss 와 unsupervised loss 라는 두 가지의 loss를 사용합니다. 그런데 데이터 선택을 위해 사용되는 불확실성이라는 지표는 대개 supervised-loss에 대한 초점을 두고 설계되어 있습니다. 이 때, unlabeled sample이 sueprvsied loss에 미치는 영향을 고려하지 않는다는 것이 문제이죠.

저자는 이 두 개의 문제를 모두 개선한 Active Semi- supervised learning (ASSL) 파이프라인을 제안하였습니다. 그럼 이 두 가지를 어떻게 개선하였는지는 Method 부분에서 자세히 설명드리도록 하겟습니다.

2. Method

2.1 Uncertainty Score

SGD를 사용하는 DNN에서는 경사 크기가 클수록 네트워크 파라미터의 업데이트 크기가 더 커질 수 있다는 연구들에 따라서, 저자는 예측값인 p(x)와 해당하는 GT one-hot vector 사이의 차이의 L2-norm인 Error L2-Norm (EL2N)을 사용하여 데이터의 기울기를 근사화하였다고 합니다. 즉, 저자는 아래 [ 수식 1 ]과 같이, 입력 이미지 x에 대한 불확실성 점수 u(x)\hat{y}의 원핫벡터와 p(x) 사이의 pseudo-EL2N score로 정의하였다고 합니다.

*이 수식을 사용한 이유는 기존 연구에서 지적한 문제와 해결 방법을 따른 것 같습니다. 리뷰에서는 SGD이 발생하는 업데이트 크기 문제를 해결하기 위한 EL2N 사용 정도로 이해하고 넘어가도록 하겠습니다.

2.2 Temporal-instability

[ 그림 1 ]

상단 [ 그림 1 ]에서 볼 수 있듯, 불확실성 기반의 AL 방법(Entropy, Pseudo-EL2N)의 프레임워크에서 SSL을 사용할 경우, 지도학습을 사용하는 AL달리 Random Sampling 비해 성능이 현저히 떨어집니다. 저자는 이 문제를 분석하기 위해 Random으로 Labeled data를 사용하여 SSL 학습 중 unlabeled의 예측값의 변화를 확인해보았습니다.

Unlabeled data U에 대해 5K 학습 단계마다 식(1)의 불확실성 u(x)를 계산한 뒤, 시간이 지남에 따라 불확실성이 얼마나 일관되게 유지하는 지를 확인해본 것인데요. 아래 [ 그림 2 ] 가 바로 그 결과입니다. 시간의 흐름과 불확실성은 상관관계가 거의 없다는 결과를 보였습니다. 이는 모델 성능이 충분히 수렴한 뒤에도 SSL모든 학습 단계에서 일관되게 나타났습니다. 이는 모델의 파라미터가 SSL을 학습하는 동안 계속 업데이트가 된다고 해석할 수 있습니다. 즉, 저자는 서론에서 언급한 SSL 학습이 야기하는 Temporal-instability(시간적 불안정성) 이라는 문제점을 발견한 것ㅇㅣ죠.

[ 그림 2 ]

기존 연구에서도 이렇게 예측값 변화에 대한 분석을 제안한 적이 있는데요. 바로 ***catastrophic forgetting 이라는 것입니다. 다만 해당 연구는 지도학습에서의 예측값변화 및 망각 정도를 측정하기 위한 forgetting events를 제안한 것이기에, 저자의 목적에 맞게 이를 unlabeled 의 시간적 불안정성을 정량적으로 측정하고자 아래 수식 (2) 와같이 t 시점에 대한 예측값 \hat{y}_t(x)가 (t-1) 시점에 예측된 \hat{y}_{t-1}(x)과 다른 횟수를 측정하였습니다. (즉, 시간적 불안정성 측정을 위해 서로 다른 시간에 발생한 예측값이 얼마나 다른지 개수를 센 것)

***James Kirkpatrick, Razvan Pascanu, Neil Rabinowitz, Joel Veness, Guillaume Desjardins, Andrei A Rusu, Kieran Milan, John Quan, Tiago Ramalho, Agnieszka GrabskaBarwinska, et al, “Overcoming catastrophic forgetting in neural networks,” Proceedings of the national academy of sciences, 114(13):3521–3526, 2017

[ 그림 3 ]

상단 [ 그림 3 ]에서 앞서 정의한 uncertainty score(불확실성) u(x)와 temporal instability(시간적 불안정성) TI(x) 사이의 관계를 그래프로 표현한 것입니다. 그 결과 둘 사이의 강한 양의 상관관계를 보였다고 합니다. 그림의 초록색 막대는 TI(x)=n 인 샘플 수를 나타내고, 파란색 선은 표준 편차와 함께 해당 샘플의 평균 u(x)를 나타냈습니다. 두 식 사이의 상관관계가 강하다는 것은 불확실성이 높은 샘플이 높은 값의 TI(x)를 가진다는 것을 의미 하는데요. 그리고 작은 TI(x)를 제외하면, 데이터는 예측과 pseudo-label의 변동이 발생할 가능성이 높다는 의미입니다. 따라서 저자는 SSL을 통합하지 않은 기존 AL과 달리, ASSL에서는 특정 시점의 불확실성에 따라 데이터 고유의 정보를 정확하게 추정할 수 없기 때문에 불확실성 기반의 방법론 성능이 떨어진다는 결론을 내릴 수 있었습니다.

2.3 EMA and Upper Confidence Bound

저자는 불확실성이라는 지표를 더욱 정확하게 측정하기 위해, 기존 연구들에서 사용하는 결과를 평균화하였습니다. 또한 이미 MoCo와 같은 연구에서 EMA 기법으로 동적인 업데이트를 완화하는 결과를 보인데다, 강화학습 기법인 Upper Confidence Bound(UCB)가 데이터 sampling method에 효과를 극대화하는 데에 사용되는 것을 이미 보인 연구들이 있었습니다. 따라서 이미 SSL 학습 과정에서 unlabeled 데이터에 대해 서로 다른 시간에 대해 예측값도 다양하게 얻을 수 있습니다. 그렇기 때문에 저자는 unlabeled mini batch의 불확실성을 측정한 뒤 EMA 기법을 통해 UCB를 계산하였습ㄴ디ㅏ. 이 때, 시간 t에서 unlabeled sample x의 불확실성은 weakly augmentation 이미지 p(x_w)를 사용하여 계산하였으며, 불확실성의 EMA와 UCB의 수식은 다음 [ 수식 3 ] 에서 확인할 수 있습니다.

그 결과, 불확실성을 측정하기 위해 EMA 및 UCB 함수에 더 이상 수집 단계에서 unlabeled 데이터를 추론할 필요가 없고, SSL 학습이 끝난 직후에 불확실성 점수를 얻을 수 있게 되었습니다.

2.4 Data-inconsistency

ASSL에서는 불확실성의 UCB 값이 더 높은 데이터 샘플을 선택하면, 다음 라운드에서 더 높은 supervised loss를 생성할 수 있는 데이터를 선택합니다. 그러나 semi-supervised learnng 의 대표적인 방법론인 FixMatch에서는 supervised loss에만 의존하는 acquisition functions(sampling method)이 consistency regularization로 인한 un-supervised loss가 존재하기 때문에 제한이 생기게 됩니다. (즉, 해당 파트는 서론에서 두번째 단점으로 언급한 supervised loss에만 집중하여 설계된 sampling method 에 대한 문제점을 해결하기 위한 부분입니다.) 따라서 저자는 unlabeled sample이 비지도 loss에 미치는 영향을 조사하고자 하였습니다.

데이터가 얼마나 일치하지 않느지를 측정하기 위해 불확싱성 u(x)와 마찬가지로 아래 [ 수식 4 ] 와 같이 KL-divergence를 사용하여 학습 단계에서의 unlabeled smaple에 대한 weakly, strong augmentation 이미지 사이의 불일치를 측정한 뒤, EMA 를 적용한 것이 아래 수식 \bar{i}_t(x)와 같습니다. (즉, 두 이미지가 다를 수록 데이터 일관성은 더욱 작아지겠죠)

ㅇㅣ미 이런 데이터 일관성을 활용한 Semi+Active 연구가 존재하였는데요. 해당 연구에서는 데이터 일관성이 높은 샘플은 over-confidence하지만, 이러한 샘플에 기반한 비지도 loss를 최소화하기엔 어려움이 있다고 하였습니다. 기존 연구들이 지도학습 기반의 loss에 집중해서 sampling method를 설계할 수 밖에 없던 이유죠.

저자는 일관성을 직접 측정하기 위해 T I(x)와 유사하게, 각 샘플에 대해 최대(p(x)) > τ(= 0.95)를 초과하는 횟수를 SSL 학습 단계 중 5k 단계마다 계산하였고, 이러한 샘플을 ‘pseudo-labeled;’ 샘플이라고 불럿는데요. 이 샘플의 경우 confidence가 높기 때문에 unsupervised loss에 영향을 준다고 합ㄴ디ㅏ. 아래 [ 표 1 ] 을 보면, 데이터 불일치가 높은 pseudo-label 데이터의 비율이 불확실성이 높은 데이터의 비율보다 2배 가량 높다는 거을 알 수 있있는데요. 이러한 데이터 일관성이 높은 샘플은 일관성 정규화의 이점이 없음에도 불구하고 학습 중 더 자주 활용된다고 합니다. 결과적으로 이러한 샘플은 비지도 손실 함수에 라벨 노이즈를 유발하게 되는 것이죠.

ㅍ표 1

ㄸㅏ라서 불확실성과 마찬가지로, 식 (3)과 같이 UCB가 적용된 식 (5)가 바로 최종 데이터 불일치 점수가 됩니다.

따라서 수식(6)에 설명된 대로 라벨이 지정되지 않은 데이터 풀의 불확실성과 불일치를 모두 고려하여 최종 AL score가 결정되었습니다. 정리하면, 저자가 제안하는 모델은 아래 수식을 기반으로 데이터를 선별하게 됩니다.

아래 글미이 저자가 제안하는 ASSL의 최종 파이프라인입니다. 결국 FixMatch와 Active Learning 을 결합할 때, EMA를 사용하여 모델의 업데이트를 조금 느리게 하고자 하였고, 다음으로 Loss Function까지 재설계를 하였다고 결론을 내릴 수 있을 것 같습니다. 그리고 Active LEarnign의 베이스로는 ALFAMix를 사용한 듯 싶습니다.

3.Experiments

3.1 Results

비교를 위해, 랜덤샘플링, Entropy, BADGE, CDAL, CoreSet, ALFA-Mix 를 사용하였습니다. 데이터셋은 ALFA-Mix와 동일하게 CIFAR-10, CIFAR-100, SVHN, MiniImageNet 을 사용하였습니다. 추가로 저자의 아키텍처가 다른 아키텍처에서도 작동하는지 실험해보기 위해 CIFA-10과 SVHN과 같은 작은 데이터셋에서는 VIT=small 을 백본으로 사용한 실험 결과를 리포팅 하였습니다.

아래 그림에서 보이듯, 4개의 데이터셋과 2개의 모델을 조합한 경우 ‘Ours-Div’가 가장 좋은 성능을 보였다고 합니다. 추가로 1:1로 모델을 비교하기 위한 상관관계 매트릭스도 아래 그림 에서 확인이 가능하며, SOTA와 비슷한 성능을 보일 수 있었다고 합니다.

3.2 Training efficiency

학습 시간 측면에서 제안한 방법을 FixMatch와 비교하였느데요. 10라운드까지 총 학습 step은 56,320개로, 이는 500,000개의 학습 step 중 약 11%에 해당합니다. 아래 그림 7은 훈련 중 FixMatch와 저자가 제안하는 방법론의 testset에 대한 정확도를 비교한 것입니다. Resnet-18 모델에 CIFAR-10을 적용한 결과, FixMatch는 30만 학습 step에서 70.82%를 달성하며, 약 5만 6천 학습 step에서 저자의 방법이 얻은 70.90%에 가장 근접한 결과를 보였습니다. 특히 이 경우에는 저자가 제안한 방식이 SSL보다 약 5.3배 빠르다는 결과를 보일 수 있었습니다.


지금까지 시간적 불안정성이라는 문제를 효과적으로 해결할 수 있는 ASSL 방법론을 제안한 논문이었습니다. 문제 정의 및 해결하고자하는 방식이 기존 연구들을 적절하게 배치함으로써 명쾌하게 들어맞았지만… 기존에 있는 모델을 결합한다는 점에서 Novelty는 부족하지 않았나 싶습니다. 성능 리포팅 시 다른 Semi+Active 방법론도 사용하지 않은 것에도 궁금하네요. 이상 오늘의 리뷰 마치겠습니다/

Author: 홍 주영

4 thoughts on “[arxiv 2023] Active Semi-Supervised Learning by Exploring Per-Sample Uncertainty and Consistency

  1. 좋은 리뷰 감사합니다! 그렇다면 SSL과 Active Learning이 서로 상호관계를 갖지 못하는 이유가 temporal instability 때문이라고 이해했는데요. uncertainty와 temporal instability 간의 관계성이 있다는 사실이 신기하네요. uncertainty는 친숙해서 알겠는데 혹시 image classification 문제에서 temporal instabilty가 어떠한 현상인지 예시를 조금 더 부탁드릴 수 있을까요? 감사합니다

    1. 안녕하세요 황유진 연구원님
      temporal instabilty는 저자가 분석한 해당 연구의 문제점 중 하나입니다. Uncertainty는 보통 예측값에 대해 계산되기에, 예측값에 대한 불확실성이라고 하기도 하는 건 아실 것 같습니다. 그런데 모델의 예측값이 시간이 지나면 어느정도 안정적으로 수렴해서 일관된 값을 발생해야하는데, 학습을 아무리 계속해도 수렴하지 않고 예측값에 변동이 크다는 것이 저자가 생각한 문제점입니다. 이를 해결하기 위한 방법을 제시한 것이라 보시면 됩니다.

  2. 리뷰 잘 읽었습니다.

    Active Learning 분야에서는 Uncertainty를 위의 설명처럼 Error-L2-norm으로 계산하나요? Entropy를 사용하지 않는 이유가 있을까요?

    이상적인 상황이라면 Uncertainty가 모델 학습이 이루어지면서 일관적인 모습을 보여야하는데 그렇지 않는다는 것이 저자가 제안한 문제점이라 보면 될까요?

    1. 안녕하세요 임근택 연구원님
      우선 Active Learning 에서 예측값에 대한 불확실성을 측정하기 위해 사용하는 수식은 워낙 다양합니다. 임근택 연구원이 말씀하신 Entropy 는 그 대표적인 예시 중 하나이죠. 해당 논문에서 저자가 Error-L2-norm 을 사용한 이유는 SGD를 사용할 경우 모델 파라미터 업데이트가 커질 수 있다는 기존 논문을 근거로 해당 논문에서 제시한 방법을 그대로 차용한 것 같습니다.
      그리고 두번째 질문에 답변드리자면, 네 맞습니다,
      Uncertainty는 보통 예측값에 의해 계산됩니다. 따라서 예측값에 대한 불확실성이라고 하는데, 모델의 예측값이 시간이 지나면 어느정도 안정적으로 수렴해서 일관된 값을 발생해야하는데 변동이 크다는 것이 문제점이죠. 이를 해결하기 위한 방법을 제시한 것이라 보시면 됩니다.

답글 남기기

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