Active Learning의 가장 대표적인 방식인 Query-By-Committee를 소개합니다. Query-By-Committee를 직역하자면 '위원회 기반 질의'로 위원회에게 물어보다라는 의미를 가지고 있습니다. 여기서 위원회를 무엇으로 설정하고 무엇을 물어보느냐에 따라서 기법이 조금씩 달라집니다.
일반적으로 위원회는 여러가지 Machine Learning 모델로 구성됩니다. Machine Learning 모델로는 Randomforest가 될 수도 있고 YOLO가 될 수도 있습니다. Task의 목적이 classification이면 classification 모델을 사용하고 regression이면 regression 모델을 사용하면 됩니다.
위원회가 조직되었다면 라벨이 되어있지 않은 데이터 하나를 위원회에게 물어봅니다(Query). 그러면 모델별로 각자 다른 추론값을 도출하게되고 해당 추론값을 분석하여 데이터의 정보량을 측정할 수 있습니다.
Uncertainty를 기준으로 정보량을 측정한다고 할 때, 위원회가 추론한 결과값이 모두 동일하다면 해당 데이터는 모델이 이미 알고있다고 간주되어 uncertainty가 낮게 측정됩니다. 반대로 모델 별로 결과값이 서로 다르다면 해당 데이터에 대해서 모델이 명확하게 알고있지 않기 때문에 혼란이 야기되었다고 판단되어 uncertainty가 높게 측정됩니다. 여기서 결과값이 서로 다른지, 같은지를 판단하는 과정을 투표(Vote)한다고 합니다. 대표적으로 uncertainty를 측정하는 지표로 entropy를 사용합니다. Entropy는 정보의 불확실한 정도를 나타내며 식은 아래와 같습니다.
예를 들어봅시다.
Task : classification
Class : 사과, 배, 포도
Committee : YOLO, VGG, RCNN
Vote : hard voting
Uncertainty : Entropy
Final model : YOLO
Unlabeled set : 3장 (사과1, 배1, 포도1)여기서 위원회는 홀수로 설정하는게 좋습니다. 짝수로 설정할 시 나중에 투표를 진행했을 때, 동률이 발생하게 되면 우선순위를 정하기 어렵기 때문입니다. 위원회는 같은 YOLO 모델을 사용해도 되고 VGG, RCNN 등 다른 모델을 사용해도 됩니다. 단, 동일한 모델로 위원회를 구축하는 경우에는 모델의 가중치(weights)를 서로 다르게 하는게 중요합니다. 가중치까지 동일한 모델을 사용하게 된다면 query해도 모두 동일한 값이 나올테니 query하는 의미가 없겠죠? 저는 최종모델을 그대로 위원회에 사용하겠습니다.
환경은 설정 되었으니 Active Learning을 시작해봅시다. 우선 첫번째로 사과부터 위원회에게 질의합니다. 그러면 모델별로 class 값이 도출됩니다. 전부 만장일치로 사과로 판단했네요. 이런 경우 uncertatinty는 0이 됩니다.

두번째로 포도를 물어봅니다. VGG는 포도로 판단했고 나머지 두 모델은 각각 배로 판단했네요. uncertainty 0.579 입니다.

마지막으로 배도 질의합니다. 마찬가지로 VGG만 포도로 판단하고 나머지 모델은 배로 판단했네요. 이 경우도 uncertainty가 0.579입니다.

포도와 배의 uncertainty가 동률인 상황입니다. 좀더 복잡한 규칙을 적용해서 순서를 적용해도 되지만 지금은 랜덤으로 순서를 정해서 포도, 배 순으로 하겠습니다.
최종적으로 순서는 다음과 같이 되겠네요.

그럼 이제 사람 또는 모델이 배, 포도, 사과 순으로 라벨링을 하여 모델을 학습하면 됩니다. 전체 적인 프레임워크는 다음과 같겠네요.

Active Learning과 관련된 포스팅은 이번이 마지막입니다. 깊게 들어가면 더 다양한 방식과 지표가 있지만 궁금하신분은 찾아보시면 되겠습니다. 다음번에는 다른 주제로 돌아오겠습니다.
[References]
[1] Settles, Burr. “Active learning literature survey.” (2009).
[2] D. Wu, “Pool-Based Sequential Active Learning for Regression,” in IEEE Transactions on Neural Networks and Learning Systems, vol. 30, no. 5, pp. 1348–1359, May 2019, doi: 10.1109/TNNLS.2018.2868649.