본문으로 건너뛰기
고급약 40분

학습·검증 데이터 분리와 편향 확인 — 성능 수치가 부풀려지는 경로

의료 AI 의 성능 수치는 데이터를 어떻게 나눴는지에 따라 크게 달라진다. 같은 환자의 영상이 학습과 평가에 함께 들어가면 성능이 부풀고, 기관·장비·집단이 치우치면 현장에서 성능이 떨어진다. 누출이 생기는 경로를 축으로 정리하고, 분리가 올바른지 검사로 확인하고, 편향을 집단별 성능으로 드러내는 방법을 다룬다.

  • #데이터분리
  • #데이터누출
  • #환자단위분리
  • #편향
  • #외부검증
  • #의료AI

개념

성능 수치는 데이터 나누기에서 결정된다

레슨 1 에서 성능 지표를 다뤘다. 그 숫자가 어느 데이터에서 나왔는지 가 숫자 자체보다 중요한 경우가 많다.

핵심 원리는 단순하다. 평가 데이터가 학습에 조금이라도 섞이면 성능이 부풀어 오른다. 그리고 의료 데이터에서는 그 "조금" 이 생기는 경로가 많고 눈에 잘 보이지 않는다.

공개 자료가 보고하는 영향 크기가 이 문제의 심각성을 보여 준다. 환자 단위 구조를 무시하면 중간 정도의 누출 상황에서도 AUC 가 관측 단위에서 약 18 퍼센트포인트, 환자 단위에서 약 12 퍼센트포인트 부풀 수 있다 는 분석이 있고, 병리 영상에서 한 환자의 조각(tile) 이 학습과 검증에 함께 들어가는 경우 성능 지표가 최대 41 퍼센트포인트까지 부풀 수 있으며, 환자 단위 분리를 적용하면 알려진 모델의 성능이 크게 떨어지는 것이 드러난다는 보고가 있다.

퍼센트포인트 수십 단위의 차이 다. 이것은 모델의 좋고 나쁨이 아니라 측정이 틀렸는지 의 문제이고, QA 가 확인하지 않으면 아무도 확인하지 않는다.

인용한 수치는 특정 연구·조건의 결과이므로 우리 상황에 그대로 적용되지 않는다. 읽어야 할 것은 크기의 자릿수 다 — 누출은 소수점 문제가 아니라 결론을 바꾸는 문제다.

누출이 생기는 경로 — 축으로 정리한다

QA 가 확인할 축이 일곱이다.

축누출이 생기는 방식
환자같은 환자의 다른 영상·다른 검사가 학습과 평가에 나뉘어 들어간다
검사·시점같은 검사의 여러 장면, 또는 같은 환자의 추적 검사가 갈린다
조각·패치한 영상에서 잘라 낸 조각들이 학습과 평가에 섞인다
전처리 기준정규화·보정 통계를 전체 데이터로 계산한 뒤 나눈다
라벨 경로평가 라벨을 만드는 데 모델 출력이 쓰였다
선택 기준평가 데이터를 모델이 잘하는 조건으로 골랐다
반복 조정평가 데이터를 보고 모델을 고치는 것을 반복했다

첫 번째가 가장 흔하고 가장 큰 영향을 준다. 의료 데이터는 한 환자에게 여러 건 이 있는 것이 기본이다. 좌·우, 여러 각도, 여러 시점, 여러 부위. 무작위로 나누면 같은 환자의 데이터가 양쪽에 들어가고, 모델은 그 환자의 특징을 외운다.

그래서 원칙이 정해진다. 환자 단위로 나눈다. 공개 자료는 표준적인 K-겹 교차검증이 환자 그룹을 무시하므로 환자 단위 누출을 허용 한다고 지적한다. 그룹을 고려하는 분할 방식을 써야 한다.

네 번째(전처리 기준) 는 눈에 잘 안 보인다. 영상 밝기를 정규화하기 위해 평균·표준편차를 구하는데, 그것을 나누기 전 전체 데이터로 계산하면 평가 데이터의 정보가 학습에 들어간다. 올바른 순서는 나눈 뒤 학습 데이터만으로 기준을 계산하고 그 기준을 평가 데이터에 적용 하는 것이다.

