논문 읽기/Active Learning

[논문 읽기] (2021) Towards Reducing Labeling Cost in Deep Object Detection, Active Learning

AI 꿈나무 2021. 7. 7. 22:39
반응형

 안녕하세요, 오늘 읽은 논문은 Towards Reducing Labeling Cost in Deep Object Detection 입니다. 이 논문은 Object Detection분야에서 Active Learning을 활용한 논문입니다.

 

 object detection 모델을 학습하기 위해서는 label 된 dataset이 필요한데요, 이 label data에 대한 의존도를 낮추기 위한 다양한 active learning 전략이 연구되고 있습니다.

 

 해당 논문에서는 이 active learning이 두 가지 문제점을 갖고 있다고 지적합니다.

 

기존의 Active Learning의 문제점

1. 신경망이 task에대해 well-trained된 경우에 acquisition function은 의미가 있습니다. 여기서 말하는 acquisition function은 사용자의 label이 필요한 sample을 결정하는 함수입니다. 신경망이 대부분의 class에 대해 잘 작동하더라도 특정 class에 낮은 정확도를 갖게 될 수 있습니다. 이는 dataset에 존재하는 class가 과소평가 되었거나 data set분포를 잘못 예측한 경우에 해당한다고 말합니다. 이 경우에 acquisition function으로 sample을 선택하는 것보다 random sample방법이 더 좋은 효과를 나타낼 수 있습니다.

 

2. acquisition function은 hard example을 선택하는데에 도움을 줍니다. acquisition function은 정보를 많이 갖고 있는 hard example을 선택하며, 선택된 sample만 label한다면 이는 hard example만 label 한다는 것을 의미합니다. 이 경우에 dataset은 불균형해지며 testing set과 다른 분포를 예측합니다. 즉, hard example 분포에 치우쳐서 학습이 되어 dataset distribution drift가 발생합니다. dataset을 균형있게 형성하려먼 easy example도 label을 해야하는데, 이는 적은 정보량을 갖고 있기 때문에 사람이 직접 label 하기에는 cost 낭비가 될 수 있습니다.

 

 이 두 문제점을 해결하기 위하여 (1) consistency score를 사용하는 hard sample에 대한 robustness-based acquisition function와 (2) easy sample에 대한 pseudo-labeling 전략을 사용합니다. 만약 easy sample을 psudo-label하여 dataset에 추가한다면 균형된 dataset이 형성되고 사람의 cost가 낭비되지 않을 것입니다.

 

Method

 

 D는 dataset, L은 labeled set, U는 unlabeled set이라고 하겠습니다.

 

 우선 아래에서 설명할 loss를 사용하여 신경망을 학습합니다. 그리고나서 active learning cycle을 반복합니다.

 

 active learning cycle에는 acquisition function을 사용하여 unlabeled set U의 hard sample의 subset을 labeled set L로 이동하는 과정이 포함되어 있습니다. distribution drift를 방지하기 위해 easy sample도 pseudo label을 하여 dataset에 추가합니다. 새롭게 형성된 labeled images의 set으로 신경망을 학습합니다. 이 active learning cycles를 T번 반복합니다.

 

 신경망을 학습하기 위하여 labeled sample에 대해 supervised Multibox loss, unlabeled sample에 대한 semi-supervised consistency loss를 사용합니다.

 

Loss Function

(1) Multibox loss for labeled samples

 labeled sample에 대해서는 MultiBox loss와 smooth L1 loss를 사용합니다. 두 loss 모두 기존의 object detection 모델에서 제안된 loss 입니다.

 

 

 Negative sample(배경)에 대하여 두 번째 항, positive sample(객체가 포함되어 있는 바운딩 박스)은 첫 번째 항을 계산합니다.

 

(2) Consistency loss for unlabeled samples

 이 loss는 unlabeled image를 포함하는 dataset을 활용하는 것을 목적으로 합니다.

 

 training 동안에 original image와 augmented image(horizontally flip)을 신경망에 전달합니다. original image와 augmented image에 대한 prediction를 $\triangle, \tilde{\triangle}$로 표기합니다. augmented image는 horizontally flip이 적용되었기 때문에, loss를 계산할 때 x좌표를 반대로 적용해야 합니다.

 

 우선 두 이미지에 대한 prediction의 IoU를 계산합니다.

 

 

 위 IoU와 augmented image prediction이 일치되도록 class consistency loss와 consistency localization loss를 정의합니다.

 

 

 KL은 KL divergence 를 의미합니다.

 

 

 이제 두 consistency loss의 평균값을 계산합니다.

 

 

(3) Overall Training loss

Consistency loss와 smooth l1 loss, multibox loss를 사용하여 overall loss를 다음과 같이 설계합니다.

 

 

