내부망 포털에는 훈련 실행마다 손실 곡선, 검증 지표, 체크포인트와 실행 환경이 함께 쌓입니다. 지표가 많아도 읽는 순서는 단순합니다. 비교 조건이 같은지 확인하고, 훈련이 안정적으로 진행됐는지 본 뒤, 평가 지표와 실제 오류 표본을 연결하면 됩니다. 이 순서를 거꾸로 하면 높은 숫자 하나만 보고 운영에서 더 불편한 모델을 고르기 쉽습니다.
에폭 지표와 최종 평가 지표는 만들어지는 시점이 다릅니다. 에폭 지표는 훈련 중 검증에서 계속 쌓이고, 최종 평가는 선택된 체크포인트로 검증셋을 다시 추론해 만듭니다. 두 값이 조금 다른 것은 정상입니다. AP 계열은 신뢰도 임계값 전체를 훑은 요약이고, 정밀도·재현율·F1은 운영 임계값 한 점의 결과라는 차이도 함께 봅니다.
비교 전에 고정할 조건
같은 이름의 지표라도 데이터와 평가 설정이 다르면 값의 뜻이 달라집니다. 포털에서 두 실행을 나란히 놓기 전에 아래 항목부터 맞춥니다.
| 확인 항목 | 같아야 하는 이유 |
|---|---|
| 데이터셋 버전과 분할 | 검증 이미지나 라벨이 달라지면 모델 변화와 데이터 변화를 구분할 수 없음 |
| 클래스 목록과 제외 규칙 | 평균 지표의 분모와 난도가 달라짐 |
| 입력 크기와 전처리 | 작은 객체의 가시성과 연산량이 함께 달라짐 |
| 신뢰도 임계값과 NMS | 정밀도·재현율과 출력 상자 수가 직접 바뀜 |
| 체크포인트와 평가 코드 버전 | 같은 가중치도 후처리와 계산 방식에 따라 결과가 달라질 수 있음 |
훈련 지표는 방향과 간격으로 읽기
손실은 낮을수록 좋다는 한 문장으로 끝나지 않습니다. 절대값은 손실 함수와 가중치 구성에 따라 달라지므로 같은 실험 계열 안에서 내려가는 방향, 흔들리는 폭, 검증 지표와의 간격을 봅니다.
| 훈련 지표 | 의미 | 확인할 신호 |
|---|---|---|
| 총 손실 | 분류와 상자 회귀 손실을 가중 합산한 최적화 목표 | 초반 하락 뒤 완만한 수렴 여부 |
| 분류 손실 | 객체 종류와 배경을 구분하는 오차 | 특정 클래스 혼동이 줄지 않을 때 클래스별 결과와 함께 확인 |
| L1 상자 손실 | 예측 상자 좌표와 정답 좌표의 거리 | AP50은 높은데 AP75가 낮을 때 위치 정밀도 문제 확인 |
| GIoU 손실 | 겹침과 상대 위치를 함께 반영한 상자 오차 | 상자가 정답에서 벗어나거나 크기가 맞지 않는 흐름 확인 |
| 학습률 | 한 번에 가중치를 바꾸는 크기 | 손실 급등 시 스케줄 전환점과 겹치는지 확인 |
| 기울기 노름 | 업데이트 크기의 안정성 신호 | 갑작스러운 폭증, NaN, 반복적인 클리핑 확인 |
| 에폭 시간 | 데이터 한 바퀴를 처리하는 시간 | 갑자기 늘면 장치 경합, 입력 지연, 작업 정체 확인 |
- 훈련 손실이 내려가고 검증 AP도 오르면 정상적인 학습 흐름으로 판단합니다.
- 훈련 손실은 계속 내려가는데 검증 AP가 멈추거나 떨어지면 과적합, 분할 편향, 라벨 잡음을 확인합니다.
- 손실과 검증 지표가 함께 크게 흔들리면 학습률, 배치 크기, 비정상 입력, 수치 안정성을 먼저 확인합니다.
- 전체 손실만 내려가고 한 클래스의 AP가 계속 낮으면 평균에 가려진 클래스 불균형이나 혼동 가능성을 확인합니다.
평가 지표는 서로 묶어서 읽기
객체 검출의 AP는 신뢰도 임계값을 움직이며 얻는 정밀도·재현율 곡선을 하나의 값으로 요약한 것입니다. COCO 방식의 mAP@0.5:0.95 는 여러 IoU 기준과 클래스를 평균하므로 대표값으로 쓰기 좋지만, 어떤 오류가 생겼는지는 다른 지표에서 찾아야 합니다.
| 평가 지표 | 읽는 법 | 단독 해석의 한계 |
|---|---|---|
| mAP@0.5:0.95 | 느슨한 상자부터 엄격한 상자까지 평균한 종합 검출 성능 | 클래스별 편차와 운영 임계값을 숨김 |
| AP50 | IoU 0.5에서 객체를 대략 찾는 능력 | 상자 위치가 거칠어도 높게 나올 수 있음 |
| AP75 | IoU 0.75에서 상자를 정확히 맞추는 능력 | 작거나 흐린 객체가 많은 데이터에서는 난도가 크게 올라감 |
| 정밀도 | 검출했다고 한 것 중 실제 객체의 비율 | 임계값을 올리면 대개 높아지고 놓침이 늘 수 있음 |
| 재현율 | 실제 객체 중 모델이 찾아낸 비율 | 임계값을 내리면 대개 높아지고 오탐이 늘 수 있음 |
| F1 micro | 전 클래스의 검출 건수를 합친 뒤 구한 균형 | 표본이 많은 클래스의 성능을 따라감 |
| F1 macro | 클래스별 F1을 같은 무게로 평균한 균형 | 표본이 적은 클래스 몇 건에도 크게 흔들릴 수 있음 |
| 클래스별 AP | 평균에 가려진 취약 클래스 확인 | 표본 수가 적으면 작은 변화에도 크게 흔들림 |
| 크기별 AP | 작은 객체와 큰 객체의 성능 차이 확인 | 데이터셋의 크기 구간 정의를 함께 봐야 함 |
| PR 곡선 | 임계값을 옮길 때 정밀도와 재현율이 맞바뀌는 전체 경로 | 축과 보간 지점이 같아야 곡선끼리 비교 가능 |
| 혼동 행렬 | 실제 클래스와 예측 클래스가 어디서 엇갈렸는지 표시 | 행·열 방향과 정규화 기준을 먼저 확인해야 함 |
| 지연시간·FPS | 운영 장비에서 한 프레임을 처리하는 비용 | 배치 크기, 정밀도, 입출력 시간을 고정해야 비교 가능 |
정밀도와 재현율은 모델에 고정된 한 쌍의 숫자가 아닙니다. 신뢰도 임계값과 NMS 설정이 바뀌면 함께 움직입니다. 포털에는 평가값과 사용한 임계값을 같은 실행 기록으로 묶어 두어야 합니다.
PR 곡선과 혼동 행렬로 오류 찾기
PR 곡선은 가로축 재현율, 세로축 정밀도로 두고 클래스마다 한 선을 그립니다. 오른쪽 위에 가깝고 넓게 유지되는 곡선이 좋습니다. 곡선이 중간에서 갑자기 꺾이면 임계값을 낮춰도 더 찾지 못하거나 오탐이 빠르게 늘어나는 구간입니다. AP 숫자만 볼 때보다 운영 임계값을 어디에 둘지 판단하기 쉽습니다.
혼동 행렬은 실제 클래스와 예측 클래스를 교차해 어떤 대상을 무엇으로 틀렸는지 보여 줍니다. 행을 실제 클래스로 두었다면 대각선은 정답, 다른 칸은 클래스 혼동입니다. 배경 열은 주로 미탐, 배경 행은 주로 오탐을 뜻합니다. 칸을 개수로만 보면 표본이 많은 클래스가 화면을 지배하므로 행 기준 비율과 실제 건수를 함께 봅니다.
F1 micro는 전체 건수를 합산해 다수 클래스를 잘 반영하고, F1 macro는 클래스별 값을 평균해 희소 클래스의 실패를 드러냅니다. 검증셋에 정답도 예측도 없는 클래스는 0점이 아니라 측정 불가이므로 macro 평균에서 제외한 클래스 수도 함께 표시해야 합니다.
속성 예측이 있는 모델
상자마다 자세, 상태, 역할 같은 속성을 함께 예측하는 모델은 검출과 속성 평가를 분리합니다. 속성 정확도의 분모는 IoU 기준을 넘고 클래스까지 맞은 검출 상자로 제한해야 합니다. 검출하지 못한 상자까지 섞으면 검출 성능과 속성 성능이 한 숫자에 뒤엉킵니다. 값이 두 개인 축은 다수 값만 반복해도 정확도가 높아질 수 있으므로 축별 값 혼동 행렬을 함께 확인합니다.
서로 다른 신호가 가리키는 문제
| 보이는 현상 | 우선 확인할 문제 | 다음 확인 |
|---|---|---|
| AP50은 높은데 AP75가 낮음 | 상자 위치와 크기가 부정확함 | 라벨 경계, 입력 해상도, 상자 회귀 손실 |
| 정밀도는 높은데 재현율이 낮음 | 놓침이 많거나 임계값이 높음 | 미탐 표본, 신뢰도 분포, 희소 클래스 |
| 재현율은 높은데 정밀도가 낮음 | 오탐이 많거나 임계값이 낮음 | 배경 오탐, 유사 클래스, NMS |
| 평균 AP는 오르는데 특정 클래스가 하락 | 평균에 취약 클래스 회귀가 가려짐 | 클래스별 AP와 혼동 행렬 |
| 오프라인 AP는 오르는데 FPS가 하락 | 운영 장비의 처리 예산 초과 | 입력 크기, 후처리, 배치, 정밀도 |
지표가 비어 있을 때
| 증상 | 먼저 확인할 곳 |
|---|---|
| 클래스별 AP·PR 곡선·혼동 행렬이 모두 없음 | 훈련 후 검출 평가 단계의 오류 기록과 평가 산출물 |
| PR 곡선만 없음 | 곡선 데이터를 저장하기 전 평가 코드 버전인지 확인 |
| 지표 전체가 없고 실행 상태가 실패·중단 | 모델 성능보다 훈련 로그 마지막 오류와 종료 원인부터 확인 |
| 진행률이 오래 같은 값 | 에폭 시간과 반복 단위 진행을 확인해 긴 계산과 실제 정체를 구분 |
포털에서 체크포인트를 고르는 순서
- 데이터셋 버전, 검증 분할, 평가 설정이 같은 실행만 비교 대상으로 고릅니다.
- 총 손실과 구성 손실의 추이를 보고 발산, 급등, 비정상 정체가 없는지 확인합니다.
- mAP@0.5:0.95와 AP50·AP75를 함께 보고 검출 여부와 위치 정밀도를 구분합니다.
- 클래스별·크기별 결과와 오탐·미탐 표본을 열어 평균값에 가려진 회귀를 찾습니다.
- 운영 임계값에서 정밀도·재현율을 다시 계산하고 실제 장비의 지연시간과 FPS를 확인합니다.
- 운영 목표에 맞는 체크포인트를 선택하고 데이터·코드·가중치·임계값을 한 실행 기록으로 고정합니다.
안전 경보처럼 놓침의 비용이 큰 경우에는 재현율을 먼저 확보하되, 오탐이 운영자가 경보를 무시할 정도로 늘지 않는 지점을 찾아야 합니다. 반대로 자동 집계처럼 잘못 센 한 건의 비용이 큰 경우에는 정밀도를 더 우선할 수 있습니다. 그래서 최종 선택은 최고 mAP가 아니라 업무 비용을 반영한 임계값에서 목표를 만족하는 모델이어야 합니다.
지표는 문제를 찾을 방향을 알려 주고, 실제 오탐·미탐 표본은 문제의 내용을 보여 줍니다. 포털의 숫자 표에서 끝내지 않고 최악 표본과 현장 영상을 함께 확인해야 평가가 완료됩니다.