판독기에게 무엇을 찾는지 미리 말해버렸다
비전 모델을 측정 장비로 쓰고 있다. 생성된 이미지 한 장을 보여주고 카메라 높이·방향 같은 작은 항목표를 채우게 하는 방식이다. 이 판독기가 붙들고 있던 연구 질문은 “어떤 문구가 저각도(low-angle) 샷을 만들어내는가”였다. 사람이 손으로 라벨을 붙인 30장으로 이 판독기를 검증하던 중, 프롬프트 한 줄이 수상했다.
모델에게 보내는 첫 문장이 이랬다 — “이 측정이 답하려는 연구 질문: …” 이어서 질문 본문이 그대로 따라붙었다. 함수의 설계 원칙에는 이미지만 넣는다고 적혀 있었는데, 그 아래 두 줄에서 스스로 그 원칙을 깨고 있었다. 결과적으로 판독기에게 무엇을 찾고 싶은지 먼저 알려주고 “이게 그거 맞지?”라고 물은 셈이었다.
숫자가 그 사실을 증언했다
저각도 재현율(recall)은 모든 판독기 버전에서 100%였다 — 언뜻 훌륭해 보이지만, 실은 거의 모든 것을 저각도라고 부르고 있었기 때문에 하나도 놓치지 않은 것뿐이었다. 정밀도(precision)는 9.5~12.5% 사이였다. 하이앵글 사진의 절반 가까이가 로우앵글로 잘못 불렸다.
누출의 크기를 재다
문제의 줄을 빼는 건 쉬웠다. 그게 실제로 얼마나 영향을 미쳤는지 알고 싶어서, 같은 그림 30장을 같은 모델로 두 번 읽혔다 — 질문을 뺀 팔과 넣은 팔. 채점은 사람이 라벨을 붙인 27장(사람이 ‘불명확’으로 남긴 3장은 제외)을 기준으로 했다.
| 질문 뺀 팔 | 질문 넣은 팔 | |
|---|---|---|
| 3분류 일치율 | 44.4% | 11.1% |
| 로우앵글 정밀도 / 재현율 | — / 0% | 15.4% / 100% |
| 하이 → 로우 오분류 | 0% | 16.7% |
30장 중 25장이 두 팔 사이에서 판정이 갈렸고, 갈린 방향은 전부 한쪽이었다 — 로우앵글 쪽으로만 쏠렸고 반대 방향은 단 한 건도 없었다. 무작위로 흔들렸다면 양쪽으로 갈렸어야 한다. 이 쏠림 자체가 누출의 증거였다.
뺀 팔도 좋지는 않았다
질문을 빼도 일치율은 44.4%로 문턱(80%)에 한참 못 미쳤고, 사람이 로우앵글이라 부른 두 장 중 한 장도 잡지 못했다. 다만 성질이 달랐다 — 질문이 있는 팔은 한쪽으로 쏠린 고장이었고, 뺀 팔은 그냥 둔한 것이었다. 쏠린 고장은 결과를 뒤집고, 둔한 것은 결과를 약하게만 만든다. 고칠 순서를 정한다면 쏠린 쪽이 먼저였다.
이 실험에서 로우앵글 표본이 27장 중 2장뿐이었다는 점은 짚어둬야 한다. 정밀도·재현율 숫자는 그 2장에 통째로 매달려 있다. 이번에 잰 것은 판독기의 등급이 아니라 두 팔의 차이였고, 그건 같은 30장·같은 모델·같은 필드라는 조건에서만 성립한다. 질문 누출을 코드에서 제거한 뒤 실제로 편향은 사라졌다 — 다만 판독기 자체의 각도 판독 능력이 약하다는 별개의 문제는 그대로 남았다.