Yolo 비전 선전
선전
지금 참여하기
용어집

재현율(Recall)

머신 러닝에서 리콜(Recall)의 중요성을 탐구하세요. 높은 탐지율을 보장하기 위해 Ultralytics 모델의 민감도(Sensitivity)를 측정하고 개선하는 방법을 배우세요.

리콜(Recall)은 민감도(Sensitivity) 또는 진양성률(True Positive Rate)이라고도 하며, 머신러닝에서 데이터셋 내 모든 관련 인스턴스를 식별하는 모델의 능력을 측정하는 기본적인 성능 지표입니다. 객체 탐지나 분류의 맥락에서 이는 특히 "모든 실제 양성 사례 중 모델이 정확히 찾아낸 사례는 몇 개인가?"라는 질문에 답합니다. 리콜이 높은 것은 양성 사례를 놓치는 것(흔히 거짓 음성이라고 함)이 중대한 결과를 초래하는 시나리오에서 매우 중요합니다. 불균형 데이터 처리 시 오해의 소지가 있는 정확도와 달리, 리콜은 모델이 대상 클래스를 "포착"하는 효과성에 대한 집중적인 시각을 제공합니다.

높은 재현율의 중요성

많은 인공지능 응용 분야에서 detect 못할 때의 비용은 오경보 발생 비용보다 훨씬 높습니다. 리콜을 최적화한 모델은 거짓 음성을 최소화하여 시스템이 잠재적 위협, 이상 현상 또는 중대한 상황을 포착할 수 있을 만큼 충분히 넓은 그물을 던지도록 보장합니다. 이는 종종 절충을 수반하는데, 리콜을 높이면 때로 정밀도 점수가 낮아질 수 있기 때문입니다. 즉, 모델이 더 많은 관련 없는 항목을 양성으로 표시할 수 있다는 의미입니다. 이러한 균형을 이해하는 것이 견고한 기계 학습 솔루션을 개발하는 핵심입니다.

실제 애플리케이션

리콜은 많은 안전이 중요한 AI 솔루션의 핵심 지표입니다. 다음은 민감도가 우선시되는 두 가지 대표적인 사례입니다:

  • 의료 진단: 의료 영상 분석, 예를 들어 질병의 초기 징후를 검진하기 위한 X선 촬영에서는 높은 재현율이 필수적입니다. 의료 시스템에서 AI를 종양 detect 활용할 경우, 악성 종양을 완전히 놓치는 것보다 결국 양성으로 판명되는 의심스러운 그림자를 경고하는 것이 훨씬 낫습니다(위양성). 의사들은 이러한 도구를 안전망으로 활용하여 잠재적 건강 위험이 간과되지 않도록 합니다.
  • 보안 및 감시: 보안 경보 시스템의 주요 목표는 detect 침입 시도를 detect 것입니다. 높은 재현율(recall)로 최적화된 시스템은 제한 구역에 사람이 진입할 경우 경보가 작동하도록 보장합니다. 이는 야생동물로 인한 가끔의 오경보를 유발할 수 있으나, 실제 detect 못하는 것보다 차라리 선호되는 방식입니다. 이러한 시나리오에서 물체 탐지 모델은 잠재적 위협에 대한 최대 감도를 보장하도록 조정됩니다.

기억률 vs. 정밀도

리콜과 그 대응 개념인 정밀도를 구분하는 것이 필수적이다. 리콜은 발견된 관련 사례의 양(완전성)을 측정하는 반면, 정밀도는 양성 예측의 질(정확성)을 측정한다.

  • 리콜: 누락된 탐지를 피하는 데 중점을 둡니다. "사과를 모두 찾았나요?"
  • 정밀도: 오경보를 최소화하는 데 중점을 둡니다. "우리가 사과라고 부른 것들이 정말로 모두 사과인가?"

이 두 지표는 종종 역의 관계를 가지며, 이는 정밀도-재현율 곡선을 통해 시각화됩니다. 개발자들은 이 둘 사이의 전반적인 균형을 평가하기 위해 종종 두 지표의 조화평균인 F1 점수를 살펴봅니다. 불균형 데이터셋에서는 혼동 행렬과 함께 재현율을 살펴보는 것이 정확도만 보는 것보다 성능을 훨씬 명확하게 보여줍니다.

Ultralytics YOLO 통한 리콜 측정

최첨단 YOLO26과 같은 모델을 훈련할 때, 리콜은 검증 단계에서 자동으로 계산됩니다. 프레임워크는 각 클래스에 대한 리콜과 평균 정밀도(mAP)를 계산하여 개발자가 모델이 객체를 얼마나 잘 탐지하는지 평가할 수 있도록 지원합니다.

훈련된 모델을 쉽게 검증하고 리콜 지표를 확인할 수 있습니다. 다음 Python 조각은 모델을 로드하고 표준 데이터셋에서 성능을 확인하는 방법을 보여줍니다:

from ultralytics import YOLO

# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on the COCO8 dataset
# The results object contains metrics like Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")

# Access and print the mean recall score for box detection
print(f"Mean Recall: {metrics.results_dict['metrics/recall(B)']:.4f}")

이 코드는 검증 실행을 위해 Ultralytics 활용합니다. 리콜이 프로젝트 요구 사항보다 낮은 경우, 데이터 증강을 통해 더 다양한 훈련 예시를 생성하거나 하이퍼파라미터 튜닝으로 모델 감도를 조정하는 등의 기법을 고려할 수 있습니다. Ultralytics 사용하면 데이터셋 관리 및 여러 훈련 실행에 걸친 지표 추적 과정을 간소화할 수도 있습니다.

모델 재현율 향상

모델의 재현율을 높이기 위해 데이터 과학자들은 종종 추론 과정에서 사용되는 신뢰도 임계값을 조정합니다. 임계값을 낮추면 모델이 더 "낙관적"이 되어 더 많은 예측을 양성으로 받아들이게 되며, 이는 재현율을 높이지만 정밀도는 낮출 수 있습니다. 또한 더 다양한 훈련 데이터를 수집하면 모델이 어려운 음성사례와 모호한 사례를 인식하도록 학습하는 데 도움이 됩니다. 복잡한 작업의 경우, 트랜스포머 블록과 같은 고급 아키텍처를 활용하거나 앙상블 방법을 탐구하는 것도 단순한 모델이 놓칠 수 있는 detect 특징을 detect 시스템의 능력을 향상시킬 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기