일곱 번째(반복 조정) 는 가장 다루기 어렵다. 평가 데이터로 성능을 보고 모델을 고치는 것을 여러 번 반복하면, 그 평가 데이터는 더 이상 독립적이지 않다 — 사실상 학습에 쓰인 것이다. 그래서 최종 평가용 데이터를 따로 봉인 하는 설계가 필요하다. 아래에서 다룬다.

세 묶음과 봉인

널리 쓰이는 분할 구조다.

[학습용]        모델을 학습시킨다
[개발·조정용]   하이퍼파라미터·임계값을 고르고 중간 성능을 본다. 여러 번 본다
[최종 평가용]   한 번만 본다. 봉인한다

세 번째가 "봉인" 되어야 하는 이유 가 일곱 번째 누출 축이다. 여러 번 보면 그 데이터에 맞춰 조정하게 되고, 성능이 부푼다.

QA 가 확인할 질문이 셋이다.

  1. 세 묶음이 분리되어 있는가 — 두 묶음만 쓰고 있으면 조정과 평가가 섞여 있다
  2. 최종 평가용을 몇 번 봤는가 — 기록이 있는가
  3. 봤다면 그 뒤에 모델을 고쳤는가 — 고쳤으면 그 데이터는 더 이상 독립이 아니다

두 번째의 기록이 없는 경우가 대부분 이다. 그러면 "몇 번 봤는지 모른다" 가 되고, 성능 수치의 독립성을 주장할 수 없다. 접근 기록을 남기는 절차 를 요구하는 것이 QA 의 실질적 기여다.

분리가 올바른지 검사로 확인한다

"환자 단위로 나눴습니다" 를 말로 받지 않고 검사로 확인 한다. 모듈 61 레슨 2, 모듈 46 레슨 10 의 "결과 0건이면 통과" 형태로 만든다.

검사통과 조건
환자 식별자 교집합학습·평가 묶음 간 환자 식별자가 겹치지 않음 → 0건
검사 식별자 교집합같은 검사가 양쪽에 없음 → 0건
영상 식별자 중복같은 영상이 두 묶음에 없음 → 0건
조각 출처 교집합조각의 원본 영상이 양쪽에 없음 → 0건
내용 해시 중복식별자가 달라도 내용이 같은 파일이 없음 → 0건
묶음 크기·구성선언된 비율과 실제가 일치

다섯 번째가 식별자만으로 못 잡는 누출을 잡는다. 같은 영상이 다른 식별자로 두 번 들어온 경우, 익명화 과정에서 식별자가 새로 부여된 경우가 실재한다. 내용 기반 비교가 그것을 잡는다.

이 검사들을 데이터 준비 파이프라인에 넣는 것 이 목표다. 사람이 한 번 확인하는 것으로는 유지되지 않는다 — 데이터가 추가될 때마다 다시 확인되어야 한다.

편향 — 집단별로 쪼개 보지 않으면 보이지 않는다

누출이 성능을 부풀리는 문제라면, 편향은 특정 집단에서 성능이 낮은데 전체 평균에 가려지는 문제다.

전체 민감도 90% 인 모델이 이렇게 구성될 수 있다.

전체 민감도 90%
  ├ 집단 A (표본 900건) → 92%
  └ 집단 B (표본 100건) → 72%

집단 B 에서는 쓸 수 없는 모델 인데 전체 숫자는 좋다. 그리고 집단 B 가 임상적으로 중요한 집단 일 수 있다 — 고령층, 소아, 특정 질환 동반, 특정 장비로 촬영한 영상.

그래서 QA 가 요구할 것이 분명하다. 집단별 성능을 쪼개서 보고하라.

쪼갤 축은 이렇다.

축왜 중요한가
촬영 장비·제조사·모델영상 특성이 다르다. 학습에 없던 장비에서 떨어진다
촬영 조건·프로토콜선량, 재구성 방식, 두께, 조영 유무
기관장비와 프로토콜이 기관마다 다르다. 가장 큰 변동 요인
연령·성별해부학적 차이와 유병률 차이
동반 질환·삽입물수술 흔적, 금속 삽입물, 다른 병변 동시 존재
질환 중증도·크기작은 병변에서 성능이 떨어지는 것이 전형적이다
영상 품질움직임 흔적, 잡음, 일부 잘림

