What is Active Learning
Definition
- 머신이 배우고 싶은 (호기심이 가는) 데이터를 선택하게 하여 적은 학습으로도 좋은 성능을 내고 어노테이션 코스트도 줄일 수 있는 방법
Concepts of Active Learning
- Supervised Learning을 통해 모델을 학습시킬 경우 많은 양의 데이터 필요
- 효율적이지 않음
- 대체로 unlabeled data를 활용
- Algorithm
- 레이블이 존재하는 데이터를 통해 모델 학습
- 레이블이 없는 데이터 중 불확실한 데이터를 Query를 통해 레이블을 요구
- 레이블한 데이터를 학습 데이터에 포함
Query Strategies
Uncertainty Sampling
- 가장 단순하고 많이 쓰이는 방법
- 초기 학습된 모델의 확신도가 가장 낮은 데이터부터 Query
- Decision Boundary 근처에 있는 애매한 데이터들을 Query를 통해 확인
- 세부 전략
-
Least Confident
- 모델이 예측한 확률 중 가장 높은 확률이 가장 낮은 데이터 부터 Query
-
Margin Sampling
- 모델이 예측한 확률 중 가장 높은 확률과 두 번째로 높은 확률의 차이가 가장 적은 데이터 부터 Query
-
Entropy Sampling
- 모델이 예측한 각 클래스에 속할 확률을 활용해, 엔트로피가 가장 큰 데이터 부터 Query
- Entropy = 불확실성을 나타내는 척도, 크면 불확실성이 큼
- $\mathrm{H}(X)=-\sum_{i=1}^{n} \mathrm{P}\left(x_{i}\right) \log \mathrm{P}\left(x_{i}\right)$
Query-By-Committee (QBC)
- 여러개의 모델을 학습 후 Disagreement 정도가 높은 데이터부터 Query
Expected Model Change
$x_{E G L}^{*}=\underset{x}{\operatorname{argmax}} \sum_{i} P_{\theta}\left(y_{i} \mid x\right)\left\|\nabla \ell_{\theta}\left(\mathcal{L} \cup\left\langle x, y_{i}\right\rangle\right)\right\|$
- 현재 모델을 가장 크게 변경시키는 데이터부터 Query
- Expected Gradient Length를 통해 판단
- Gradient 기반의 학습을 진행하는 모든 모델에 적용 가능