개요
Object Detection 분야의 State-of-the-Art 모델에서 사용된 End-to-End Semi Supervised 학습 방법에 대해서 소개한다.
Motivation
기존 Semi-Supervised 방식은 여러 stage로 구성된다.
- 라벨링된 데이터로 Detector 학습
- 학습한 Detector로 pseudo label 생성
이러한 방식의 문제점으로는 라벨의 질이 detector의 성능과 데이터셋의 양에 의존하는 것 등이 있다.
저자들은 이러한 문제를 다루기 위해 pseudo labeling 과 training을 동시에 수행할 수 있는 방법인 Soft Teacher를 제안한다.
Contribution
- End-to-End 학습이 가능한 Student-Teacher로 구성된 Semi-Supervised Framework를 제안
- Student-Teacher 모델의 장점인 direct accessibility 특징을 활용하여, Student와 Teacher 모델의 출력을 활용하여 pseudo label을 가공하는 방법인 Soft Teacher 제안
⇒ 선생이 학생의 풀이(출력)를 보고 맞춤형 해답(학습 시그널)을 생성하는 방식
- 실험을 통해 높은 foreground score를 가지는 박스와 regression 사이에 연관성이 없다는 것을 발견, regression에 적합한 pseudo label 생성을 위해 Box Jittering 방식을 제안
Methodology
Overview
End-to-End Pseudo Labeling Framework
모델은 Studuent - Teacher로 구성되며 초기화는 모두 랜덤하게 되나 이후에는 Teacher 모델의 가중치는 Student 모델의 EMA를 사용한다.
Studnent는 supervised / unsupervised 의 가중 합으로 구성된다.
I는 이미지를 나타내며, 학습할 때 이미지는 사전에 정의한 비율을 사용한다. 더 좋은 라벨을 생성하면서 학습 효과를 극대화 하기 위해 Teacher 모델과 Student 모델의 augmentation 난이도를 다르게 설정한다.
학습에 사용되는 pseudo label 은 Teacher 모델의 출력에 NMS를 적용하여 불필요한 박스를 제거한 뒤 일정 점수 이상의 박스만 foreground 로 채택하여 사용한다. 단, 단순히 점수를 기준으로 나누는 경우 positive sample이 negative로 할당될 수 있기 때문에 학습에 안좋은 영향을 미치게 된다.
단순하게 foreground score를 기준으로 나누는 경우 위의 그래프처럼 precision과 recall 성능 사이에 trade-off 가 발생한다.
Soft Teacher
저자들은 앞서 언급한 문제를 해결하기 위해 Soft Teacher를 제안한다. 기본적인 방향은 학생의 결과를 확인하고 이를 활용하여 더 좋은 학습 시그널을 생성해주는 것인데, 실제로 Soft Teacher는 End-to-End 파이프라인에서 Student 모델의 출력을 직접 접근하여 pseudo label을 가공한다.
Classification Loss
는 저자들이 정의한 j 번째 백그라운드의 reliability score를 의미한다. 단순히 threshold 기준으로 나누어진 foreground/background 의 문제점을 보완하는 역할을 수행한다. 결과적으로 negative sample로 분류된 positive sample은 이 점수가 낮은 경우 loss 적게 생성하게 된다.
저자들은 적절한 의 수치를 명확하게 정의할 수 없어 다양한 실험을 통해 성능을 비교하였다고 한다. 결과적으로는 Teacher 의 score를 기준으로 정의하는 것이 가장 성능이 좋았다.
- BG-S: student의 score를 사용
- BG-T: teacher의 score를 사용
- Pred-Diff: 출력이 비슷할수록 높은 score를 부여
- IoU: IoU score가 threshold 보다 작은 경우, IoU가 클수록 background일 확률이 높다 가정
- Reverse IoU: IoU score가 작을수록 background 일 확률이 높다 가정
Box Jittering
Soft Teacher는 Classification 에 대해서 더 좋은 라벨을 생성하는데 도움이 되지만, 실험에 의하면 box localization과 foreground score 사이에 양의 상관관계가 보이지 않았다고 한다.
따라서 단순히 threshold 를 기준으로 필터링된 박스는 regression에 적절한 학습 시그널을 주지 못하기 때문에 특별한 방법이 필요하다. 위 그래프를 보면 점이 전체적으로 분포가 되고있다.
저자들은 이러한 문제를 다루기 위해 Teacher가 생성한 box proposal 에 대해 jittering 을 적용한 뒤 다시 입력하여 비슷한 결과가 나오는 경우 신뢰할 수 있다고 가정하였다.
이에대한 정의는 다음과 같다.
요약하면 각각의 proposal 에 대해 N 번의 jittering을 적용한 뒤 표준편차를 구한 뒤, 정규화를 수행한다. k 는 박스의 좌표 index를 의미한다.
위 그래프를 보면 분산과 localization 사이에 상관관계가 있는 것을 확인할 수 있으며, 실험에서는 편차가 낮을수록 높은 신뢰도를 가진다고 가정하고 foreground score 대신 표준편차를 기준으로 박스 필터링을 수행한다.
결과적으로 이렇게 필터링된 proposal 에 대해서 손실을 계산하게 된다.
Experiment
Environment
System Level Comparison
Partially Labeled Data
STAC는 SSL기반 object detection 모델, method는 MS-COCO train 에서 라벨링된 데이터를 사용한 비율을 의미한다. 여기서 제안한 방식의 성능이 월등히 좋은 것을 확인할 수 잇다.
Fully Labeled Data
MS-COCO train 100% + MS-COCO unlabeled 데이터를 사용했을 때의 결과를 나타낸다. 기존 SSL 방식들보다 성능 향상의 폭이 더 큰 것을 확인할 수 있다.
기존 State-of-the-Art 모델에 본 논문에서 제안한 방식을 적용하는 경우, 성능이 크게 증가한다.
Ablation Study
Soft Teacher, Box Jittering
Different Indicators in Soft Teacher
Effects of other hyper-parameters
Share article