포스트

DEIM은 DETR 학습을 왜 줄이나: Dense O2O와 MAL

DEIM의 핵심은 DETR의 One-to-One 구조를 버리지 않고 이미지당 객체와 양성 샘플을 늘린 뒤, 매칭 품질을 반영한 손실로 빠른 수렴을 노리는 것입니다.

Dense O2O는 한 객체에 예측을 여러 개 붙이는 방식이 아니라 한 학습 이미지에 들어가는 객체 자체를 늘립니다. MAL은 늘어난 매칭을 모두 같은 품질로 취급하지 않으므로, 두 요소를 분리해 검증해야 수렴 개선의 원인을 알 수 있습니다.

느린 수렴의 원인을 양성 샘플 수에서 찾는다

DETR의 One-to-One(O2O) 매칭은 정답 객체 하나에 예측 하나를 대응시킵니다. 중복 예측을 줄일 수 있지만, 학습에 쓰이는 양성 매칭이 적다는 문제가 있습니다. 반면 YOLO 계열에서 쓰는 One-to-Many(O2M)는 한 정답에 여러 예측을 연결해 더 많은 양성 샘플을 만들지만 NMS가 필요합니다.

DEIM은 이 둘 사이에서 “O2O를 유지하면서 학습 샘플을 어떻게 늘릴까”를 문제로 잡습니다.

DEIM 전체 구조

모델 구조만 비교하기 전에 자신이 줄이고 싶은 비용이 추론 후처리인지, 학습 epoch인지 구분해야 합니다. DEIM이 직접 겨냥하는 쪽은 O2O DETR의 학습 수렴입니다.

Dense O2O는 이미지 안의 객체 수를 늘린다

Dense O2O Matching은 정답 하나에 여러 예측을 붙이는 대신 Mosaic과 Mixup 같은 데이터 증강으로 한 이미지 안의 객체 수를 늘립니다. 각 객체에는 여전히 하나의 예측만 대응하지만, 한 학습 이미지에서 얻는 전체 양성 매칭 수는 많아집니다.

Dense O2O Matching 개념

이 차이는 중요합니다. “Dense”가 한 객체를 여러 번 정답 처리한다는 뜻이 아니라, O2O 규칙을 유지한 채 매칭할 객체 자체를 더 많이 구성한다는 의미입니다. 따라서 구현을 확인할 때는 matcher만 찾지 말고 Mosaic, Mixup을 거친 표본에서 정답 객체 수가 어떻게 바뀌는지도 봐야 합니다.

원문이 소개한 결과는 기존 O2O보다 최대 두 배 빠른 학습과 추가 추론 연산 없이 얻는 성능 개선입니다. 다만 “최대” 수치는 모든 모델과 데이터 설정에 그대로 적용되는 보장이 아니라 논문 실험 조건의 결과로 읽어야 합니다.

MAL은 신뢰도와 IoU를 함께 본다

양성 수를 늘리면 품질이 낮은 매칭도 함께 들어올 수 있습니다. DEIM의 Matchability-Aware Loss(MAL)는 예측 신뢰도 (p), 매칭 품질을 나타내는 (q), 양성 여부 (y)를 이용해 이 문제를 다룹니다.

\[MAL(p, q, y) = \begin{cases} -q^\gamma \log(p) + (1-q^\gamma)\log(1-p), & y=1 \\ -p^\gamma \log(1-p), & y=0 \end{cases}\]

원문 설명에서 (q)는 IoU와 연결된 매칭 품질입니다. 같은 양성이라도 품질을 반영해 학습 신호를 조절하고, 높은 신뢰도를 가진 저품질 예측을 구분하려는 목적입니다. Dense O2O가 양성의 양을 늘린다면 MAL은 그 양성의 품질 차이를 손실에 반영하는 역할입니다.

성능표는 AP, epoch, 지연 시간을 따로 읽는다

원문에 제시된 D-FINE-X 비교는 다음과 같습니다.

모델AP학습 길이추론 시간
D-FINE-X55.872 epochs12.89 ms
DEIM-D-FINE-X56.550 epochs12.89 ms

DEIM 실험 결과

이 표에서 확인할 수 있는 것은 AP가 0.7 높아지고 학습이 22 epoch 짧아졌으며, 표시된 추론 시간은 같다는 점입니다. 12.89 ms는 FPS가 아니라 한 번의 지연 시간으로 적힌 값이므로 두 단위를 섞어 읽으면 안 됩니다. 또한 이 한 행만으로 모든 구성에서 학습 시간이 50% 줄었다고 계산할 수는 없습니다.

실제 적용을 검토할 때는 같은 데이터셋, 입력 크기, 하드웨어, 학습 설정인지 논문에서 확인하고, 저장소의 증강과 MAL 설정을 함께 재현해야 합니다. DEIM은 새로운 추론기라기보다 DETR 계열의 학습 매칭과 손실을 개선하는 프레임워크라는 점을 기준으로 비교하는 것이 정확합니다.

Dense O2O와 MAL의 기여를 어떻게 분리해 볼까

가령 원본 이미지 한 장에 정답 객체가 두 개라면 O2O matcher가 얻는 양성 대응도 두 개입니다. Mosaic이나 Mixup으로 여러 장면을 구성하면 한 입력 안의 객체가 늘고, 정답 하나당 예측 하나라는 규칙을 유지하면서도 한 번의 업데이트에 들어오는 양성 신호가 많아집니다. 이는 한 객체 주변의 여러 anchor를 양성으로 삼는 O2M과 다른 증가 방식입니다.

