[ACM Computing Surveys 2021] A Survey of Deep Active Learning

안녕하세요 정의철 연구원입니다. 제가 이번에 리뷰할 논문은 ‘A Survey of Deep Active Learning’입니다. 먼저 Active Learning관련 논문을 리뷰하기 전에 지금까지 Active Learning의 큰 흐름을 잡고난 뒤에 시작하면 좋을 것 같아서 Active Learning과 관련된 연구들을 포괄적으로 분석한 이 논문을 리뷰하게 되었습니다. 그럼 바로 시작하겠습니다.

1. Introduction

딥 러닝(DL)과 액티브 러닝(AL)은 모두 머신 러닝의 하위 분야입니다. DL은 표현 학습이라고도 불리며, 인공 신경망의 연구에서 비롯되어 데이터 특징을 자동으로 추출합니다. DL은 복잡한 구조 때문에 좋은 학습 능력을 갖추고 있지만, 이는 동시에 DL이 대응하는 훈련을 완료하기 위해 많은 양의 레이블이 지정된 샘플이 필요하다는 것을 의미합니다. 지금까지 대규모 데이터 세트의 공개와 컴퓨팅 파워의 지속적인 향상으로 DL 관련 연구는 큰 발전을 할 수 있었습니다. 하지만 DL은 주로 대규모 레이블 데이터 세트에 크게 의존하고 있습니다. 따라서 데이터가 갖춰져있지 않은 분야에서는 학습이 어려울 수도 있습니다. 예를 들어 전문 지식이 많이 필요한 분야에서는 많은 양의 high-quality annotated datasets을 얻기가 쉽지 않습니다.

이를 해결하기 위해 제안된 방법이 Active Learning입니다. Active Learning(AL)은 적은 샘플을 annotaion해서 모델의 성능 향상을 극대화하는 task입니다. 따라서 annotation cost를 줄이면서도 DL의 학습 능력을 유지할 수 있는지 여부를 조사하는 것이 중요합니다. 이러한 결과로 Deep Active Learning(DeepAL)이 등장하였습니다. DeepAL은 모델이 annotation을 받을 데이터를 스스로 선택하도록 하는 방법론입니다.

일반적으로 액티브 러닝은 모델이 가장 불확실하게 예측하는 데이터 포인트에 annotation을 달도록 하는 방식을 취합니다. 이것은 모델이 학습해야 할 가장 어려운 예제에 집중하여 성능을 향상시키는 데 도움을 줍니다. DeepAL은 이러한 개념을 딥 러닝 모델에 적용하여 모델이 주석할 데이터를 선택하는 데에도 신경망을 사용합니다.

본 논문에서는 DeepAL과 관련된 연구를 조사하고 정리하여 제시합니다.

2. Active Learning(AL)

AL은 데이터셋에 중점을 두고 연구되며, 쿼리 러닝(query learning)으로도 알려져 있습니다.쿼리 러닝(Query Learning)이란 모델이 주어진 데이터셋에서 쿼리 또는 질문을 통해 추가적인 정보를 얻는 방식이고 일반적으로, 쿼리 러닝은 액티브 러닝(Active Learning)의 한 형태로 간주될 수 있습니다. AL은 동일한 데이터셋의 다양한 샘플이 현재 모델의 업데이트에 대해 다른 가치를 가지고 있다고 가정하며, 현재 모델을 업데이트하기 위해 가장 가치 있는 샘플을 선택하려고 합니다. 그런 다음, 최소한의 주석 비용으로 훈련 세트를 구성하여 해당 학습 작업을 완료합니다.

AL 접근 방식은 Membership Query Synthesis, Stream-based Selective Sampling, Pool-based AL from application scenarios 나뉠 수 있습니다.

Membership Query Synthesis

Membership Query Synthesis

Membership Query Synthesis는 Learner가 주어진 분포를 활용하여 데이터 인스턴스를 생성하여 쿼리하는 것을 의미합니다. 예를 들어서 숫자 이미지 분류 문제를 푸는 테스크에서 모델은 숫자 이미지와 비슷한 이미지를 만들어내고, 이를 Oracle에 전송하여 라벨링을 요구합니다.

Stream-based Selective Sampling

Stream-based Selective Sampling

