
Conformal Prediction을 통한 AI의 불확실성 정량화 (Part — 2)
요약
Conformal Prediction의 핵심 아이디어와 역사적 배경을 다룹니다. 확률 추정 대신 데이터의 이상함을 측정하는 방식으로 AI 모델의 불확실성을 정량화하고 신뢰 구간을 보장하는 원리를 설명합니다.
핵심 포인트
- 모델의 답변이 정답일 확률을 수학적으로 보장함
- 확률 추정이 아닌 데이터의 이상함(strangeness)을 측정하는 방식
- 딥러닝의 과잉 확신 문제를 해결하기 위한 핵심 기술
- MAPIE와 같은 라이브러리를 통해 실무 적용 가능
제2장 — Conformal Prediction의 이면에 담긴 아이디어
제1장은 하나의 약속과 함께 마무리되었습니다. 모델이 아주 작은 답변 집합을 출력하게 만들 수 있으며, 진실이 적어도 (예를 들어) 90%의 확률로 해당 집합 안에 포함된다는 깨지지 않는 보장을 결합할 수 있다는 약속입니다. 그리고 이는 어떤 모델에서든, 어떤 종류의 데이터에서든 작동합니다. 이 약속은 아마도 사실이라기엔 너무나 좋아 보일 것입니다. 이 장에서는 전체적인 아이디어를 쉬운 영어로 보여줌으로써 그것이 타당하다는 것을 당신에게 납득시킬 것입니다. 다음 장에서는 이 아이디어를 정밀한 수학으로 변환합니다. 이 장의 끝에 도달하면, 당신은 아직 증명할 수는 없더라도 왜 Conformal Prediction이 작동하는지 알게 될 것입니다.
2.1 아이디어의 기원
Conformal Prediction 방법론은 독특한 계보를 가지고 있습니다. 이것은 일반적인 통계학에서 진화한 것이 아니라, 1990년대 후반 Vladimir Vovk, Alexander Gammerman, Glenn Shafer가 제기한 무작위성(randomness) 자체에 대한 질문에서 비롯되었으며, 이들의 2005년 저서에 집약되었습니다. Vovk는 현대 확률론의 창시자 중 한 명인 Kolmogorov 밑에서 수학했습니다. Conformal Prediction의 씨앗은 우리가 전체 과정에서 사용할 매우 아름답고 단순한 재구성(reframing)에 있습니다. 즉, "이 새로운 답변이 맞을 확률은 얼마인가?"라고 묻는 대신 — 이는 데이터의 실제 분포(true distribution)를 알아야 할 것 같은 어려운 질문입니다 — 대신 "만약 이 답변이 맞다고 가정한다면, 내가 가진 데이터 집합이 얼마나 이상하거나 평범하게 보일 것인가?"라고 묻는 것입니다. 확률을 추정하는 것에서 이미 가지고 있는 데이터에 대해 이상함(strangeness)을 측정하는 것으로의 이러한 전환이 전체적인 비결이며, 그 외의 모든 것은 장부 정리(bookkeeping)에 불과합니다.
대략 15년 동안 이 아이디어는 작은 연구 커뮤니티 내에 머물러 있었습니다. 이 기술이 널리 사용되기 시작한 것은 2020년경이며, 서로를 강화하는 세 가지 이유 때문이었습니다. 첫째, 딥러닝 (deep learning) 붐은 신뢰할 수 있는 불확실성 (uncertainty)에 대한 절박한 필요성을 만들어냈는데, 이는 바로 1장에서 설명한 과잉 확신 (overconfidence) 때문이었습니다. 둘째, 2021년 Anastasios Angelopoulos와 Stephen Bates가 작성한 명확하고 친절한 튜토리얼이 이론을 실무 엔지니어들이 이해할 수 있는 언어로 번역해 주었습니다. 셋째, 이 방법을 연구 프로젝트가 아닌 단 몇 줄의 코드로 구현할 수 있게 해주는 기성 소프트웨어 라이브러리들이 등장했습니다. 우리는 나중에 이 라이브러리 중 하나인 MAPIE에 대해 논의할 것입니다.
2.2 Conformal Prediction의 전체적인 개념
수학 없이 처음부터 끝까지 설명하는 Conformal Prediction의 과정입니다. 천천히 읽어보세요. 이후의 모든 내용은 이에 대한 상세 설명입니다.
당신은 이미 학습이 완료된 모델에서 시작합니다. 당신은 모델의 신뢰도 (confidence) 수치를 신뢰하지 않습니다 — 그 이유는 1장에서 설명했습니다. 하지만 당신에게는 모델이 학습 과정에서 본 적이 없는 레이블이 지정된 예시 (labeled examples) 더미가 있습니다. 즉, 정답을 알고 있는 입력값들입니다. 우리는 이 더미를 교정 세트 (calibration set)라고 부를 것입니다. 이것을 모델이 치러야 하는 공정한 시험이라고 생각하십시오. 당신은 이미 정답지를 가지고 있습니다.
첫째, 당신은 이 시험에서 모델을 채점하되, 다소 독특한 방식으로 진행합니다. 교정 세트 (calibration set)의 각 예시에 대해 당신은 단 하나의 질문을 던집니다: "모델이 이 예시에서 얼마나 형편없었는가?" 당신은 이를 하나의 숫자로 요약하며, 숫자가 클수록 모델이 더 못했다는 것을 의미합니다. 이 "얼마나 형편없었는가"를 나타내는 숫자를 비적합도 점수 (nonconformity score)라고 부릅니다. 비적합도 (nonconformity)라고 부르는 이유는 이 점수가 해당 예시가 모델의 예상과 얼마나 일치하지 않는지 (how poorly the example conforms)를 측정하기 때문입니다. 분류기 (classifier)의 경우, 이러한 자연스러운 점수는 모델이 정답에 할당한 확률을 1에서 뺀 값입니다. 만약 모델이 정답에 0.95의 확률을 부여했다면 모델은 잘 수행한 것이며 점수는 작은 0.05가 됩니다. 반대로 정답에 단 0.30의 확률만 부여했다면 모델은 형편없이 수행한 것이며 점수는 큰 0.70이 됩니다. 당신은 교정 세트의 모든 예시에 대해 이 점수를 계산하며, 이제 "모델이 일반적으로 얼마나 형편없게 수행하는지"를 나타내는 숫자 더미를 갖게 됩니다.
둘째, 당신은 이 점수들이 좀처럼 넘지 못하는 값을 찾습니다. 구체적으로, 만약 90%의 보장 (guarantee)을 원한다면, 교정 점수의 90%가 그 아래에 위치하는 숫자를 찾습니다. 즉, 상위 최악의 10%의 점수만이 그 위에 놓이는 지점을 찾는 것입니다. 이 절단값 (cutoff value)을 임계값 (threshold)이라고 부릅시다. 이는 사실상 "정상적인 나쁨 (normal badness)"의 경계를 나타냅니다. 이 값보다 낮은 점수는 모델이 일상적으로 저지르는 종류의 실수이며, 이 값보다 높은 점수는 이례적으로 나쁜 경우입니다. (다음 섹션에서 이러한 절단값을 찾는 방법을 설명합니다. 지금은 그저 "점수의 90%가 그 아래에 위치하는 값"이라는 개념만 기억해 두십시오.)
셋째, 새로운 입력(input)이 도착하면 예측을 수행해야 합니다. 여기서 영리한 전략이 등장합니다. 입력이 가질 수 있는 모든 가능한 답변을 고려하고, 각 후보 답변이 실제 정답일 경우 그 답변의 비정상성 점수(nonconformity score)가 얼마가 될지를 계산합니다. 그런 다음, 점수가 임계값(threshold) 아래에 있는 모든 후보 답변—즉,
100명 학생의 시험 점수가 있다고 가정해 봅시다. 여러분은 하위 90%와 상위 10%를 구분하는 점수를 알고 싶습니다. 100개의 점수를 가장 작은 것부터 가장 큰 것 순으로 나열한 뒤, 그 선을 따라 90% 지점까지 이동합니다. 여러분이 서 있는 바로 그 점수가 90백분위수(90th percentile), 또는 동일하게 0.9 분위수(0.9 quantile)입니다. 즉, 학생의 90%는 이 점수와 같거나 그보다 낮고, 10%는 이 점수보다 높습니다. 따라서 분위수(quantile)란 정렬된 목록에서 선택한 위치의 절단점(cutoff)일 뿐이며, 전혀 신비로운 것이 아닙니다. 0.5 분위수는 중앙값(median)으로 더 잘 알려진 중간값입니다. 0.9 분위수는 전체의 9/10 지점에 있는 값입니다. 일반적인 방법은 다음과 같습니다: 숫자를 정렬한 다음, 선택한 비율에 해당하는 위치의 숫자를 고릅니다.
Conformal Prediction (컨포멀 예측)의 경우, 우리가 정렬하는 숫자는 교정 세트(calibration set)의 비적합도 점수(nonconformity scores)이며, 우리가 선택하는 비율은 우리가 원하는 보장(guarantee)에 대응합니다. 90%의 확률로 정답을 맞히고 싶나요? 점수의 대략적인 0.9 분위수를 임계값(threshold)으로 취하십시오. 우리가 선택하는 정확한 위치와 관련하여 작지만 정말 중요한 조정 사항이 하나 있습니다. 이는 새로운 테스트 예시(test example)를 포함하여 계산하고, 내림(rounding down) 대신 올림(rounding up)을 하는 것과 관련이 있습니다. 하지만 이 조정 사항은 제3장의 세부 사항이며, 지금 이를 건너뛴다고 해서 이해에 지장이 생기지는 않습니다. 핵심적인 그림은 단순히 이것입니다: "모델이 얼마나 잘못했는가"를 나타내는 점수들을 정렬하고, 목표로 하는 비율의 점수들이 그 아래에 위치하게 되는 상단 근처의 값을 취하십시오. 그 값이 임계값이며, 보장된 예측(guaranteed predictions)을 시작하기 위해 저장해야 할 유일한 것입니다.
2.4 이 방법의 핵심에 있는 거래
[
한 걸음 물러나서 우리가 맺은 이상하고 멋진 거래에 주목해 보세요. 이 보장(90% 커버리지)은 모델이 얼마나 좋은지에 의존하지 않습니다. 희망 없는 모델과 뛰어난 모델 모두 정확히 90%의 커버리지를 달성합니다. 이는 명백한 우려를 제기합니다. 만약 희망 없는 모델도 90%에 도달한다면, 이 보장은 가치가 없다는 것 아닌가요?
그 답이 바로 이 주제 전체에서 가장 중요한 직관입니다. 즉, 모델의 품질이 보장이 유지되는지 여부를 바꾸지는 않지만, 그 보장을 위해 필요한 집합의 크기를 바꾼다는 것입니다.
극단적인 예를 들어보겠습니다. 완전히 쓸모없는 모델, 아무것도 학습하지 못한 모델이라도 컨포멀 예측(conformal prediction)으로 감싸면 여전히 90% 커버리지를 달성할 수 있습니다. 하지만 이는 거대한 집합을 반환함으로써 이루어집니다. 만약 진실이 그 안에 있을 확률이 90%가 되도록 하려면 거의 모든 가능한 답을 포함해야 한다면, 실제로 그렇게 하고, 그 결과로 나오는 “예측 집합(prediction sets)”은 쓸모없을 정도로 커집니다. 반면에 정말 좋은 모델은 작고 날카로운 집합으로 동일한 90% 커버리지를 달성합니다. 종종 단 하나의 답만 포함하기도 합니다. 왜냐하면 이 모델의 비순응도 점수(nonconformity scores)가 정답과 오답을 깨끗하게 분리하고, 임계값 아래에 떨어지는 후보군이 몇 개에 불과하기 때문입니다.
따라서 컨포멀 예측은 일종의 번역을 수행합니다. 이는 약속으로 말하기 어려운 모델의 품질을 우리가 요청한 커버리지를 고정시킨 채 예측 집합의 크기로 변환하는 것입니다. 유효성(Validity) — 즉 보장 자체 — 은 무료이고 자동입니다. 효율성(Efficiency) — 작고 유용한 집합 — 이 좋은 모델이 얻는 것입니다. “하지만 분명히 나쁜 모델은 보장을 깨뜨릴 거야”라고 걱정하게 될 때마다, 기억하세요. 그것은 보장을 깨뜨리는 것이 아니라, 단지 집합을 크게 만들 뿐입니다. 바로 이 거래가 보장이 공허하지 않으면서도 정직할 수 있게 만듭니다.
2.5 유일한 가정: 교환성(exchangeability)
우리는 지금까지 "새로운 예시가 교정 (calibration) 예시들과 동일한 종류라고 가정한다"라는 문구에 두 번 의존해 왔습니다. 이제 그 가정을 명확하게 정의할 때가 되었습니다. 왜냐하면 이것이 Conformal Prediction이 하는 유일한 가정이며, — 우리가 반복해서 보게 되겠지만 — Conformal Prediction을 실패하게 만들 수 있는 유일한 요소이기 때문입니다. 모든 것이 이 가정에 달려 있으므로, 세심한 주의를 기울일 가치가 있습니다.
이 가정은 교환 가능성 (exchangeability)이라고 불리며, 쉬운 말로 표현하면 다음과 같습니다: 예시들이 도착한 순서는 아무런 정보를 담고 있지 않습니다. 각 레이블이 지정된 (labeled) 예시를 카드에 적고, 교정 예시와 새로운 테스트 예시를 모두 포함하여 모든 카드를 함께 섞은 뒤, 한 줄로 나누어 놓는다고 상상해 보십시오. 교환 가능성 (exchangeability)은 카드의 어떤 가능한 순서도 다른 어떤 순서보다 더 발생할 가능성이 높지 않음을 의미합니다. 어떤 예시가 우연히 "마지막"에 왔는지에 대해 특별한 것은 없습니다. 데이터의 패턴으로부터 어떤 카드가 테스트 포인트 (test point)였는지 구별할 수 없다면, 그 예시들은 교환 가능 (exchangeable)합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