세 번째(기관) 가 가장 큰 변동 요인 이고, 그것이 외부 검증의 중요성으로 이어진다. 아래에서 다룬다.

여섯 번째(병변 크기) 는 임상적으로 특히 중요하다. 작은 병변을 놓치는 것이 조기 발견의 핵심이고, 전체 성능은 큰 병변이 끌어올린다. 크기 구간별 민감도 를 보고하지 않으면 이 약점이 숨는다.

집단별 보고의 함정 — 표본이 작아진다

쪼개면 각 집단의 표본이 작아지고 신뢰구간이 넓어진다. 레슨 1 에서 다룬 문제가 여기서 커진다.

집단 B 의 표본이 20건이면 민감도 72% 의 신뢰구간이 매우 넓고, "집단 B 에서 성능이 낮다" 고 단정할 수 없다. 그런데 "성능을 확인하지 못했다" 는 것은 말할 수 있다.

이 구분이 중요하다.

상황올바른 보고
집단별 표본이 충분"집단 B 에서 민감도 72%(신뢰구간 …)"
집단별 표본이 부족"집단 B 의 표본이 N 건으로 성능을 확인하지 못했다"
집단이 아예 없음"집단 B 의 데이터가 없다"

두 번째와 세 번째가 정직한 보고 이고, 그것이 사용 범위 제한이나 추가 데이터 수집으로 이어진다. "성능이 좋다" 로 묻어 버리면 그 집단에서 쓰이고 문제가 난다.

모듈 65 레슨 4 에서 다룬 "덮이지 않은 영역을 명시하는 것이 증거의 신뢰를 만든다" 와 같은 원칙이다. 전체 숫자 하나보다 집단별 표와 비어 있는 칸 이 강하다.

외부 검증 — 다른 기관 데이터로 재는 것

같은 기관 데이터로만 평가하면 그 기관의 장비·프로토콜·환자 구성에 맞춰진 성능 을 재게 된다. 다른 기관에서는 떨어진다.

공개 자료가 보고하는 실태가 이것을 보여 준다. AI 연구 중 외부 검증이 수행된 비율이 낮다 는 분석이 있고(한 체계적 검토에서 약 15% 수준, 이후 증가 추세), 외부 데이터에서 AUROC 가 평균적으로 낮아지며 절반 가까운 연구에서 0.05 이상 떨어졌다 는 보고가 있다.

이 수치도 특정 분석의 결과이고 우리 경우와 다르다. 읽어야 할 것은 방향이다 — 외부 데이터에서 성능은 거의 항상 떨어지고, 그 하락 폭을 모르면 현장 성능을 예측할 수 없다.

QA 가 확인할 질문이 넷이다.

  1. 외부 검증을 했는가 — 안 했으면 현장 성능을 예측할 근거가 없다
  2. "외부" 가 얼마나 외부인가 — 같은 기관의 다른 기간인가, 다른 기관인가, 다른 지역·장비인가. 외부성의 정도 가 중요하다
  3. 하락 폭이 얼마인가 — 내부 성능과 나란히 보고되는가
  4. 하락의 원인을 분석했는가 — 장비·프로토콜·환자 구성 중 무엇인가

두 번째가 자주 느슨하게 처리된다. 같은 병원의 다른 시기 데이터를 "외부 검증" 으로 부르면 외부성이 거의 없다. 외부성의 정도를 명시 해야 그 결과가 무엇을 보장하는지 알 수 있다.

현장 배포 후의 변화

데이터 문제는 배포로 끝나지 않는다. 시간이 지나면 입력 분포가 변한다.

변화예
장비 교체·갱신새 장비의 영상 특성이 다르다
프로토콜 변경촬영 조건이 바뀐다
환자 구성 변화진료 과목·지역 구성이 바뀐다
유병률 변화레슨 1 의 PPV 가 바뀐다
상류 소프트웨어 갱신재구성·전처리가 달라진다

마지막이 눈에 안 보이는 경로 다. 영상 장비나 PACS 쪽 소프트웨어가 갱신되면 우리 입력이 미묘하게 달라질 수 있고, 모델은 그대로인데 성능이 변한다.

