Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Hard Negative Mining

하드 네거티브 마이닝은 모델이 양성으로 가장 자주 오인하는 음성 샘플을 찾아 학습에 집중시켜, 탐지 및 검색에서 오탐을 줄입니다.

하드 네거티브 마이닝은 모델이 가장 크게 틀리는 네거티브 예시를 찾아 학습을 집중하는 전략입니다. 네거티브 예시는 대상 클래스에 속하지 않는 예시이며, 하드 네거티브는 모델이 여전히 포지티브처럼 점수를 매기는 예시입니다. 예를 들면 탐지기가 객체로 박스를 표시한 배경 패치나, 임베딩 모델이 쿼리 가까이에 배치한 관련 없는 이미지가 있습니다. 대부분의 네거티브는 쉬운 예시이며 모델이 이를 처리하게 된 후에는 학습 신호를 거의 제공하지 않습니다. 따라서 어려운 예시를 선택하면 결정 경계를 선명하게 하고 오탐을 줄일 수 있습니다.

하드 네거티브 마이닝의 작동 방식#

어려운 예시의 기준은 작업에 따라 달라집니다.

마이닝은 오프라인이나 온라인으로 수행됩니다. 오프라인 마이닝은 학습된 모델을 대규모 네거티브 전용 데이터에 실행해 오탐을 수집하고 학습 세트에 추가한 뒤 재학습합니다. 고전적인 슬라이딩 윈도우 보행자 탐지기는 사람 없는 이미지를 스캔해 오탐을 찾고 이를 사용해 재학습하는 방식으로 학습했습니다. 온라인 마이닝은 각 학습 배치 안에서 어려운 예시를 선택합니다. SSD는 네거티브 기본 박스를 분류 손실 순으로 정렬해 손실이 가장 큰 항목만 유지하며, 포지티브 하나당 네거티브를 최대 3개까지 사용합니다. 온라인 하드 예시 마이닝(OHEM)은 2단계 탐지기의 영역 제안에도 같은 아이디어를 적용합니다. SSD 선택 로직은 몇 줄로 구현할 수 있습니다.

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Simulated objectness logits for 8,400 candidate boxes: 20 cover an object, the rest are background
logits = torch.randn(8400) - 3
labels = torch.zeros(8400)
labels[:20] = 1
loss = F.binary_cross_entropy_with_logits(logits, labels, reduction="none")

# Keep every positive plus only the highest-loss negatives, at most 3 per positive
positives = labels == 1
negative_loss = loss.masked_fill(positives, 0)
hard_negatives = negative_loss.topk(3 * int(positives.sum())).indices
kept = torch.cat([positives.nonzero().squeeze(1), hard_negatives])

print(f"boxes in the loss: {len(kept)} of {len(loss)}")
print(f"mean negative loss: all {loss[~positives].mean():.3f}, mined {loss[hard_negatives].mean():.3f}")

손실 계산에는 8,400개 박스 중 80개, 즉 포지티브 20개와 모델이 객체처럼 점수를 매긴 네거티브 60개가 포함됩니다. 마이닝된 네거티브 60개의 평균 손실은 0.648이며, 네거티브 8,380개 전체의 평균 손실은 0.075입니다. 따라서 그래디언트는 모델이 실제로 혼동하는 배경에 집중됩니다.

  • 네거티브 샘플링: 전체 네거티브 중 관리 가능한 일부를 선택하며, 무작위로 선택하는 경우가 많습니다. 하드 네거티브 마이닝은 가장 혼동을 유발하는 네거티브를 선택합니다.
  • 포컬 로스: 모든 예시를 손실에 포함하되 분류가 잘 된 예시의 가중치를 낮춥니다. 이 덕분에 RetinaNet과 같은 1단계 탐지기는 명시적인 샘플링 없이 모든 후보 박스로 학습할 수 있습니다.
  • 능동 학습: 가능한 포지티브를 포함해 레이블이 지정되지 않은 불확실한 예시를 선택하여 사람이 어노테이션하도록 합니다. 하드 네거티브 마이닝은 이미 네거티브로 확인된 예시를 대상으로 합니다.
  • 클래스 재균형: 다운샘플링 및 가중치 상향을 통해 클래스 빈도 불균형을 보정합니다. 빈도가 높은 네거티브 클래스가 반드시 어려운 클래스인 것은 아닙니다.
  • 데이터 증강: 기존 샘플의 변형을 생성하지만, 데이터셋에 없던 혼동을 유발하는 객체를 새로 만들 수는 없습니다.

실제 적용 사례#

  • 창고 안전 탐지: 팔레트 잭, 선반 반사, 시저 리프트를 반복적으로 잘못 표시하는 지게차 탐지기는 오경보로 작업자의 신뢰를 떨어뜨립니다. 이러한 장면을 네거티브 이미지로 수집해 재학습하면 탐지기가 지게차와 유사한 장비를 구분하는 특성을 학습할 수 있습니다.
  • 시각적 제품 검색: 특정 검은색 운동화를 검색했을 때 다른 제품군의 비슷한 신발이 너무 높은 순위에 표시되면 해당 제품은 하드 네거티브가 됩니다. 예를 들어 샴 네트워크의 앵커-포지티브-네거티브 트리플렛에서 네거티브로 사용해 학습하면 임베딩 모델이 밑창 모양, 로고 배치, 소재와 같은 미묘한 차이를 구별하게 됩니다.

오프라인 마이닝 워크플로#

오프라인 마이닝은 매 라운드마다 현재 모델을 실행하고, 모델이 표시한 항목을 확인한 뒤, 확인된 사례를 학습에 다시 반영합니다.

검토 단계가 중요한 이유는 "오탐"이 어노테이터가 놓친 실제 객체인 경우가 많고, 이를 네거티브로 추가하면 모델이 실제 탐지를 억제하도록 학습되기 때문입니다. Ultralytics YOLO는 레이블 파일이 없거나 비어 있는 학습 이미지를 배경 이미지로 처리하므로, 해당 이미지의 모든 앵커 포인트에 타깃 점수 0이 부여되고 그 위치의 신뢰도 높은 예측에는 모두 페널티가 부과되며, 이 때문에 마이닝한 네거티브 샘플을 YOLO26 데이터셋에 추가하려면 레이블 없이 이미지를 복사하기만 하면 됩니다. 진행 상황은 정밀도가 향상되고 재현율은 동일한 수준으로 유지되는 것으로 나타나며, 전체 테스트 세트와 하드 네거티브 전용 슬라이스에서 추적됩니다.

가장 어려운 네거티브만 학습하면 역효과가 날 수 있습니다. FaceNet의 얼굴 임베딩 학습에서는 초기에 가장 어려운 네거티브를 선택하면 모델이 모든 얼굴을 같은 지점에 매핑하도록 붕괴할 수 있습니다. 따라서 저자들은 포지티브보다 앵커에서 멀리 떨어져 있지만 트리플렛 마진 안에는 있는 세미 하드 네거티브를 사용해 학습했습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요