Entropic Open-set Active Learning
https://arxiv.org/pdf/2312.14126
0. Abstract
Active learnin(AL)은 unlabeled data에서 가장 informative sample을 선택하여 annotation함으로써 deep model의 수행을 향상시키는 목적을 가진다. closed set에서 인상깊은 수행을 보이지만, 대부분의 AL은 unknown category가 포함된 unlabel데이터인 real-world에서 성능이 떨어진다. 저자들은 AL동안 informative sample을 효과적으로 선택하기 위해 known과 unknown 분포를 사용하는 Entropic Open-set AL(EOAL)을 제시한다.
1. Introduction
복잡한 task를 해결하기 위한 deep learning model은 광범위한 labeled data에 많이 의존한다. labeled data를 얻는 것은 일반적으로 인력이 많이 소모된다. Active Learning(AL)은 이런 거대한 data labeling문제를 전체 data를 labeling하기 보다는 informative sample을 선택함으로써 해결한다. AL 성능은 real world 시나리오 즉 open set에서 감소하는데, 그 이유 중 하나는 human annotaion의 경우 불확실성과 다양성 기반의 방법이 informative sample로 unknown sample을 선택하더라도 annotation 비용이 낭비된다. (human annotator는 unknown sample을 불필요한 요소로 판단하고 이를 무시해버리기 때문이다. closed set에서 unknown sample은 annotation할 필요가 없기 때문에 무시한다.) 그래서 sampling동안 unknown class가 있는 open set에서 active learning의 이러한 문제를 어떻게 다룰지가 중요하다.
저자들은 entropy가 낮은 sample을 annotate했는데, figure 1과 같이 closed set classifier는 known sample에 low entropy를 생성하기 때문이다. 하지만 광범위한 데이터에서 unknown sample을 습득하는 것은 불가피하다. 따라서 저자들은 학습동안에 known, unknown 카테고리 모두에서 informative sample 선택을 향상시키는 novel AL 프레임워크를 제안한다. 이들의 접근은 known과 unknown을 효과적으로 분리하는 것을 목표로 한다. 2개의 entropy 점수를 사용함으로써 이를 달성하였는데, 첫번째 entropy는 known classifier의 출력을 사용하여 계산하였고, 두번째 entropy는 거리 기반의 원칙을 사용하여 계산하였다. 2번째 entropy는 unknown class의 분포를 통해 sample의 불확실성을 계산하였다. 또한, 다양성을 보장하기 위해 AL budget을 통해 적절하게 cluster하고 각각의 cluster를 sample하였다.
본 논문의 contribution은 아래 3가지이다.
- AL round동안 informative sample을 선택하기 위해 unknown과 known의 분포를 활용한 AL framework를 제안한다.
- 정확한 AL sampling을 위해 known과 unknown을 분리하는 2가지 entropy를 제안한다.
- 최신성능을 달성하였다.
3. Methodology
Problem Formulation
active learning은 K개의 class를 classification하는 과정이다. 이 때 K는 known class이며, 초기에는 작은 labeled dataset을 제공한다. label data DL은 known sample로 구성되어 있고 unlabel data DU는 known, unknown sample 모두를 포함하고 있다.
이 때 label space K는 known sample로, U는 unknown sample로 구성되어있으며, 이 둘은 교집합이 없다.
각 AL cycle동안, query strategy는 unlabeled data로부터 batch sample Xactive를 선택하는데, Xactive는 known queried sample Xk, unknown queried sample Xu로 구성되어있으며, oracle로부터 label을 받게 된다.
Overview
본 논문의 AL framework는 unknown과 known sample을 효과적으로 분리하기 위해 2개의 entropy score를 사용한다. 이는 annotation하기 위해 가장 valid sample을 선택할 수 있도록 만들어 준다. 첫 번째 closed set entropy는 DL을 학습한 K개의 class들의 binary classifier(BC) 출력을 기반으로 한다. 두번째 distance based entropy는 unknown class의 분포로부터 떨어진 sample을 우선적으로 선택할 수 있도록 한다.
Training for Closed-set Entropy Scoring
closed-set entropy score(Sc)를 측정하기 위해, CNN based feature extractor F와 K class aware binary classifier Gi, 확률 계산을 위한 fully connected layer C를 사용하였다.
Training Binary Classifiers
Gi를 학습시키는데 이는 i번재 known class는 positive, 나머지 class는 negative이다. pi는 x의 특성을 표현하는 f를 활용하여 Gi가 x를 positive로 분류할 확률을 나타낸다.
이 Gi를 학습시킬 때 사용하는 loss는 아래와 같다.
여기서 nl은 한 배치의 known sample 수이며, DL은 현재 학습 중인 배치 데이터이다.
첫번째 항은 yi가 실제 positive일 대 해당 클래스의 확률 p를 높이는 방향으로 학습하기 위한 항이다. 두번째 항은 negative 중에서 x와 가장 가까운 class에 대해 경계를 최적화 하기 위한 항이다.
해당 loss는 binary cross entropy(BCE)의 수정된 버전으로, 기존에 모든 negative의 경계를 최적화하기 위해 성능이 저하되었던 문제를, 가장 가까운 class에 대해서만 최적화함으로써 데이터가 불균형할 때 편향되지 않도록 한다.
Closed-set Entropy
Closed-set entropy는 다음과 같다.
High Sc on Unknown Samples
식 1과 같이 학습할 때, known sample에 대해 low entropy를 보장하지만, unknown sample에 대해서는 high entropy를 보장할 수 없다. 따라서 unknown sample의 높은 Sc를 보장하기 위해, 아래의 loss를 최소화하였다.
이 때 nau는 한 배치의 active unknown sample 수이며, 해당 loss는 unknown sample에 대한 확률출력이 p=[1/2, 1/2]로 균등하게 하기 위함이다. (첫번째, 두번째 항이 1/2에 가까워지도록 학습하여 균등하게 분포하도록 만든다.)
식 4를 최소화하는 것은 각 Gi의 entropy를 최대화 시키는 것과 같다.
Training for Distance-based Entropy Scoring
Sc만으로는 open-set active sampling이 충분하지 않다. 따라서 known sample을 선택하여 높은 정확도를 달성하기 위한 distance-based entropy Sd도 사용한다. 특히 unknown sample은 GT category 근처에 나타나, 낮은 Sd를 보인다. 반대로 known sample은 모든 unknown category와 거리를 둬 높은 Sd를 가진다. (known class도 해당 class의 GT 근처에 있고 unknown class도 GT 근처에 있지만, known sample과 다른 패턴(높은 entropy, 경계적 위치)를 보인다.)
Distance-based Entropy
Sd를 계산하기 위해 DAU를 사용한다. 정확한 category label을 위한 방법이 없기 때문에, 처음에 cluster를 활용한다. cluster 갯수는 K로 고정하며, 각 cluster의 중심을 계산한다.
최종적으로 Sd는 다음과 같이 계산한다.
기본적으로 cluster 중심을 가지고 sample의 거리를 계산한다.
Low Sd on Unknown Samples
cross-entropy loss는 open-set class에서 모든 active unknown을 관리하기 때문에 low Sd만으로는 unknown sample에 대해 보장할 수 없다. 따라서 feature 정규화를 하였고 low distance와 cluster간의 큰 margin를 향상시켰다.
Query Strategy
식 2와 식 6을 활용하여 query strategy를 정의한다.
known sample은 known category 근처에 있으며(Sc ↓), 모든 unknown category와는 거리가 멀다.(Sd ↑), 반면 unknown sample에 대해서는 반대이다.(Sd ↓, Sc ↑)
또한, informative sample을 선택하기 위해, 저자들은 sample을 선택하는 것의 중복성을 최소화하기 위해 feature sapce의 다른 영역에서 query를 제안한다. 첫번째로 known category로 구분된 unlabeled sample을 고려하고, 그 다음 각 cluster 내에서 S(x)를 기반으로 sample을 정렬한다. 그 후 annotation하기 위해 가장 낮은 점수의 sample을 선택한다.
Overall loss
4. Experiments
5. Conclusion
본 논문에서 known, unknown class 분포를 활용한 open-set active learning 문제를 다루는 novel framework를 제안하였다. 이는 known category 분포에 대해 불확실성을 정량화한 closed-set entropy와 unknown category 분포에 대해 불확실성을 측정하는 distance 기반의 entropy를 활용하였다.