Stream-based Selective Sampling은 라벨링되지 않은 데이터는 아주 쉽게 얻을 수 있는 경우에 사용하는 전략입니다. Learner는 라벨링되지 않은 인스턴스를 보고 해당 인스턴스가 가진 정보량에 따라 이 데이터가 라벨링될 가치가 있는지 아닌지를 결정합니다. 이때 인스턴스가 가진 정보량을 평가하기 위해 query strategy사용합니다. query strategy는 뒤에서 더 자세히 다루겠습니다. 이후 모델이 라벨링이 필요하다고 판단한 데이터는 쿼리하고, 아닌 것은 버리는 과정을 반복하며 학습이 이루어집니다.

Pool-based AL from application scenarios

Pool-based AL from application scenarios

Pool-based AL from application scenarios는 가장 널리 사용되는 방법으로 Stream-based Selective Sampling 비슷합니다. Learner는 데이터풀에서 정보량을 측정하여 데이터를 선택하게됩니다. 정보량이 많은 데이터, 즉 효율성이 좋은 데이터를 선별하 여Oracle에 전송하고 라벨링을 요구합니다.

이 논문에서도 Pool-based AL from application scenarios에 초점을 맞춰 설명하고 있습니다.

위의 그림은 pool-based active learning cycle의 다이어그램을 설명합니다. 초기 상태에서 레이블이 지정되지 않은 풀 𝑈에서 하나 이상의 샘플을 무작위로 선택하고, 이 샘플을 오라클에 제공하여 레이블을 쿼리하고 레이블이 지정된 데이터셋 𝐿을 얻은 다음, 이 데이터셋을 사용하여 지도 학습을 통해 모델을 훈련시킵니다. 그런 다음 이 새로운 지식을 사용하여 다음에 쿼리할 샘플을 선택하고, 새로 쿼리된 샘플을 𝐿에 추가한 다음 훈련을 진행합니다. 이 프로세스는 미리 설정된 종료 조건이 달성될 때까지 반복됩니다.

레이블이 지정되지 않은 데이터셋에서 가장 좋은 샘플을 선택하고 그들의 레이블을 쿼리하기 위해 정교한 쿼리 규칙을 설계함으로써, 레이블 지정 비용을 최대한으로 줄이려고 노력합니다. 따라서 쿼리 규칙의 설계는 AL 방법의 성능에 매우 중요 영향을 끼칩니다.

Query Strategies 방법으로는 uncertainty, diversity, expected model change이 있습니다. 추가로 uncertainty와 diversity 를 결합한 hybrid query 방법도 있습니다.

uncertainty에 기반한 샘플링 전략으로 Least Confidence(LC), Margin Sampling, Entropy Sampling 등이 있습니다.

  1. Least Confidence : 이 쿼리 전략은 모델이 현재 샘플에 대해 가장 확신하지 않는 클래스에 해당하는 데이터를 선택합니다. 모델이 예측한 클래스의 확률이 낮을수록, 해당 데이터가 모델에게 덜 확신이 있고 불확실성이 높다고 가정하여 선택합니다.
  2. Margin Sampling : 이 전략은 모델이 예측한 클래스 간의 마진(간격)을 기반으로 데이터를 선택합니다. 마진은 각 샘플에 대해 모델이 예측한 가장 확률이 높은 라벨과 두 번째 라벨의 확률 차이가 적은 데이터를 선택하는 전략입니다. 따라서 마진이 작을수록 해당 데이터의 불확실성이 높다고 가정하여 선택합니다.
  3. Entropy Sampling : 엔트로피는 확률 분포의 불확실성을 나타내는 지표로 사용됩니다. Entropy Sampling은 모델의 예측 분포의 엔트로피가 높은 데이터를 선택하여 쿼리하는 방식입니다.