그래서 운영 중 감시 가 필요하다. 모듈 57 레슨 2 의 드리프트 감시, 모듈 40 레슨 8 의 시판 후 감시 되돌림이 여기서 결합된다.

감시할 것은 둘이다.

  • 입력 분포 — 장비·프로토콜 구성, 영상 특성 통계. 학습 당시와 비교
  • 출력 분포 — 양성 판정 비율. 급변하면 입력이 바뀌었거나 문제가 있다

정답이 늦게 오거나 안 오는 것 이 의료의 특성이다. 확진까지 시간이 걸리고, 일부는 확인되지 않는다. 그래서 출력 분포 감시가 대리 지표 로 쓰이고, 정답이 모이는 대로 주기적 재평가를 한다.

데이터 취급 — 절차 안에서만

이 레슨의 모든 작업은 환자 데이터 를 다룬다. 전제를 분명히 해 둔다.

  • 접근 권한과 승인 절차 안에서만 작업한다
  • 가명·익명 처리 방식과 그 결과 검증 이 필요하다(모듈 41 레슨 10 의 "가명화를 돌린 기록은 있고 결과를 확인한 기록은 없다" 와 같은 문제)
  • 의료 영상에는 파일 메타데이터에 식별 정보 가 들어 있을 수 있다. 영상 자체만 가리고 메타데이터를 그대로 두는 실수가 실재한다(레슨 4 와 연결)
  • 반출 통제와 보관 기간 이 규정과 법령에 따라 정해진다
  • 절차를 우회하지 않는다. 분석 편의를 위한 우회는 그 자체로 중대한 문제다

QA 가 데이터 분리·편향 분석을 하려면 데이터에 접근해야 하고, 그 접근이 정당한 절차로 이뤄졌는지 가 심사에서 확인된다.

실무에서 왜 필요한가

의료 AI 조직에서 성능 수치가 부풀어 있는 것을 발견하는 것은 QA 가 만들 수 있는 가장 큰 가치 다. 그리고 그 발견은 어려운 분석이 아니라 식별자 교집합 검사 한 번 으로 나오는 경우가 많다.

환자 단위 분리가 안 되어 있으면 보고된 성능이 전부 다시 계산되어야 하고, 그 사실을 출시 전에 아는 것과 심사·현장 도입 후에 아는 것의 차이가 자릿수로 크다. "환자 식별자가 겹치지 않는지 확인했습니까" 라는 질문 하나 가 그 차이를 만든다.

두 번째 기여는 집단별 성능 쪼개기 다. 전체 평균에 가려진 약점을 드러내고, 표본이 부족한 집단은 "확인하지 못했다" 로 정직하게 보고 하게 만든다. 그 보고가 사용 범위 제한이나 추가 데이터 수집으로 이어진다.

세 번째는 외부성의 정도를 묻는 것 이다. "외부 검증했습니다" 를 받으면 "어느 정도로 외부입니까" 를 묻는다. 같은 기관 다른 기간이면 외부성이 거의 없고, 그 사실이 보고에 적혀야 한다.

네 번째는 최종 평가 데이터 접근 기록 이다. 몇 번 봤는지 기록이 없으면 성능의 독립성을 주장할 수 없다. 기록 절차를 요구하는 것은 비용이 거의 없고 효과가 크다.

다섯 번째는 배포 후 입력 분포 감시 다. 모델은 그대로인데 성능이 변하는 경로가 있고, 상류 소프트웨어 갱신 같은 것은 아무도 우리 쪽 영향으로 생각하지 않는다. 감시를 요구해 두면 그 변화를 잡는다.

채용시장에서의 위치

이 영역은 의료 AI 공고에서 "데이터 검증", "성능 평가", "임상 검증 지원" 으로 나타나고, 의료기기 시험기관과 인허가 컨설팅 쪽에서도 요구된다.

특징은 데이터 엔지니어링과 임상 이해의 교집합 이라는 점이다. 식별자 구조를 이해하고 검사를 만들 수 있으면서, 어느 집단이 임상적으로 중요한지 판단할 수 있어야 한다. 양쪽을 다루는 사람이 적다.

