HANA : Have A Nice AI

모두를 위한, 하나를 위한 AI

실용적인 AI/Active Learning

Active Learning 이란 - 기본

KM-Hana 2021. 1. 22. 01:28

dsgissin.github.io/DiscriminativeActiveLearning/about/

 

About

An introduction to the active learning framework, from classical algorithms to state of the art methods for neural networks. A new method called “Discriminative Active Learning” is introduced and discussed.

dsgissin.github.io

현재까지 본 Active Learning 사이트 중 가장 잘 설명해두었다.

Discriminative Active Learning의 저자인데, 기회가 된다면 후에 논문요약을 하고자 한다.

딥러닝을 활요한 전략으로 좋은 아이디어를 가지고 있다.

 

Active Learning의 배경

1. Deep Learning은 매우 좋은 성능을 보이지만, 많은 Labeling 비용이 필요하다

    : 많은 데이터는 거의 항상(Almost always) 성능이 좋아진다.

2. 많은 데이터 → 높은 표현력(Higher representative power) → 더 좋은 성능

3. 하지만, 많은 데이터  많은 Labeling 비용 

 

Active Learning의 개요

1. 전체 데이터셋중에서 중요한 데이터를 선별함으로써, 충분한 모델 경쟁력을 가지자!!

 

Active Learning : 과정 및 효과

* 빨간점 : labeling 된 데이터

* 초록점 : 레이블링을 위해, 선택된 데이터

 

일반적인 Random Sampling 방식보다, Active learning을 통해서 중요 데이터를 찾고, 모델을 학습했을 경우,

보라색 그룹과 노란색 그룹을 잘 나누는 경계선(Decision Boundary)을

더 빠르게 더 잘 찾아진다.

 

※ 주의사항 :

 - Activer Learning을 통해, 찾은 데이터는 사람이 레이블링을 해야 되는 것은 변하지 않는다.

 - 더 효율적으로 적인 데이터를 찾기 위함이지, AI모델이 레이블링을 수행하지 않는다.

 - AI 모델이 스스로 레이블링을 하는 것은 Auto Labeling이며, Active Learning과의 차이점을 후에 다루고자한다.

 

Active Learning의 과정

[ Active Learning 과정]

visionexperiments.blogspot.com/2016/01/active-learning-literature-survey.html

1. Learn a Model : 레이블링 된 데이터(L)를 활용하여, 모델 학습

2. Select Queries : 학습된 모델을 통해서, 레이블링 되지 않은 데이터(U)에서 선별

3. Human Annotator : 사람이 레이블링  -  (Oracle 한 레이블링이라고 믿는다.. 아니기도 하지만...)

4. Training set : 새로 레이블링 된 데이터를 기존 dataset과 합친다.

5. 목표 성능 도달까지 위에 과정(1~4)을 반복한다.

 

Active Learning의 분야

[ Active Learning의 종류]

Active Learning은 크게 세 분야로 나누어진다. 

 

1. Membership Query Synthesis : 모델이 레이블링 요청(Query)할 데이터를 생성

                                            → 데이터 생성은 매우 어렵기 때문에 현재는 .. 관심 없는 분야 ↓

2. Stream-based Selective Sampling : 새로운 샘플이 들어옴 모델이 레이블링 필요한지 아닌지를 판단

                                            (ex : Binary Model)

3. Pool-based Sampling :  큰 데이터 Pool이 존재 → 모델이 중요한 데이터 포인트(data point - query)를 선택 

 

 Stream-based Selective와 Pool-based의 차이

 

- Stream-based는 순차적으로 스캔하며 쿼리의 판단

  • 숲길을 따라가며, 나무를 선별
  • 전체 데이터의 분포를 고려하지 않기 때문에, 눈 앞에 있는 데이터가 모델 학습에 큰 영향을 줌
  • 딥러닝에서는 더 좋지 않게 판단될 수 있음(향후, Core-set에서 추가 설명할 예정)

 

- Pool-Based는 전체 Collection에서 평가 및 순위를 매긴다

  • 전체 숲을 보며, 중요한 나무를 찾기
  • 사실 위에 세 가지 분류는 중요하지 않다. Active Learning이라 하면 대부분 Pool-based 방식을 의미한다.
  • 현재, 데이터는 넘친다. 다만, 정제가 되지 않아서 문제다.  현재 대표적인 Active Learning방안

 

Active Learning 설명 구성 계획 : 

앞으로의 Active Learnig에 대한 설명 구성은 다음과 같다.

1. Active Learning의 기본 전략(Query Strategies)을 간단하게 기술

   - Uncertainty Sampling

   - Query By Committee

   - Expected Model Change

   - Density Weight Method

 

Active Learning 이란? - 기본전략

Active Learning의 기본적으로 알아야할 기초적인 쿼리전략(Query Strategies)를 간단하게 기술하고자 한다. ※ 쿼리전략(Query Strategies) 란? : 모델이 중요한 데이터를 찾기위한 전략 주요 기초 쿼리전략

kmhana.tistory.com

2. 딥러닝을 위한, Active Learning 

   - Core-set

   - Loss for Active Learning

   - Discriminative Active Learning

3. 그 밖에 Active Learning

   - Deep Baysian Active Learning (DBAL)

   - Adversarial Active Learning (DFAL)

   - Graph-Based

4. Auto-Labeling vs Active Learning 차이