쿼리 전략으로 uncertainty에 기반한 샘플링이 자주 쓰이기는 하지만 이는 종종 샘플링 편향을 초래할 수 있습니다. 또한 현재 선택된 샘플은 레이블이 지정되지 않은 데이터셋의 분포를 대표하지 못할 수 있습니다. 반면에 diversity에 기반한 샘플링은 레이블 지정 비용이 증가할 수 있고 정보가 적은 샘플이 선택될 수 있습니다. 비록 많은 양의 기존 AL 관련 연구가 있지만, AL은 여전히 고차원 데이터(이미지, 텍스트, 비디오 등)로 확장하는 문제에 어려움이 있습니다. 따라서 대부분의 AL 작업은 주로 저차원 문제에 중점을 둡니다. 또한, AL은 일반적으로 미리 추출된 특징을 기반으로 고가의 샘플을 쿼리하며 특징을 추출할 수 있는 능력이 없습니다. 이러한 이유로 DL과 AL의 결합을 결합하여 단점을 보완하고자 합니다.

3. THE NECESSITY AND CHALLENGE OF COMBINING DL AND AL

DL은 고차원 데이터 처리와 특징 추출에서 좋은 학습 능력을 갖추고 있습니다. 반면에 AL은 레이블링 비용을 감소시킬 수 있는 능을 갖고 있습니다. 따라서 DL과 AL을 결합하는 것은 좋은 방법론이 될 것입니다. 따라서 앞에서 설명드린 것처림 이러한 결합 방법을 DeepAL이라하며, 이는 두 방법의 상호 보완적인 장점을 고려하여 제안되었습니다.

하지만 쿼리 전략에 관한 AL 관련 연구는 상당히 풍부한 반면, 이러한 전략을 직접적으로 DL에 적용하는 것은 여전히 상당히 어렵습니다. 그 이유로는 다음과 같습니다.

• Model uncertainty in Deep Learning : 모델이 예측을 할 때 softmax함수를 사용하여 결과값을 출력합니다. 특정 입력에 대해 예측한 클래스의 확률이 높으면, 모델은 해당 예측에 확신이 있다고 판단됩니다. 하지만 모델이 부정확한 예측을 했음에도 확률이 높게나와 confident한 예측을 한다면 이는 모델의 불확실성을 측정하는 좌표로 사용되기에는 문제가 있을 수 있습니다.

• Insufficient data for labeled samples : AL은 작은 양의 레이블이 지정된 샘플 데이터를 활용하여 모델을 학습하고 업데이트하는데 DL은 매우 큰 데이터를 필요로 합니다. 따라서 액티브 러닝에서 사용되는 전통적인 쿼리 전략은 딥 러닝 모델에 대해서는 적합하지 않을 수 있으며, 이를 결합하기 위해서는 새로운 전략과 방법이 필요합니다.

• Processing pipeline inconsistency : 대부분의 액티브 러닝 알고리즘은 주로 분류기의 학습에 중점을 두며, 사용되는 다양한 쿼리 전략은 대부분 고정된 특징 표현을 기반으로 합니다. 그러나 딥 러닝에서는 특징 학습과 분류기 학습이 동시에 최적화됩니다. 따라서 파이프라인이 일치하지 않기 때문에 학습이 잘 진행되지 않는 문제를 갖는다고 합니다.

4. DEEP ACTIVE LEARNING

그럼 이제 본격적으로 DeepAL에 대해 자세히 알아보겠습니다.

Fig.1c

Fig.1c는 DeepAL 모델의 구조도를 설명한 부분입니다. 구조도를 간략하게 설명하자면 먼저 딥러닝 모델은 labeled training set 𝐿0을 이용하여 사전 학습됩니다. 이후 Unlabeled pool 𝑈의 샘플은 딥 러닝 모델을 통해 특징을 추출하는 데 사용됩니다. 다음 단계는 해당하는 쿼리 전략을 기반으로 샘플을 선택하고 오라클에서 레이블을 쿼리하여 새로운 레이블 훈련 세트 𝐿을 형성한 다음, 딥 러닝 모델을 𝐿에 대해 훈련하고 동시에 𝑈를 업데이트하는 것입니다.

이제부터는 앞서 설명드린 고전적인 Query Strategies를 변형하거나 결합하여 DeepAL에서 적용되는 Query Strategies를 소개합니다.

5. Query Strategy Optimization in DeepAL

