Transformer-based detectors(DETRs)는 간단한 framework로 인기를 얻고 있지만, model 크기와 시간 소모가 커서 real world에서의 배치가 어렵다.
Knowledge Distillation은 large detectors를 small detectors로 compress하여 유사한 detection performance와 low inference cost를 제공할 수 있는 기술이 될 수 있다.
DETR이 object detection을 set prediction으로 정의하기 때문에, 기존의 전통적인 convolution-based detectors를 위한 KD 방법은 직접적으로 적용되지 않을 수 있다.
본 논문에서는 DETR-families에 특화된 a novel knowledge distillation method인 DETRDistill을 제안한다.
구체적으로, 우리는 먼저 hungarian matching logits distillation을 설계하여 student model이 teacher DETR의 prediction과 정확히 일치하도록 유도한다.
다음으로, object-centric features에서 teacher model의 knowledge를 학습하도록 돕는 target-aware feature distillation을 제안한다.
마지막으로, student DETR의 convergence 속도를 개선하기 위해, well-trained queries와 teacher model의 stable assignment에서 student model이 빠르게 학습할 수 있도록 query-prior(우선) assignment를 도입한다.
COCO dataset에서 Extensive experimental results는 우리 접근 방식의 효과를 검증한다.
특히, DETRDistill은 다양한 DETR을 2.0mAP 이상 개선하며, 심지어 teacher model을 능가하기도 한다.
object detection은 input image에서 시각적 object의 위치를 지정하고 분류하는 것을 목표로 한다.
초기 연구에서는 주로 image의 local feature를 처리하기 위해 CNNs을 사용하여 이 작업을 수행했다.
이 방법은 anchor, label assignment, duplicate removal 등의 많은 inductive biases를 포함했다.
최근에는 DETR과 같은 transformer-based object detectors가 제안되었으며, detection을 set prediction task로 처리함으로써 detection pipeline을 크게 단순화하고 anchor sizes and ratios와 같은 hand-craft components의 번거로운 tuning에서 사용자를 해방시켰다.
transformer-based detectors는 SOTA를 달성했음에도 불구하고, expensive computation problem으로 인해 real-time application에 배포하기 어렵다는 문제가 있다.
빠르고 정확한 detector를 얻기 위해 KD는 매력적인 기술이다.
일반적으로 KD는 heavy-weighted but powerful teacher model의 knowledge를
small and efficient student network로 전달하여 predictions or feature distributions을 모방하게 한다.
object detection 연구 분야에서는 다양한 종류의 KD 방법이 발표되었다.
그러나 대부분의 방법들은 convolution-based detectors를 위해 설계되었으며,
detection frameworks 차이로 인해 transformer-based DETR에 바로 적용되지 않을 수 있다.
여기에는 최소한 두 가지 challenges가 있다 :
위 challenges들을 해결하기 위해,
우리는 DETR 계열 detectors를 위해 특별히 설계된 knowledge distillation framework인 DETRDistill
을 제안한다
정확히 말하면, DETRDistill은 세 가지 구성 요소로 이루어져 있다. :
Hungarian-matching logits distillation
:Target-aware feature distillation
:Query-prior assignment distillation
:요약하자면, 우리의 contributions은 세 가지로 나눌 수 있다 :
Knowledge Distillation은 model compression을 위한 일반적인 방법이다.
FitNet, DeFeat, FGD, LD, MGD 등 CNN-based distillation 외에도
일부 연구는 vision transformer를 포함한다.
DeiT는 CNN teacher로부터 distillation token을 통해 ViT로 inductive bias를 전달하여 classification task에서 경쟁력 있는 성능을 달성했다.
ViDT는 patch token에서 KD를 수행하고 transformer detector의 variants를 제안했다.
그러나 이러한 distillation은 DETR families에 직접 적용할 수 없다.
우리의 연구는 DETR의 다양한 구성 요소에서 나타나는 고유한 현상을 분석하고, 이를 기반으로 universal distillation strategy를 제안한다.
DETR은 backbone, transformer encoders, learnable query embedding 및 decoder를 포함한 end-to-end object detector이다.
주어진 image 에 대해, CNN backbone은 image의 spatial feature를 추출한 뒤,
transformer encoder(일부 variants는 encoder를 필요로 하지 않음)가 feature representation을 강화한다.
update된 feature 를 갖고, query embedding 이 여러 transformer decoder(일반적으로 6개)에 입력되며,
여기서 는 feature dimension이고, 은 고정된 queries 수이다.
각 decoder stage에서의 작업은 비슷하다 :
Firstly, query 간 상호 정보를 포착하기 위해 self-attention을 사용하여 query 간의 relation을 설정한다.
Secondly, flexible cross-attention을 통해 image feature와 상호작용하여 query와 유용한 semantic information을 aggregate한다.
Thirdly, FFN을 통해 각 query를 예측된 categories와 bboxes 로 decoding한다.
training stage에서는,
Hungarian algorithm을 사용해 model prediction과 GT 사이의 matching cost를 최소화하여 bipartite matching을 얻는 것이 label assignemtn의 원칙이다.
optimal matching은 다음과 같이 해결된다 :
는 pair-wise matching cost이다 :
그러므로,
DETR에서 각 GT는 only one positive sample query에만 대응되고, 나머지 queries들은 negative samples로 볼 수 있다.
The final detection lsos function은 다음과 같이 정의된다 :
이 section에서 우리는 제안된 DETRDistill의 세 가지 구성 요소에 대한 세부사항을 소개할 것이다 :
Fig.3은 DETRDistill의 overall architecture를 보여준다.
KD에서 가장 일반적인 전략 중 하나는 두 model 간의 prediction을 logits-level에서 직접 정렬하는 것이다.
그러나 query-based predictions in a set form은 DETR에서 teacher model의 결과와 student model의 결과를 질서 있게 대응시키는 것을 어렵게 만든다.
이를 해결하기 위해, 우리는 hungarian algorithm을 재사용하여 teacher model의 prediction과 student model의 prediction을 one-to-one matching하였다.
공식적으로,
teacher model과 student model의 prediction을 각각 , 로 나타내며,
= {, }이고 으로 정의된다.
여기서 와 는 각각 teacher model의 positive prediction과 negative positive의 수를 나타내며,
는 teacher model의 총 decoder query 수이고, 은 student model의 총 decoder query 수이다.
일반적으로 은 보다 크거나 같으며, (RT-DETR-R50은 300개 R18은 200개)
teacher의 positive prediction은 target과 밀접하게 관련되어 있기 때문에
이를 knowledgeable pseudo GTs로 간주하고,
hungarian algorithm을 사용하여 이러한 teacher model의 positive prediction 과 student model의 prediction 간의 matching 를 찾는 것이 직관적인 접근 방법이다.
그러면 logits-level KD는 다음과 같이 이루어질 수 있다 :하지만 우리는 경험적으로 이러한 naive KD는 Table 8.에 나타난 것처럼 성능 향상이 미미하다는 것을 발견했다.
우리는 positive prediction 수가 매우 제한적이라는 가설을 세웠다 (image당 평균 7개이며, query의 총 수는 일반적으로 100개를 초과함)
그리고 distill된 정보와 GT가 매우 중복된다고 생각한다.
반면에 teacher model의 많은 negative prediction은 무시되고 있으며, 우리는 이러한 prediction들도 가치가 있다고 주장한다.
selection mask
는 다음과 같이 얻을 수 있다 :DETR에서 query와 decoder parameters는 일반적으로 model optimization을 위해 randomly initialized되기 때문에,
query는 서로 다른 training epoch에서 다양한 object에 할당될 수 있으며, 이로 인해 unstable bipartite graph matching과 느린 수렴 속도가 발생할 수 있다.[17]
KD setting에서는 student DETR의 training에도 동일한 문제에 직면하게 된다.
그러나 우리는 teacher model에서 well-optimized queries가 서로 다른 decoder stage 사이에서 안정적인 bipartite matching을 일관되게 달성할 수 있다는 것을 경험적으로 관찰했으며, 이는 student model의 training 안정성을 향상시키기 위해 teacher model의 지식을 활용하는 것이 직관적임을 보여준다.
이러한 motivation에 기반하여, 우리는 query-prior assignment distillation을 제안한다.
구체적으로,
teacher query set 가 주어졌을 때,
input-GT pairs에 대해 teacher로부터 해당 assignment permutation 을 얻을 수 있다.
우리는 teacher query embedding 를 student model에 추가적인 prior queries group으로 입력하고,
teacher의 assignment 를 직접 사용하여 loss 계산에 사용될 것을 제안한다 :
이 제안된 KD loss는 student model이 teacher queries를 사전 정보로 취급하도록 도와주며,
student detector가 가능한 한 stable assignment를 달성하도록 장려한다.
Fig. 7에서 볼 수 있듯이, 제안된 distillation loss를 통해 student model의 matching stability가 크게 향상되었다.
이 추가적인 teacher query group은 training 중에만 사용되며, student model은 최종 평가 시 default query set을 사용한다.