면접에서 가르는 질문이 분명하다. "성능 수치가 부풀려졌는지 어떻게 확인 하시겠습니까." 환자 단위 식별자 교집합, 전처리 기준 계산 시점, 최종 평가 데이터 접근 횟수를 들면 즉시 구분된다. 그리고 "전체 민감도 90% 보고를 받으면 무엇을 물어보시겠습니까" — 집단별로 쪼갠 결과와 각 집단의 표본 수를 묻겠다고 답하면 실무자로 읽힌다.

실습 과제

집단 구분 기준·목표 성능·표본 수 요건은 "요구사항·임상 요구·통계 계획에서 확인(원문 확인)" 으로 표시한다. 실제 환자 데이터를 쓰지 않는다 — 가상의 식별자와 가상의 수치로 설계한다.

과제 1 — 누출 경로 점검표 (30분)

  1. 본문의 일곱 축으로 누출 점검표 를 만든다. 각 축에 "우리 데이터에서 이 누출이 생길 수 있는 구체적 경로" 를 적는다
  2. 가상의 의료 영상 데이터 구조를 설정한다 — 환자 1명에 검사 여러 건, 검사 1건에 영상 여러 장, 영상 1장에서 조각 여러 개
  3. 그 구조에서 무작위 분할 을 하면 어느 축에서 누출이 생기는지 단계별로 그린다
  4. 전처리 기준 축을 특히 공들여 쓴다. 잘못된 순서와 올바른 순서를 각각 단계로 적고, 왜 잘못된 순서가 눈에 잘 안 보이는지 설명한다
  5. 반복 조정 축에 대해, 평가 데이터를 여러 번 보면 독립성이 사라지는 구조를 한 문단으로 쓴다
  6. 인용된 영향 크기(퍼센트포인트 수십 단위) 가 특정 연구의 결과이고 우리에게 그대로 적용되지 않는다 는 것을 적되, 읽어야 할 것은 자릿수 라고 정리한다

과제 2 — 분리 검사 설계 (30분)

  1. 본문의 여섯 검사를 판정 가능한 형태 로 쓴다(결과 0건이면 통과)
  2. 검사를 3개 더 추가한다
  3. 내용 해시 중복 검사를 공들여 설계한다. 식별자만으로 못 잡는 경우 (같은 영상이 다른 식별자로, 익명화 중 식별자 재부여) 를 구체적으로 적는다
  4. 이 검사들을 데이터 준비 파이프라인에 넣는 구조를 설계한다. 사람이 한 번 확인하는 것으로 유지되지 않는 이유를 적는다
  5. 검사가 실패했을 때의 처리 절차를 쓴다 — 누가 판정하고, 보고된 성능은 어떻게 되는가
  6. 이 검사가 모듈 61 레슨 2·모듈 46 레슨 10 과 같은 구조임을 정리한다

과제 3 — 세 묶음과 봉인 절차 (25분)

  1. 세 묶음의 역할을 자기 말로 쓰고, 두 묶음만 쓰면 생기는 문제 를 적는다
  2. 최종 평가용 데이터 봉인 절차 를 설계한다 — 보관 위치, 접근 권한, 접근 기록, 개봉 승인 주체, 개봉 후 처리
  3. 본문의 세 질문(분리 여부·몇 번 봤는지·본 뒤 고쳤는지) 을 확인하는 절차를 쓴다
  4. 접근 기록이 없으면 성능 수치의 독립성을 주장할 수 없는 이유를 한 문단 쓴다
  5. 개봉 후 모델을 고쳤을 때 그 데이터를 더 이상 쓸 수 없는 이유와, 그때 필요한 것(새 평가 데이터) 을 적는다

과제 4 — 집단별 성능 보고 설계 (35분)