Mining data

 많은 Active Learning 방법들은 acquisition function을 계산하기 위해 entropy와 같은 uncertatinty 방법을 사용합니다. 만약 high entropy를 갖고 있는 prediction은 이미 labeled된 image와 큰 차이가 난다는 것을 의미하며, 이 image는 새로운 정보를 제공한다는 것을 의미합니다. 하지만 논문에서 이 uncertainty-based acquisition function은 이상적인 해결책이 아니라고 말합니다.

 

 이 논문에서는 classification consistency loss를 acquisition function으로 재설계 합니다. 만약 객체가 낮은 consistency value를 갖는다면 이 객체로 학습을 계속 하는거는 학습에 도움이 되지 않습니다. 반대로 이 object를 labeling하여 supervised part로 이용하면 신경망에 도움이 됩니다. 이 consistency-based score는 general하고 신경망의 robustness를 표현하는 class-agnoistic 값 입니다.

 

(1) Acquisition function for active learning

 labeling을 위한 데이터를 선택하는 과정은 다음과 같습니다.

 

 우선, unlabeled set U에서 모든 이미지를 신경망에 입력하고, 예측한 bounding box에 대하여 non-maximum suppression을 적용합니다. object를 나타내는 바운딩박스 예측값에 대하여 hard object와 easy object가 존재합니다. 이 중에서 hard object는 많은 정보를 포함하고 있어 label하는 것이 도움이 되지만, hard object만 label 하는 것은 distribution drift 문제를 유발할 수 있습니다. 따라서 acquisition score를 다음과 같이 설계합니다.

 

 

 $\triangle$은 image의 prediction 을 의미합니다. C는 confidence, H는 entropy, I는 inconsistency를 의미합니다. $\tau$는 임계값입니다. 논문에서는 임계값을 0.5 사용합니다.

 

 위 수식을 살펴보면 confidence가 임계값 이상인 prediction에 대하여 H(entropy) x I(inconsistency)로 acquisition 을 계산합니다. 즉, acquisition function은 모든 객체의 maximum score로 정의됩니다. 그리고나서 이 acquisition score가 높은 순서대로 N/T개의 이미지를 선택합니다. N은 acquisition budget, T는 active cycle 횟수입니다. 선택된 이미지는 사람이 직접 labeling 합니다.

 

(2) Pseudo-labeling to prevent distribution drift

 위에서 acquisition function은 hard example을 골라냅니다. exam example 또한 label하여 dataset에 추가해야 distribution drift를 예방하고 균형잡힌 dataset을 형성할 수 있습니다. 하지만 easy example을 labeling하는 것은 사람의 자원 낭비가 발생합니다. 따라서 이전 active cycle에서 모델이 학습되는 곳에 pseudo-labeling module을 추가합니다. 이는 confidence가 높은 easy image에 대해 pseudo label을 제공합니다. 예를 들어, 임계값(해당 논문에서는 0.99) 이상의 confidence를 갖으면 easy sample로 판단하여 pseudo label을 제공합니다. 그리고 이를 ground truth 로 사용합니다.

 

 pseudo-labeling part를 위한 loss를 추가합니다. pseudo label이 없는 image에 대한 prediction이 loss에 not penalize하기 위해 다음과 같이 MultiBox Loss function을 수정합니다.

 

 

Experiments

(1) Comparison to state-of-the-art method

 COCO dataset에 대하여 5000개 이미지를 무작위 sample합니다. 그리고 5 active learning cycle를 수행합니다. 각 cycle마다 1000개의 이미지를 label 합니다. 모델이 수렴되도록 각 mini-batch의 반은 labeled image를 포함합니다. acquisition score의 임계값은 0.5, pseudo-label 임계값은 0.99로 설정합니다.

 

 논문에서 제안하는 방법을 다른 방법과 비교한 결과입니다. 다른 방법에 비해 압도적인 성능을 보여줍니다.

 

(2) Acquisition function

 acquisition function에 대한 실험입니다. 신경망의 three best-performing class와 three worst-performing class에 대하여 entropy-based AL과 inconsistenct-based AL을 비교합니다. 

 

 best performing은 entropy-based AL이 평균적으로 inconsistency-based AL을 능가합니다. 반면에 worst performing class는 inconsistency-based AL이 훨씬 좋은 정확도를 보여줍니다. 이는 낮은 성적을 보여주는 class에 대하여 inconsistency-based AL이 더 general하다는 것을 의미합니다.

 

 

(3) Ratio of pseudo-labels

 일정 confidence 이상을 가진 image에 대하여 psudo-label을 수행합니다. 임계점이 낮다면 noise가 많은 pseudo label을 허용하기 되고, 더 많은 pseudo label을 사용합니다. 이 임계점을 0.99, 0.9, 0.5 세 가지로 실험을 합니다.

 

 

(4) Performance boost per class

 pseudo-label이 distribution shift 방지에 도움이 되는지 실험을 합니다. Active learning만을 사용하는 것은 hard example만을 label하기 때문에 몇개의 class에 대한 성능이 약화됩니다. 하지만 pseudo-label을 추가하면 이 효과가 제거됩니다. 즉, 신경망에 robust해지고 dataset drift를 방지합니다.

 


참고자료

[1] http://arxiv.org/abs/2106.11921

 

반응형