Active Learning
Active Learning은 적은 수의 Labeled Data를 활용하여 Unlabeled Data에 대한 Annotation을 수행, 해당 데이터를 재 학습하는 과정을 통해 모델의 성능을 높이는 방법 중 하나이다
이때, Annotation 할 데이터를 무작위로 추출하지 않고, 적절한 Query 전략을 통해 현 모델 기준 불확실성이 높은 데이터를 우선적으로 Annotator에게 Labeling 해줄 것을 요청하는 것이 Active Learning의 핵심이다
학습 데이터를 확보하는 과정은 데이터를 수집하는 거소가 수집한 데이터에 유의미한 라벨을 붙이는 것으로 구성되어 있다. 일반적으로 유의미한 라벨을 붙이는 것이 데이터를 수집하는 것에 비해 시간과 비용이 많이 든다
그렇기에 같은 수의 데이터에 라벨을 붙여서 학습할 때, 성능이 높게 나올 수 있도록 데이터를 선별한다면 효과적으로 딥러닝 모델을 학습할 수 있을 것이다.
Active Learning의 구조는 크게 4단계로 구성되어 있다
- 초기 학습 데이터를 이용해 딥러닝 모델을 학습
- 라벨이 되지 않은 데이터 중 모델에게 도움이 되는 데이터를 선별
- 선별한 데이터에 사람이 분류해 라벨을 표기
- 선별한 데이터를 기존 학습 데이터와 변합한 후, 딥러닝 모델 학습
Query Strategies for Active Learning
Active Learning의 샘플링 전략에는 크게 4가지로 정의할 수 있으며 유용한 샘플링을 정의하는 기준은 접근 방식에 따라 다르다
Heuristic Approach
: 확실하지 않는 예측 확률을 갖는 sample
Uncertianty sampling
: 초기 학습된 모델의 확싣도가 가장 낮은 데이터부터 물어보고, Decision Boundary 근처에 있는 애매한 데이터들을 Query를 통해 확인하고자 하는 방법
Least Confident
모델이 예측한 (각 클래스에 속할 확률) 중 Top1 확률이 가장 낮은 데이터부터 Query
Margin Sampling
모델이 예측한 (각 클래스에 속할 확률) 중 Top1, Top2 확률의 차이가 가장 적은 데이터 부터 Query
Entropy Sampling
모델이 예측한 (각 클래스에 속할 확률) 중 엔트로피(무질서)가 가장 큰 데이터로 부터 Query
scipy.stats.entropy - SciPy v1.9.2 Manual
Ensembel Approach
: 여러 모델이 서로 다르게 예측하는 어려운 sample
Query-By-Committee
C개의 Committee(=model)의 Disagreement정도가 높은 데이터부터 Query
Distribution Approach
: 다른 sample들을 대표하는 중심 sample
Core-set
- Core-Set [Paper : Active Learning for Convolutional Neural Networks: A Core-Set Approach]
Bayesian Approach
: Bayesain Neural Network의 Uncertainty가 큰 sample
BALD_Dropout(Bayesian Active Learning by Disagreement)
Expected Model Change
현재 모델을 가장 크게 변경시키는 데이터 부터 Query를 날림
기타 참고 sampling
▶️ Reference
- uncertainty-based sampling: least confident (Lewis and Catlett), max margin and max entropy
- committee-based algorithms: vote entropy, consensus entropy and max disagreement (Cohn et al.)
- multilabel strategies: SVM binary minimum (Brinker), max loss, mean max loss, (Li et al.) MinConfidence, MeanConfidence, MinScore, MeanScore (Esuli and Sebastiani)
- expected error reduction: binary and log loss (Roy and McCallum)
- Bayesian optimization: probability of improvement, expected improvement and upper confidence bound (Snoek et al.)
- batch active learning: ranked batch-mode sampling (Cardoso et al.)
- information density framework (McCallum and Nigam)
- stream-based sampling (Atlas et al.)
- active regression with max standard deviance sampling for Gaussian processes or ensemble regressors
- Core-Set [Paper : Active Learning for Convolutional Neural Networks: A Core-Set Approach]
- Learning Loss [Paper : ****Learning Loss for Active Learning**** ]
- PT4AL [Paper : Using Self-Supervised Pretext Tasks for Active Learning]
- Pytorch Active Learning [https://github.com/rmunro/pytorch_active_learning]
- [DMQA Open Seminar] Active Learning in Semiconductor Manufacturing
'Machine-Learning > Basic' 카테고리의 다른 글
[ML] 경량 딥러닝 기술 동향 (0) | 2023.02.09 |
---|---|
[ML] Cross Validation (0) | 2023.01.11 |
[ML] 차원 축소 (Dimension Reduction) (0) | 2023.01.11 |
[ML] 메타 러닝과 퓨샷 러닝 (0) | 2022.12.17 |
[ML] 군집 평가 (Cluster Evaluation) - 실루엣 분석 (Silhouette Analysis) (0) | 2022.12.08 |
댓글