이 과제가 이 레슨의 핵심 산출물이다.

  1. 본문의 일곱 축으로 집단 구분표 를 만든다. 각 축의 구간을 정하고 왜 그렇게 나눴는지 근거를 적는다. 임상적으로 중요한 집단은 원문 확인 (임상 요구) 표시
  2. 가상의 성능 결과를 만들어 집단별 성능 표 를 채운다. 각 칸에 성능 지표·표본 수·신뢰구간을 적는다
  3. 일부러 전체 평균에 가려진 약한 집단 을 하나 만들어 두고, 표에서 드러나게 한다
  4. 표본이 부족한 집단 과 데이터가 아예 없는 집단 을 각각 만들고, 본문의 세 가지 보고 형태로 정직하게 쓴다
  5. "성능이 낮다" 와 "확인하지 못했다" 의 구분 을 한 문단으로 정리한다. 후자가 사용 범위 제한·추가 수집으로 이어지는 경로를 적는다
  6. 병변 크기 구간별 민감도 를 반드시 포함한다. 작은 병변 성능이 전체에 가려지는 것이 임상적으로 왜 중요한지 적는다
  7. 모듈 65 레슨 4 의 "덮이지 않은 영역 명시" 원칙과 연결해 정리한다

과제 5 — 외부 검증 검토 (25분)

  1. 본문의 네 질문을 검토 질의 목록 으로 만든다
  2. 외부성의 정도 를 단계로 정의한다 — 같은 기관 다른 기간 / 같은 지역 다른 기관 / 다른 지역 / 다른 장비 구성 / 다른 국가. 각 단계가 무엇을 보장하는지 적는다
  3. "같은 병원 다른 시기" 를 외부 검증이라 부르는 경우의 문제를 쓴다
  4. 내부 성능과 외부 성능을 나란히 보고하는 양식 을 만든다. 하락 폭을 계산하는 칸을 둔다
  5. 하락 원인 분석 절차를 쓴다 — 장비·프로토콜·환자 구성 중 무엇인지 좁히는 방법
  6. 인용된 하락 폭 수치가 특정 분석의 결과임을 명시하고, 읽어야 할 것은 방향 (외부에서 거의 항상 떨어진다) 이라고 정리한다

과제 6 — 배포 후 감시 설계 (25분)

  1. 본문의 다섯 변화 각각에 대해 감시 신호 를 설계한다
  2. 상류 소프트웨어 갱신 을 특히 공들여 쓴다. 영상 장비·PACS 쪽 갱신이 우리 입력을 바꾸는 경로를 그리고, 그것을 알 수 있는 방법을 적는다
  3. 입력 분포 감시 를 설계한다 — 무엇을 재고(장비·프로토콜 구성, 영상 특성 통계), 무엇과 비교하고(학습 당시), 어떤 변화를 경보로 둘지
  4. 출력 분포 감시 를 설계한다. 양성 판정 비율의 급변을 어떻게 판정할지 적는다
  5. 정답이 늦게 오거나 안 오는 의료 특성 아래에서 출력 분포가 대리 지표로 쓰이는 이유를 쓴다. 정답이 모이는 대로 하는 주기적 재평가 절차도 적는다
  6. 감시 결과를 시험 설계로 되돌리는 경로를 모듈 40 레슨 8 과 연결해 쓴다

과제 7 — 데이터 취급 절차 확인 (20분)

  1. 우리 작업에 필요한 데이터 접근의 승인 경로 를 적는다
  2. 가명·익명 처리 결과 검증 검사를 설계한다. 모듈 41 레슨 10 의 "돌린 기록은 있고 결과를 확인한 기록은 없다" 전형을 피하는 형태로
  3. 영상 메타데이터에 식별 정보가 남는 경우를 다루는 검사를 설계한다. 영상 자체만 가리고 메타데이터를 그대로 두는 실수를 짚는다(레슨 4 와 연결)
  4. 반출 통제·보관 기간을 원문 확인(조직 규정·법령) 으로 표시하고 확인 경로를 적는다
  5. 절차 우회가 그 자체로 중대한 문제인 이유를 한 문단 쓴다