재현 실험에서는 네 구성을 같은 초기 가중치와 seed로 비교하는 편이 명확합니다. 기본 O2O, 증강만 추가한 Dense O2O, MAL만 적용한 구성, 둘을 함께 적용한 DEIM을 두고 epoch별 AP와 loss뿐 아니라 실제 학습 시간과 최대 메모리를 기록합니다. 증강이 강해지면 객체가 지나치게 작아지거나 경계가 잘릴 수 있으므로 크기 구간별 AP도 함께 봐야 합니다.

MAL의 효과를 볼 때는 높은 신뢰도인데 IoU가 낮은 예측과, 신뢰도는 낮지만 위치가 맞는 예측을 따로 모아야 합니다. 두 집단이 학습 중 어떻게 달라지는지 보면 손실이 단순히 전체 gradient를 키운 것인지, 매칭 품질을 실제로 구분했는지 판단할 수 있습니다. 학습 곡선이 빨리 오르더라도 마지막 AP가 불안정하거나 작은 객체가 악화되면 수렴 속도만으로 성공이라 부르기 어렵습니다.

어떤 데이터에서 먼저 실패할 수 있나

객체가 매우 빽빽한 데이터에서는 Mosaic이 만드는 추가 객체가 가림과 작은 박스를 늘릴 수 있습니다. 반대로 한 이미지에 객체가 거의 없고 배경 차이가 큰 데이터에서는 합성 경계가 원래 분포와 다른 단서가 될 수 있습니다. 학습 표본을 직접 시각화해 잘린 박스, 비현실적 크기, 클래스 불균형이 심해졌는지 확인해야 합니다.

DEIM 도입의 실용적 기준은 논문 표의 epoch 수를 그대로 복사하는 것이 아닙니다. 동일한 AP에 도달하는 wall-clock 시간, 같은 시간 예산에서 얻는 AP, 추론 지연이 유지되는지, 증강 파이프라인이 데이터 로더 병목을 만들지까지 함께 비교해야 합니다. 이 네 값이 기존 학습보다 나을 때 빠른 수렴이 실제 비용 절감으로 이어집니다.

함께 읽으면 이해가 이어지는 글

자주 묻는 질문

Dense O2O는 한 정답에 여러 예측을 매칭하나요?

아닙니다. 정답 하나당 예측 하나라는 O2O 규칙은 유지하고, Mosaic, Mixup으로 한 학습 이미지에 포함된 정답 객체 수를 늘려 전체 양성 매칭을 많게 합니다.

MAL은 왜 필요한가요?

증강으로 늘어난 양성 중에는 위치 품질이 낮은 매칭도 섞일 수 있습니다. MAL은 신뢰도와 IoU 기반 품질을 함께 반영해 같은 양성이라도 학습 신호를 다르게 줍니다.

논문의 epoch 감소를 그대로 기대해도 되나요?

아닙니다. 데이터, 입력 크기, 증강, 하드웨어가 같아야 비교할 수 있습니다. 목표 AP까지의 실제 시간과 메모리, 크기별 AP를 같은 조건에서 재야 합니다.

학습 로그에서 찾아야 할 패턴

빠른 수렴은 마지막 epoch 하나가 아니라 곡선의 모양으로 확인합니다. 기본 모델과 DEIM이 같은 AP에 처음 도달한 시점, 이후 성능이 흔들리는 폭, learning rate가 바뀌는 구간의 반응을 함께 표시합니다. epoch 수만 줄었어도 한 epoch의 데이터 로딩 시간이 Mosaic 때문에 크게 늘었다면 실제 학습 시간은 예상만큼 줄지 않을 수 있습니다.

오류 분석은 false positive와 false negative를 크기, 가림, class별로 나눕니다. Dense O2O가 작은 객체를 늘렸지만 경계가 잘린 표본 때문에 위치 오차가 커질 수 있고, MAL의 품질 가중이 드문 class의 약한 예측을 지나치게 낮출 수도 있습니다. 같은 validation image의 예측을 baseline과 나란히 저장하면 AP 한 숫자로 보이지 않는 변화가 드러납니다.

재현 결과를 공유할 때는 config diff를 남깁니다. 증강 확률, 입력 크기, batch, optimizer, MAL의 gamma, checkpoint 선택 기준을 적어야 다음 실험이 같은 조건에서 시작됩니다. 이 기록이 없으면 Dense O2O의 효과와 단순한 augmentation 차이를 구분할 수 없습니다.

학습이 빨라졌다는 결론에는 목표 AP와 그 AP에 도달한 실제 시간, 사용한 GPU 수를 함께 적어야 합니다. 그래야 epoch 숫자가 다른 환경에서도 비교 가능한 비용 정보가 됩니다.

THE END / OPSOAI

여기까지 읽었습니다

핵심 장면을 한 번 더 떠올려 보세요. 이해가 남았다면 이 책은 제 역할을 다했습니다.

다른 책 고르기
표지 1

키와 좌우 스와이프를 지원합니다. 읽던 페이지는 이 기기에 저장됩니다.

CONTENTS

이 책의 목차

    9개 장 15 분읽는 시간