다음과 같이 DeepAL의 쿼리 전략에 다섯 가지가 있습니다

  • Batch Mode DeepAL (BMDAL). 배치 기반의 쿼리 전략은 DeepAL의 기초입니다. 고전적인 AL에서는 하나 하나씩 샘플을 쿼리하기 때문에 매우 비효율적이고 이는 DeepAL에는 적용되지 않으므로 배치 기반의 쿼리 전략으로 대체됩니다.
  • Uncertainty-based and Hybrid Query Strategies : 불확실성 기반 쿼리 전략은 샘플의 불확실성 순위를 기반으로 모델을 선택하여 쿼리할 샘플을 선택하는 것을 의미합니다. 샘플의 불확실성이 클수록 데이터를 선택하기 쉬워집니다. 그러나 이는 샘플 간의 관계를 무시할 가능성이 있습니다. 따라서 여러 샘플 속성을 고려하는 방법을 하이브리드 쿼리 전략이라고 합니다.
  • Deep Bayesian Active Learning (DBAL): 베이지안 합성곱 신경망을 기반으로 한 액티브 러닝은 딥 베이지안 액티브 러닝이라고 합니다.
  • Density-based Methods: 밀도 기반 방법은 데이터 집합의 관점에서 전체 데이터 집합의 분포를 나타내는 core subset을 찾으려고 하는 쿼리 전략입니다.
  • Automated Design of DeepAL: AL 쿼리 전략이나 DL 모델을 설계하기 위해 자동화된 방법을 사용하는 기법입니다.

5.1 Batch Mode DeepAL (BMDAL)

고전적인 AL과 DeepAL의 주요 차이점은 DeepAL이 배치 기반의 샘플 쿼리를 사용한다는 것입니다. classical AL에서 하나씩 쿼리하는 방법을 사용하며, 이는 학습 모델을 자주 훈련시키지만 훈련 데이터에는 거의 변화가 없습니다. 따라서 이 쿼리 방법으로 얻은 훈련 세트는 DL 모델의 훈련에서 비효율적입니다. 따라서 BMDAL이 대안이 될 수 있습니다.

이 쿼리 방법이 어떻게 동작하는지 살펴보면 각 획득 단계(어떤 데이터를 선별할지)에서 획득 함수 𝑎와 𝐿(라벨링된 데이터셋)로 훈련된 딥 모델 𝑓𝜃 (𝐿)을 기반으로 unlabeled data 샘플의 배치 B = {𝑥1, 𝑥2, …, 𝑥𝑏 } ⊆ 𝑈에 점수를 매겨 새로운 데이터 샘플 배치 B∗ = {𝑥∗ 1, 𝑥∗ 2, …, 𝑥∗ 𝑏 }를 선택합니다.

이 방식을 사용하여 DeepAL을 훈련시킬 수 있지만 이는 각 샘플을 독립적으로 고려하기 때문에 매우 유사한 정보를 가진 집합의 샘플을 선택하는 가능성이 매우 높고 이는 모델이 실제로 유용한 정보를 배우기가 매우 어렵습니다.

따라서 이러한 문제를 해결하기 위해 BatchBALD는 여러 데이터 포인트와 모델 매개변수 간의 mutual information을 추정하여 데이터 포인트 간의 상관 관계를 고려한 데이터를 선별하게 됩니다.

논문에서 나머지 DeepAL 쿼리 전략에 대해 간략 요약이 되어있는데 뒤쪽으로 갈 수록 이해가 되지않는 내용들이 너무 많아 차례대로 논문을 읽어봐야할 것 같습니다. 이번 논문은 앞서 소개한 방법론들에 관한 내용들을 정리한 후에 뒤쪽 내용들을 추가하여 보충하도록 하겠습니다.

감사합니다.

참고:https://inspaceai.github.io/2019/06/05/ActiveLearning_Introduction/

Author: 정 의철