자가 체크리스트

  • 성능 수치가 데이터 나누기에서 결정된다는 것을 설명할 수 있다
  • 누출이 성능을 퍼센트포인트 수십 단위로 부풀릴 수 있다는 자릿수를 안다
  • 인용 수치가 특정 연구의 결과이고 우리에게 그대로 적용되지 않음을 안다
  • 누출 경로 일곱 축을 들 수 있다
  • 의료 데이터에서 한 환자에게 여러 건이 있는 것이 기본임을 안다
  • 환자 단위로 나눠야 하고 표준 K-겹이 환자 누출을 허용한다는 것을 안다
  • 전처리 기준을 나누기 전 전체 데이터로 계산하면 누출이 되는 구조를 안다
  • 올바른 순서(나눈 뒤 학습 데이터로 기준 계산) 를 말할 수 있다
  • 평가 데이터를 반복해 보면 독립성이 사라진다는 것을 설명할 수 있다
  • 세 묶음 구조와 최종 평가용 봉인의 이유를 안다
  • 최종 평가 데이터 접근 기록이 없으면 독립성을 주장할 수 없음을 안다
  • 분리를 말로 받지 않고 "0건이면 통과" 검사로 확인할 수 있다
  • 내용 해시 중복 검사가 식별자로 못 잡는 누출을 잡는다는 것을 안다
  • 검사를 파이프라인에 넣어야 유지된다는 것을 안다
  • 편향이 전체 평균에 가려지는 구조를 숫자로 보일 수 있다
  • 집단 쪼개기 일곱 축을 들 수 있다
  • 기관이 가장 큰 변동 요인이며 외부 검증으로 이어진다는 것을 안다
  • 병변 크기 구간별 민감도를 보고해야 하는 임상적 이유를 안다
  • 쪼개면 표본이 작아져 신뢰구간이 넓어진다는 것을 안다
  • "성능이 낮다" 와 "확인하지 못했다" 와 "데이터가 없다" 를 구분해 보고할 수 있다
  • 정직한 보고가 사용 범위 제한·추가 수집으로 이어지는 경로를 안다
  • 외부 검증을 안 하면 현장 성능을 예측할 근거가 없다는 것을 안다
  • 외부성의 정도를 단계로 구분하고 "같은 기관 다른 기간" 의 한계를 안다
  • 외부 데이터에서 성능이 거의 항상 떨어진다는 방향을 안다
  • 배포 후 입력 분포가 변하는 다섯 경로를 들 수 있다
  • 상류 소프트웨어 갱신이 눈에 안 보이는 경로인 이유를 안다
  • 입력·출력 분포 감시를 설계할 수 있다
  • 정답이 늦게 오는 의료 특성 때문에 출력 분포가 대리 지표로 쓰인다는 것을 안다
  • 환자 데이터 취급이 승인 절차 안에서만 이뤄져야 함을 안다
  • 가명화 결과를 검증한 기록이 필요하고, 영상 메타데이터가 빠지기 쉽다는 것을 안다

흔한 실수

무작위로 데이터를 나눈다. 같은 환자의 여러 건이 양쪽에 들어가고 모델이 그 환자를 외운다. 성능이 크게 부풀고, 그것이 측정 오류인 줄 모른다.

"환자 단위로 나눴습니다" 를 말로 받는다. 식별자 교집합 검사 한 번으로 확인된다. 확인하지 않으면 아무도 확인하지 않는다.

식별자 교집합만 확인한다. 같은 영상이 다른 식별자로 들어온 경우를 못 잡는다. 내용 기반 비교가 필요하다.

전처리 기준을 나누기 전에 계산한다. 눈에 잘 안 보이는 누출이고, 코드를 읽어야 발견된다.

평가 데이터를 여러 번 보고 모델을 고친다. 그 데이터는 사실상 학습에 쓰인 것이고, 성능 수치가 독립적이지 않다.

최종 평가 데이터 접근 기록을 안 남긴다. 몇 번 봤는지 모르면 독립성을 주장할 수 없다.

두 묶음만 쓴다. 조정과 평가가 섞여 있고, 임계값을 고른 데이터로 성능을 재게 된다.

분리 검사를 사람이 한 번 한다. 데이터가 추가될 때마다 다시 확인되어야 한다. 파이프라인에 넣는다.

전체 평균만 보고한다. 임상적으로 중요한 집단에서 성능이 낮은데 가려진다.

병변 크기별로 쪼개지 않는다. 작은 병변 성능이 전체에 가려지고, 그것이 조기 발견의 핵심이다.

표본이 부족한 집단을 "성능이 좋다" 로 묻는다. "확인하지 못했다" 가 정직한 보고이고, 그것이 사용 범위 제한으로 이어진다.

신뢰구간 없이 집단별 성능을 단정한다. 쪼개면 표본이 작아지고 추정이 불안하다.

외부 검증을 안 하고 현장 성능을 예측한다. 근거가 없다. 외부에서 거의 항상 떨어진다.

"같은 병원 다른 시기" 를 외부 검증이라 부른다. 외부성이 거의 없고, 그 사실이 보고에 적혀야 한다.

외부 성능만, 또는 내부 성능만 보고한다. 나란히 보고해 하락 폭을 보여야 현장 성능을 예측할 수 있다.

배포하면 끝이라고 본다. 장비 교체, 프로토콜 변경, 상류 소프트웨어 갱신이 입력을 바꾼다. 모델은 그대로인데 성능이 변한다.

정답이 올 때까지 감시를 안 한다. 의료에서 정답은 늦게 오거나 안 온다. 출력 분포를 대리 지표로 감시한다.

분석 편의로 데이터 취급 절차를 우회한다. 그 자체로 중대한 문제이고, 심사에서 접근의 정당성이 확인된다.

영상만 가리고 메타데이터를 그대로 둔다. 파일 메타데이터에 식별 정보가 남아 있을 수 있다.

참고 자료

  • 제품의 데이터셋 정의 문서 — 묶음 구성, 분할 기준, 각 묶음의 환자·검사 수, 수집 기관과 기간. 이 레슨의 모든 검토가 이 문서에서 시작한다
  • 임상 성능 평가 계획 — 집단 구분 기준, 표본 수 요건, 외부 검증 설계. 레슨 3 이 읽는 방법을 다룬다(원문 확인)
  • ISO/IEC TR 24027 — 편향의 출처와 공정성 관련 기술. 모듈 36 레슨 4 가 다룬다 (조항 — 원문 확인)
  • 진단 정확도 연구 보고 지침과 AI 관련 확장 지침 — 보고해야 하는 항목에 관한 공개 지침이 있다. 적용 여부와 항목은 원문에서 확인한다(원문 확인)
  • 조직의 개인정보·의료정보 취급 절차와 관련 법령 — 접근 승인, 가명·익명 처리, 반출 통제, 보관 기간의 정본. 작업 전에 읽는다(원문 확인)
  • 모듈 66 레슨 1 — 성능 지표: 이 레슨이 다루는 숫자의 정의
  • 모듈 66 레슨 3 — 임상 성능시험 설계 읽기: 외부 검증과 다판독자 평가
  • 모듈 66 레슨 4 — DICOM·HL7·FHIR: 영상 메타데이터의 구조
  • 모듈 36 레슨 4 — 편향의 출처 세 갈래와 공정성 지표
  • 모듈 57 레슨 2 — ML 파이프라인 테스트: 데이터·컨셉 드리프트 감시
  • 모듈 40 레슨 8 — 시판 후 감시 되돌림: 감시 결과를 시험 설계로
  • 모듈 41 레슨 10 — 가명화 결과 검증: "돌린 기록은 있고 확인한 기록은 없다"
  • 모듈 61 레슨 2·모듈 46 레슨 10 — "0건이면 통과" 검사의 일반형
  • 모듈 65 레슨 4 — 덮이지 않은 영역을 명시하는 원칙

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

AUC — 곡선 아래 면적
분류를 얼마나 잘하는지 하나의 숫자로 요약한 값. 1에 가까울수록 좋다.
QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.
AI — 인공지능
사람이 규칙을 일일이 적지 않아도 데이터에서 규칙을 찾아 판단하는 소프트웨어.
ISO/IEC — 국제표준화기구·국제전기기술위원회 공동 표준
두 국제 단체가 함께 낸 표준이라는 표시. 뒤에 붙는 숫자가 문서 번호다.
TR — 기술 보고서
표준 단체가 내는 문서 중, 지켜야 하는 요구가 아니라 참고용 설명에 해당하는 것.
DICOM — 의료 영상 표준
엑스레이·시티 같은 의료 영상을 저장하고 주고받는 국제 표준.
HL7 — 에이치엘세븐
병원 시스템끼리 환자 정보를 주고받는 오래된 국제 표준.
FHIR — 파이어
의료 정보를 웹 창구 방식으로 주고받게 만든 새 표준.
ML — 기계학습
데이터를 많이 보여 주고 규칙을 스스로 찾게 하는 방식. 인공지능을 만드는 주된 방법이다.

용어집 전체 보기