7 thoughts on “[ACM Computing Surveys 2021] A Survey of Deep Active Learning

  1. 좋은 리뷰 감사합니다.

    AL의 전반적인 내용들을 다루고 있어 덕분에 이번 리뷰을 통해 살펴보는 기회를 가지게 되었습니다.

    샘플링에 대한 간단한 질문이 있습니다.

    1. 다양한 sampling strategy를 설명했는데 클러스터링을 통한 샘플링을 하는 과정이 있는 걸로 아는데 리뷰에는 해당 내용이 없네요. 클러스터링을 통한 샘플은 어떤점이 다른가요?

    2. 샘플링 과정에서 랜덤으로 데이터를 선정하는 과정이 있는 걸로 알고 있는데 이러한 랜덤은 결국 성능의 영향을 주게 되는데 이러한 영향을 어떻게 해결하고 있는지 궁금합니다.

    감사합니다.

    1. 안녕하세요 희진님 좋은 질문 감사합니다!
      1. 제가 본문에 소개한 sampling strategy말고도 정말 다양한 방법론들이 있습니다. 하지만 고전적인 대표 방법론들만 언급한 것입니다. 이외에도 다양한 방법들이 있고 클러스터링을 활용한 방법도 있는데 디테일한 방식에는 약간씩 차이가 있습니다.
      2. 샘플링 과정에서 랜덤으로 데이터를 고른다면 효율성이 매우 떨어지겠죠. 그래서 sampling strategy를 사용해서 어떤 기준으로 데이터를 골라 효율성을 높여주는 것입니다.
      감사합니다!

  2. 안녕하세요 정의철 연구원님 좋은 리뷰 감사합니다.

    리뷰에서 AL은 데이터셋이 모델 학습에 대해 각 샘플이 서로 다른 가치를 지니며 그 중 가장 유용한 것을 선별하는 task이라고 언급해 주셨습니다.
    그렇다면 AL의 접근 방식 중 Membership query synthesis는 기존 데이터셋의 분포를 바탕으로 새로운 unlabelled 데이터를 생성하는 것으로 이해하였는데, 논문에서 해당 task를 AL로 분류한 이유가 궁금합니다.
    결국 initial dataset의 분포를 바탕으로 모델이 어려워하는 unlabelled 데이터를 생성하여 labelling하기 때문일까요?

    1. 안녕하세요 혜원님 좋은 질문 감사합니다!
      Membership query synthesis 같은 경우 모델이 불확실하거나 자신의 예측에 대해 더 많은 정보가 필요한 경우 모델이 특정 데이터 포인트에 대한 질문을 생성하는 테스크 입니다. 그래서 질문의 내용으로는 ‘데이터 포인트는 어떤 클래스에 속하는가?’가 될 수 있겠고 이렇게 함으로써 unlabelled 데이터에 대해 라벨링을 진행할 수 있겠죠. 그래서 AL의 한 방법론이라는 것입니다.

  3. 정의철 연구원님, 좋은 리뷰 감사합니다.
    AL 시나리오 3개를 언급해 주셨는데, 해당 논문에는 pool-based sampling에 집중한다고 작성해주셨습니다. 혹시 membership query synthesis와 stream-based selective sampling은 다루지 않고 pool-based sampling만 다룬 이유가 무엇일까요? 논문에 관련 언급이 있나요?

    1. 안녕하세요 재연님 좋은 질문 감사합니다!
      네 맞습니다. 논문에서 pool-based sampling에 초점을 맞춰 분석을 진행합니다.
      감사합니다.

  4. 안녕하세요 의철님! 좋은 리뷰 감사합니다.

    AL을 통해서, 적은 데이터로 준수한 모델을 만들 수 있다는 점이 정말 흥미로웠습니다.

    글을 읽으면서 생겨난 의문점에 대해 두 가지 질문하고자 합니다.

    먼저, AL에서 라벨링이 필요한 데이터 여부를 판단할 때, 특정 데이터에 대한 모델이 예측한 확률에 기반한 전략을 사용한다는 것을 알았습니다. 그렇다면, AL이라는 것은 모델의 output으로 확률(softmax를 태운 결과)에 대한 것이 나오는 task에 만 적용될 수 있는 것인지 궁금합니다.

    그리고, 5. Query Strategy Optimization in DeepAL 파트에서 DeepAL의 Query Strategy의 다섯 가지를 소개해주셨습니다. 그 중 Uncertainty-based and Hybrid Query Strategies의 필요성으로 기존의 uncertainty기반 query strategy는 샘플 간의 관계를 무시할 가능성이 있다고 말씀해주셨습니다. 여기서 샘플 간의 관계와 여러 샘플 속성을 고려한다는 것이 무엇인지 이해가 가지 않았습니다.
    샘플간의 관계를 고려해야하는 필요성과 이해를 위한 간단한 예시가 있다면 어떤 것이 있을 지 궁금합니다.

    감사합니다.

답글 남기기

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