본문으로 건너뛰기

기권: 모른다는 것을 아는 것

📍 현재 위치: III부 · 보정, 불확실성, 기권 — 8장. 보정은 맞춰진 온도 하나로 링크 예측기의 확률을 수선했습니다; 이 장은 그 확률들과, 2권과 4권에서 온 두 가지 더 오래된 화폐를, "나는 모른다"고 말할 권리에 씁니다.

모든 질문에 답해야 하는 분류기는 무지할 방법이 없습니다. 그것이 모르는 것은 무엇이든 오류로 바뀌며, 그 오류는 누군가 확인하기 전까지는 다른 모든 답과 똑같아 보입니다. 패턴 인식에서 가장 오래된 해결책은 출력 하나를 더 추가하는 것입니다. 바로 기각 옵션(reject option)입니다: 시스템이 질문을 거절할 수 있게 하고, 그 거절에 값을 매기는 것입니다 [1]. 이 장은 학계 세계 위에서 그 옵션을 온전히 구축합니다: 먼저 점수 기반 장치(선택적 예측(selective prediction), 위험-커버리지 곡선, 그 면적, 그리고 비용-최적 임계값에 대한 두 줄짜리 유도를, 모두 앞 장이 맞춘 보정된 확률 위에서)를 다루고, 그다음 전혀 점수가 아닌 두 가지 기권을 다룹니다. 열린 세계(open-world) 기권은 2권의 주석 달린 구간을 읽어내며, 여기서 "나는 모른다"는 지식 베이스에 관한 구조적 사실입니다. 구조적(structural) 기권은 4권의 번역-후-증명 파이프라인을 다시 인용하며, 여기서는 모든 답이 하나의 증명이고 모든 실패가 눈에 보이는 Error입니다. 이 장의 평결은 셋 모두를 같은 기준으로 비교하는 하나의 커밋된 표입니다: 커버리지, 답한 것에 대한 정확도, 그리고 침묵하는 오답의 비율, 즉 이 시리즈가 1권 이래로 0을 향해 설계해 온 그 양입니다.

쉽게 말하면

마이너스 채점이 있는 시험을 상상해 보십시오: 오답은 1점을 깎고, 빈칸은 0.1점만 깎습니다. 그러면 갑자기 불안한 문제에서는 빈칸으로 남겨 두는 것이 영리한 선택이 되고, 성적은 두 숫자로 갈라집니다. 몇 문제를 시도했는가, 그리고 그중에서 얼마나 잘했는가입니다. 이제 빈칸으로 남기는 데는 세 가지 서로 다른 이유가 있다는 점에 주목하십시오. "공부했지만 확신이 서지 않는다"는 신뢰도 빈칸입니다. 여러분은 개인적인 임계값을 정해 그 아래에 있는 것은 무엇이든 건너뜁니다. "교과서가 진짜로 이것을 결코 확정하지 않는다"는 다른 종류의 빈칸입니다. 어떤 임계값 조정도 이것을 바꾸지 못하는데, 그 자료 자체가 미결정이기 때문입니다. 그리고 "나는 이 문제를 파싱조차 할 수 없다"는 세 번째 빈칸입니다. 원한다 해도 시도할 수조차 없었을 것입니다. 이 장은 첫 번째 종류를 정확히 측정한 다음, 나머지 둘이 비록 더 거칠지만 첫 번째가 결코 가지지 못한 무언가를 지니고 있음을 보여 줍니다. 그것들이 실패할 때는 요란하게 실패한다는 것입니다.

이 장에서 다루는 내용

  • 선택적 예측, 정밀하게: 예측기와 선택 함수의 쌍, 답한 비율로서의 커버리지, 답한 것에 대한 오류율로서의 선택적 위험, 그리고 어떤 공식이 등장하기 전에 해독되는 곡선 구성(신뢰도로 정렬하고, 임계값을 훑고, 자를 때마다 점 하나)을 다룹니다.
  • 실제 점수 위의 곡선: 126개의 보정된 질문에 대한 정밀한 위험-커버리지 훑기, 세 개의 정박점에서 읽은 커밋된 곡선 표, 단언된 절반-커버리지 개선, 그리고 면적 요약으로서의 위험-커버리지 곡선 아래 면적(area under the risk-coverage curve, AURC)과 숫자 하나가 무엇을 숨기는지를 다룹니다.
  • 유도된 Chow의 규칙: 기권에 crc_r의 값을 매기고 오류에 1의 값을 매길 때, 임계값 θ=1cr\theta = 1 - c_r에 대해 두 줄로 풀리는 기대-비용 비교와, 보정이 왜 그 전제조건인지를 다룹니다.
  • 침묵의 다른 두 종: [0,1][0,1]로 주석 붙은 원자가 구조적으로 미결정이고 어떤 보정 집합도 존재하지 않는 열린 세계 구간 정책, 그리고 파서의 Error 판정이 침묵하는 오류를 구성상 불가능하게 만드는 구조적 정책을 다룹니다.
  • 세 정책의 평결: 커버리지 대 답한-것에-대한-정확도 대 침묵 오류율을 담은 하나의 커밋된 표입니다: 임계값은 매끄럽게 거래되지만 침묵 속에서 틀리고, 구간과 구조는 더 거칠지만 요란하게 실패합니다.
  • 권 전체에 걸친 기권: 개념 불확실성에 대한 지름길-인식 기권, V부를 위해 예고된 검증기-예산 기권, 그리고 정확히 열린 세계 질의에 대한 보정된 기권인 SATORI의 주장을 다룹니다.

빠진 출력

정의부터 시작합시다. 이 주제 전체가 숫자 한 쌍이며, 그 쌍은 정확해야 하기 때문입니다. 선택적 분류기(selective classifier)는 하나의 쌍 (f,g)(f, g)입니다: 예측기(predictor) ff는 질문 xx를 답 하나로 사상하고, 선택 함수(selection function) gg는 같은 질문을 11("답한다") 또는 00("기권한다")으로 사상합니다. 시스템은 g(x)=1g(x) = 1일 때 f(x)f(x)를 출력하고 g(x)=0g(x) = 0일 때 침묵합니다 [2]. 이 쌍을 채점하는 양은 두 가지입니다. E[]\mathbb{E}[\cdot]기댓값(expectation), 즉 과제의 분포로부터 뽑은 질문들에 걸쳐 대괄호 안 양의 평균이라 쓰고, (f(x),y)\ell(f(x), y)0-1 손실(zero-one loss), 즉 답 f(x)f(x)가 참인 답 yy와 다르면 11이고 일치하면 00인 것이라 씁시다. 대문자 XX는 과제의 분포에서 무작위로 뽑힌 질문을, YY는 그 참인 답을 가리키는 것으로 씁시다(대문자는 xxyy의 무작위로 뽑힌 판본을 표시합니다). 그러면

ϕ(g)  =  E ⁣[g(X)],R(f,g)  =  E ⁣[(f(X),Y)g(X)]E ⁣[g(X)].\phi(g) \;=\; \mathbb{E}\!\left[\, g(X) \,\right], \qquad R(f, g) \;=\; \frac{\mathbb{E}\!\left[\, \ell(f(X), Y)\, g(X) \,\right]}{\mathbb{E}\!\left[\, g(X) \,\right]}.

첫 번째 숫자, 커버리지(coverage) ϕ\phi(그리스 문자 파이)는 시스템이 답하는 질문의 비율입니다: 0/10/1 지시자의 평균은 정확히 11들의 비율이기 때문입니다. 두 번째, 선택적 위험(selective risk) RR답한 질문들 가운데서만의 오류율입니다: 분자는 손실을 평균 내지만 그것에 g(X)g(X)를 곱하므로 기권한 질문은 아무것도 기여하지 않고, 답한 비율로 나누는 것은 답한 집합만을 대상으로 다시 정규화하는 것입니다. NN개의 질문으로 이루어진 유한한 벤치마크(여기서 NN126126이 될 것입니다) 위에서, AA를 답한 질문들의 집합이라 하면, 경험적 형태는 ϕ=A/N\phi = \lvert A \rvert / NR=1AiAiR = \frac{1}{\lvert A \rvert} \sum_{i \in A} \ell_i이며, 여기서 A\lvert A \rvert는 답한 질문의 개수를 세고 합 iA\sum_{i \in A}는 정확히 그 질문들에 걸쳐 0/10/1 오류를 더합니다.

아직 gg어떻게 고를지는 아무것도 말하지 않았습니다. 표준적인 구성은 모든 질문을 채점하는 신뢰도 함수(confidence function) κ\kappa(그리스 문자 카파)를 붙이고, 정확히 임계값 θ\theta(세타) 이상으로 채점된 질문에만 답합니다: κ(x)θ\kappa(x) \ge \theta이면 gθ(x)=1g_\theta(x) = 1, 아니면 00입니다. θ\theta가 높은 값에서 낮은 값으로 훑는 동안 선택적 위험을 커버리지에 대해 그리면 위험-커버리지 곡선(risk-coverage curve)을 얻으며, 이는 심층 모델을 위한 선택적 예측의 표준 평가 대상입니다 [3]. 이 구성은 어떤 공식보다 먼저 해독할 가치가 있는데, 그것이 그저 정렬일 뿐이기 때문입니다. NN개의 질문을 신뢰도로, 가장 신뢰도가 높은 것부터 순위 매기십시오. 어떤 임계값이든 그 순위의 어떤 접두사, 이를테면 가장 신뢰도가 높은 kk개의 질문을 받아들이며, 곡선의 점 하나를 만들어 냅니다:

coverage(k)  =  kN,risk(k)  =  1kik(i),\text{coverage}(k) \;=\; \frac{k}{N}, \qquad \text{risk}(k) \;=\; \frac{1}{k} \sum_{i \le k} \ell_{(i)},

여기서 괄호 붙은 아래첨자 (i)(i)는 "정렬된 순서에서 ii번째 질문"을 뜻하므로, 그 합은 답한 kk개 가운데의 오류를 셉니다. kkNN에서 11까지 훑으면 곡선 전체, 즉 NN개의 점 모두가 정확히 나옵니다. 신뢰도 신호는 대개 구할 수 있는 것 중 가장 값싼 것입니다: 모델 자신의 최상위 예측 확률, 즉 최대 소프트맥스 확률(maximum softmax probability)이며, 모델의 있음직한 실수를 짚어내기 위한 이 분야의 기본 기준선이고, 유명하게도 불완전한 것입니다 [4]. "참"에 대한 보정된 확률 pp를 가진 이진 질문에 대해서는, 그 유사물이 κ=max(p,1p)\kappa = \max(p, 1-p)입니다: 모델이 자신이 막 내놓으려는 답 쪽에 부여하는 확률입니다.

실제 점수 위의 위험-커버리지 곡선

companion은 이 훑기를 정확히, 단 세 줄로 계산합니다(examples/frontier/abstention.py, risk_coverage 안의 145–147번째 줄):

order = np.argsort(-conf, kind="stable")
risks = np.cumsum(wrong[order].astype(float)) / np.arange(1, len(conf) + 1)
return {"order": order, "risks": risks, "aurc": float(risks.mean())}

질문들은 앞 장의 것 그대로입니다: calibration.build_labelled가 만든 126개의 라벨 붙은 트리플(18개의 참인 kg 트리플과 108개의 시드가 붙은 손상)이 3권의 재훈련된 ComplEx로 채점되고, 맞춰진 온도를 통해 p=σ(s/τ)p = \sigma(s / \tau^{*})로 읽힙니다. 여기서 ss는 ComplEx가 매긴 원시 그럴듯함(plausibility) 점수이고, σ\sigma는 임의의 실수 점수 zz0011 사이의 확률로 엄밀하게 짓누르는 시그모이드(sigmoid) 함수 σ(z)=1/(1+ez)\sigma(z) = 1/(1 + e^{-z})이며, τ=1.4172\tau^{*} = 1.4172는 맞춰진 온도입니다(examples/frontier/abstention.py, 116–125번째 줄, calibration.runcalibration._sigmoid를 호출하며, examples/frontier/calibration.py 85–88번째 줄). 예측은 아그맥스(argmax)로, p12p \ge \tfrac12일 때 정확히 y^=1\hat{y} = 1이며, 신뢰도는 κ=max(p,1p)\kappa = \max(p, 1-p)입니다. 모든 것에 답할 경우, 모델은 126개 질문 중 123개에서 옳고, 세 개의 오류는 정확히 유보된 kg.TEST 사실들, 즉 ComplEx가 결코 훈련받지 못한 참인 트리플들입니다; companion은 이 동일성을 단언합니다(324번째 줄). 커밋된 실행은 이들을 신뢰도 순위 위에 놓습니다:

triple gold p=sigma(s/tau) conf=max(p,1-p) rank/126
(bob, advises, dave) True 0.4491 0.5509 126
(bob, authored, p1) True 0.0012 0.9988 30
(erin, affiliated, cmu) True 0.0419 0.9581 114

두 개의 오류는 순위의 바닥 가까이에 놓여 있어, 신뢰도 임계값이 그것들을 붙잡을 것입니다. 하나는 그렇지 않습니다: (bob, authored, p1)은 신뢰도 0.99880.9988, 126개 중 순위 30으로 모델이 부정하는 참인 사실입니다. 그 행을 붙들어 두십시오; 그것이 이 장의 악당입니다. 커밋된 곡선은 커버리지 정박점마다 한 행씩입니다:

coverage k conf cut selective risk
1.0 126 0.5509 0.0238
0.9 114 0.9581 0.0175
0.8 101 0.9714 0.0099
0.7 89 0.9834 0.0112
0.6 76 0.9878 0.0132
0.5 63 0.9909 0.0159
0.4 51 0.9943 0.0196
0.3 38 0.9979 0.0263
0.2 26 0.9990 0.0000
0.1 13 0.9996 0.0000
AURC = (1/N) sum_k risk(k) = 0.0125 (flat always-answer line: 0.0238)

세 정박점에서 읽어 봅시다. 전체 커버리지에서 선택적 위험은 평범한 오류율인 3/126=0.02383/126 = 0.0238입니다. 절반 커버리지에서, 즉 가장 신뢰도가 높은 63개의 질문에만 답할 때, 위험은 1/63=0.01591/63 = 0.0159로 떨어집니다: 기권은 답한 것에 대한 정확도를 진짜로 사들이며, companion은 그것을 그저 바라는 대신 엄밀한 개선으로 단언합니다(examples/frontier/abstention.py, 327–328번째 줄). 커버리지 0.20.2에서 위험은 정확히 0입니다: 가장 신뢰도가 높은 26개의 답에는 오류가 전혀 없습니다. 맨 아래의 스칼라 요약은 AURC, 즉 위험-커버리지 곡선 아래 면적(area under the risk-coverage curve)입니다 [5]: AURC=1Nk=1Nrisk(k)\mathrm{AURC} = \frac{1}{N} \sum_{k=1}^{N} \text{risk}(k), 즉 모든 NN개 커버리지 수준에 걸친 선택적 위험의 평균이며, 커버리지 축을 따른 곡선의 평균 높이입니다. 여기서는 0.01250.0125로, 0.02380.0238에 놓인 평평한 항상-답변 선에 대비됩니다: 정보가 없는 신뢰도 정렬이라면 모든 커트에서 전체-커버리지 위험을 그대로 유지할 것이므로, 그 선 아래의 AURC는 그 정렬이 평균적으로 정보를 담고 있음을 증명합니다(단언됨, 331–332번째 줄).

이제 정직할 차례입니다. 숫자 하나는 두 가지를 숨깁니다. 첫째, 두 시스템의 곡선은 서로 교차할 수 있습니다: 하나는 높은 커버리지에서, 다른 하나는 낮은 커버리지에서 더 나으며, 그 교차의 대가로 AURC는 같아지거나 뒤바뀔 수 있습니다; 배포에 목표 커버리지가 있을 때는 언제나 면적이 아니라 바로 그 지점에서 곡선을 읽으십시오. 둘째, 바로 이 곡선 자체가 단조롭지 않습니다. 위험은 커버리지 0.80.8에서 0.00990.0099까지 떨어졌다가, 0에 도달하기 전 커버리지 0.30.3에서 0.02630.0263까지 다시 올라갑니다. 범인은 붙들어 둔 그 행입니다: (bob, authored, p1)은 순위 30에서 틀리므로, 상위 30개 질문을 유지하면서 그 아래의 안전한 대부분을 버리는 모든 컷은 그 오류 하나를 더 작은 분모 안에 집중시킵니다(k=38k = 38에서 1/38=0.02631/38 = 0.0263); 그 오류는 컷이 k=30k = 30 아래로 내려가야 비로소 떨어져 나가며, 표에 실린 정박점 가운데서는 k=26k = 26에서 처음 눈에 보입니다. 신뢰도 정렬은 그 배후의 확률만큼만 좋으며, 이것이 바로 이 장이 보정 장 다음에 와야만 했던 이유이자, 다음 절의 규칙이 보정을 자신의 전제조건으로 이름 붙이는 이유입니다.

세 패널로 이루어진 히어로 다이어그램입니다. 왼쪽 패널은 126개의 보정된 질문에 대한 커밋된 위험-커버리지 곡선을 그립니다: 가로축은 0.1부터 1.0까지의 커버리지이고, 세로축은 선택적 위험이며, 곡선은 전체 커버리지에서 0.0238로 시작해 커버리지 0.8에서 0.0099까지 내려갔다가 커버리지 0.3에서 0.0263까지 다시 올라간 뒤 커버리지 0.2에서 0으로 떨어집니다. 0.0238에 놓인 점선의 평평한 항상-답변 선이 있고, 곡선 아래 면적은 음영으로 표시되어 AURC 0.0125라는 이름표가 붙어 있습니다. 가운데 패널은 0.5부터 1.0까지의 수직 신뢰도 축을 보여 주며, 기권 비용 0.10을 1에서 뺀 값으로 유도된 Chow의 임계값 세타 0.90이 수평 문으로 그려져 있습니다. 질문 (bob, advises, dave)는 신뢰도 0.5509로 그 문 아래에 놓여 기각되는 반면, (erin, affiliated, cmu)는 0.9581로, (bob, authored, p1)은 0.9988로 그 문 위에 놓여 답해지는데도 둘 다 답이 틀렸으며 침묵하는 오류로 표시되어 있습니다. 오른쪽 패널은 점수 임계값, 열린 세계 구간, 구조적 파서라는 세 정책 행을 쌓아 놓고, 각각에 커버리지(0.9841, 0.8651, 0.9293)와 침묵 오류율(0.0159, 0.0000, 0.0000)에 대한 막대를 붙였으며, 구간과 구조 행에는 그 기권이 침묵이 아니라 눈에 보이고 설명된다는 것을 나타내는 요란한-실패 배지가 붙어 있습니다. 하나의 거래, 세 개의 종: 임계값은 매끄러운 커버리지를 사지만 문 위에 침묵하는 오류를 남기고, 구간 정책과 구조적 정책은 덜 답하지만 요란하게 실패한다. 저자가 AI의 도움을 받아 직접 제작한 원본 도해.

두 줄로 유도되는 Chow의 규칙

임계값은 정확히 어디에 놓여야 할까요? 이 질문은 침묵에 값이 매겨져야만 내용을 갖게 되므로, 값을 매겨 봅시다: 오류는 11의 비용이 들고, 기권은 0<cr<120 \lt c_r \lt \tfrac12crc_r의 비용이 듭니다(아래첨자 rr은 "기각"(reject)을 뜻합니다; 기권 비용이 12\tfrac12보다 크면 기권하는 것이 반반의 확률로 추측하는 것보다 나빠지므로, 그 옵션은 결코 발동하지 않을 것입니다). 보정된 사후 확률(calibrated posterior)이 pp인 이진 질문 하나를 생각해 봅시다: 이는 모델이 본 모든 것을 감안할 때 질의된 사실이 참일 확률입니다. 시스템이 답한다면 아그맥스로 답하므로, 그 답이 틀릴 확률은 1max(p,1p)1 - \max(p, 1-p)입니다: p12p \ge \tfrac12이면 "참"이라고 답하고 확률 1p1 - p로 틀리며, p<12p \lt \tfrac12이면 "거짓"이라고 답하고 확률 pp로 틀리는데, 두 경우 모두 오답 확률은 pp1p1-p 가운데 더 작은 쪽, 즉 더 큰 쪽을 1에서 뺀 것입니다. 이제 전체 유도는 두 줄짜리 비용 비교가 됩니다:

E[costanswer]  =  1(1max(p,1p)),E[costabstain]  =  cr.\mathbb{E}[\text{cost} \mid \text{answer}] \;=\; 1 \cdot \bigl(1 - \max(p, 1-p)\bigr), \qquad \mathbb{E}[\text{cost} \mid \text{abstain}] \;=\; c_r .

기권이 더 값싼 행동이 되는 것은 정확히 cr<1max(p,1p)c_r \lt 1 - \max(p, 1-p)일 때입니다. 신뢰도에 대해 풀어 봅시다: 양변에 max(p,1p)\max(p, 1-p)를 더하고 양변에서 crc_r을 빼면 max(p,1p)<1cr\max(p, 1-p) \lt 1 - c_r을 얻습니다. 그러므로 기대 비용을 최소화하는 규칙은 아그맥스로 답하고, 최상위 클래스 확률이 임계값 θ=1cr\theta = 1 - c_r 아래로 떨어질 때 정확히 그때만 거부합니다 [1]. KK개의 클래스에 대해서도 같은 비교가 max(p,1p)\max(p, 1-p)KK개의 사후 확률 가운데 가장 큰 것으로 대체하며, 임계값 θ=1cr\theta = 1 - c_r은 그대로입니다; 움직이는 것은 결코-발동하지-않는 한계뿐인데, 최상위 사후 확률이 이제 12\tfrac12이 아니라 1/K1/K까지 작아질 수 있으므로 그 한계는 cr12c_r \ge \tfrac12에서 cr11/Kc_r \ge 1 - 1/K로 옮겨 갑니다. 임계값은 조정용 손잡이가 아닙니다; 그것은 비용 모델로부터 읽어낸, 침묵의 값입니다. companion은 cr=0.10c_r = 0.10을 고정하며, 따라서 θ=0.90\theta = 0.90입니다(examples/frontier/abstention.py, 87–88번째 줄), 그리고 그 정책은 보정된 신뢰도들에 대한 컴프리헨션 하나입니다(170–172번째 줄):

verdicts: list[bool | None] = [
(bool(v) if c >= theta else None)
for v, c in zip(q["yhat"] == 1.0, q["conf"])]

이 규칙이 무엇을 소비하는지 주목하십시오: 점수가 아니라 확률입니다. "답하는 데는 기대상 1max(p,1p)1 - \max(p, 1-p)의 비용이 든다"는 진술은 pp가 실제로 참일 확률일 때만 참이며, 앞 장의 온도 수선은 그 속성을 평균적으로 근사할 뿐(구간화된 신뢰도-정확도 간극을 줄였습니다), 위의 신뢰도 0.99880.9988짜리 오류가 이미 보여 주듯 사례 하나하나에 대해 보장하지는 못합니다. 이 구별은 유도할 수 있을 만큼 날카롭습니다. 신뢰도는 z=s/τz = s/\tau일 때 κ=max(σ(z),1σ(z))\kappa = \max(\sigma(z), 1 - \sigma(z))입니다. 시그모이드에 관한 두 사실이 그 일을 해냅니다. 첫째, 1σ(z)=σ(z)1 - \sigma(z) = \sigma(-z)입니다: 1σ(z)=111+ez=ez1+ez1 - \sigma(z) = 1 - \tfrac{1}{1 + e^{-z}} = \tfrac{e^{-z}}{1 + e^{-z}}를 계산한 다음, 분자와 분모에 eze^{z}를 곱하면 1ez+1=σ(z)\tfrac{1}{e^{z} + 1} = \sigma(-z)를 얻습니다. 둘째, σ\sigma는 엄밀히 증가합니다: zz가 커지면 eze^{-z}가 엄밀히 줄어들어 분모 1+ez1 + e^{-z}가 줄어들고, 따라서 몫 1/(1+ez)1/(1 + e^{-z})는 커집니다. 이 둘을 합치면 κ=max(σ(z),σ(z))=σ(max(z,z))=σ(z)=σ(s/τ)\kappa = \max(\sigma(z), \sigma(-z)) = \sigma(\max(z, -z)) = \sigma(\lvert z \rvert) = \sigma(\lvert s \rvert / \tau)입니다. 어떤 온도 τ>0\tau \gt 0에 대해서도 이는 s\lvert s \rvert에 대해 엄밀히 증가하므로, 신뢰도 정렬은, 그리고 그와 함께 곡선과 AURC는, 모든 온도에서 동일합니다; 온도가 움직이는 것은 θ=0.90\theta = 0.90과 같은 고정된 확률 수준이 그 정렬 위 어디에 놓이는가입니다(examples/frontier/abstention.py, 112–115번째 줄). 보정되지 않은 모델을 Chow의 규칙에 넘기면 같은 곡선을 그려 내지만 그 위의 잘못된 지점에서 멈춥니다: 임계값은 오류 확률에 관한 약속이며, 오직 보정된 pp만이 그 약속을 지킵니다.

그리고 우리 질문들에 대한 커밋된 평결은 의도적으로 불편합니다:

[3] policy (a) — Chow's optimum reject rule on the calibrated p
reject iff max(p,1-p) < 1 - c_r: two of the three errors sit ABOVE
theta = 0.90 (conf 0.9988 and 0.9581 -> answered, silently wrong);
only (bob, advises, dave) at conf 0.5509 is rejected

규칙은 제 할 일을 합니다: 커버리지를 124/126=0.9841124/126 = 0.9841로 유지하고 진짜로 불확실한 질문을 거부합니다. 하지만 모델은 두 번 확신에 차서 틀리며, 변호할 수 있는 기각 비용이 정당화하는 어떤 임계값도 0.99880.9988이라는 신뢰도를 두른 오답을 붙잡지 못합니다: 그것을 기각하려면 기권 하나의 값을 오류의 0.00120.0012 아래로 매기고 질문의 겨우 5분의 1에만 답해야 합니다. companion은 그 실패를 이름으로 단언합니다: (bob, authored, p1)은 참인데도 신뢰도 0.99880.9988로 False라고 답해집니다(337–340번째 줄). 이것이 점수 정책의 정직한 대가이며, 이 장이 여기서 끝나지 않는 이유입니다.

다른 종: 열린 세계 구간

지금까지는 모든 것이 "나는 모른다"를 모델의 속성으로, 즉 중간에 너무 가까운 점수로 다루었습니다. 2권은 다른 읽기를 가르쳤습니다. 그 읽기에서는 알지 못함이 지식의 속성입니다. 그 장치를 떠올려 봅시다: 주석 달린 지식 베이스(knowledge base, KB)는 모든 사실에 가환 반환(commutative semiring)에서 뽑은 값을 붙이고, 규칙 몸체는 반환의 곱 \otimes로 그 사실들의 주석을 결합하며, 같은 사실의 대안적 유도들은 반환의 합 \oplus로 결합되고, 주석 달린 최소 고정점이 규칙을 따라 그 레이블들을 전파합니다(examples/symbolic/annotated.py, 38–47번째 줄의 Semiring, 79–96번째 줄의 provenance_lfp). companion은 이 엔진을 변경 없이, 구간 반환(interval semiring)으로 구체화합니다: 담지 집합은 0lu10 \le l \le u \le 1인 구간 [l,u][l, u]들의 집합이며, "이 원자의 진리 정도는 lluu 사이 어딘가에 있다"로 읽히고, 그 연산들은 2권의 (max,min)(\max, \min) 신뢰도 반환 두 벌의 직접곱으로서 성분별로 작동합니다(examples/frontier/abstention.py, 203–207번째 줄):

[l1,u1][l2,u2]=[max(l1,l2),max(u1,u2)],[l1,u1][l2,u2]=[min(l1,l2),min(u1,u2)],[l_1, u_1] \oplus [l_2, u_2] = [\max(l_1, l_2),\, \max(u_1, u_2)], \qquad [l_1, u_1] \otimes [l_2, u_2] = [\min(l_1, l_2),\, \min(u_1, u_2)],

00[0,0][0,0]("거짓으로 알려짐")이고 11[1,1][1,1]("참으로 알려짐")입니다; 두 반환 법칙 모두 각 성분에서 성립하므로 여기서도 성립합니다. 지식 베이스는 학계 세계를 출처가 주석으로 붙은 단언들로 다시 쓴 것입니다: 큐레이션된 등록부가 인용이 아닌 16개의 트리플을 신뢰도 [0.95,1.00][0.95, 1.00]으로 단언하고, 웹 마이너가 2개의 인용 엣지를 정직한 [0.35,0.85][0.35, 0.85]로 단언하며, 저자의 이력서가 독립적으로 인용 하나를 [0.70,1.00][0.70, 1.00]으로 확증합니다(94–98번째 줄). 규칙 하나가 모든 주장을 통해 신뢰도를 실어 나릅니다. holds(X, R, Y) ← saidBy(S, X, R, Y) ∧ reliable(S)(212–213번째 줄)이며, 그래서 한 사실의 구간은 그 출처들의 주장을 그 출처들의 신뢰도로 할인한 것(\otimes)이고 독립적인 출처들에 걸쳐 결합한 것(\oplus)입니다. 고정점이 결코 도출하지 않는 질의된 원자는 무지 구간(ignorance interval) [0,1][0, 1]을 받습니다: 아무것도 단언되지 않았고 아무것도 반박되지 않았으며, 열린 세계 가정이 주석으로 나타난 것입니다(245–257번째 줄). 데이터로부터 유도된 타입 시그니처가 온톨로지의 역할을 대신합니다: 관계의 정의역이나 치역을 위반하는 질의는 거의-0에 가까운 구간 [0.00,0.02][0.00, 0.02]를 만나는데, 이는 어떤 출처도 결코 말한 적 없는 것을 온톨로지가 반박하는 것입니다(시그니처는 232–242번째 줄에서 유도되고, TYPE_BAD는 100번째 줄에서 선언되며, 그 곱은 256–257번째 줄에서 적용됩니다).

결정 규칙은 그 구간을, 오직 그 구간만을 읽습니다. 단언 임계값 θhi\theta_{\text{hi}}와 부인 임계값 θlo\theta_{\text{lo}}를 갖는 일반적인 형태로는: 최악의 경우조차 강할 때, 즉 lθhil \ge \theta_{\text{hi}}일 때 그 사실을 단언(assert)하고, 최선의 경우조차 약할 때, 즉 uθlou \le \theta_{\text{lo}}일 때 그것을 부인(deny)하며, 그 사이에서는 기권합니다. companion은 가장 빡빡한 대칭적 사례, θhi=θlo=12\theta_{\text{hi}} = \theta_{\text{lo}} = \tfrac12를 취합니다: 구간 전체12\tfrac12의 한쪽에 놓일 때만 답합니다(260–270번째 줄). 같은 126개 질문에 대한 커밋된 미니 실행:

query [l, u] verdict why
(alice, affiliated, mit) [0.95, 1.00] True registry [0.95,1.00], types ok
(p3, cites, p2) [0.35, 0.85] abstain webminer only [0.35,0.85]: straddles 1/2
(p2, cites, p1) [0.70, 1.00] True webminer + authorcv: join = [0.70,1.00]
(bob, advises, bob) [0.00, 1.00] abstain never asserted, types ok: ignorance [0,1]
(alice, advises, cmu) [0.00, 0.02] False type violation: meet with [0.00,0.02]

각 행은 알거나 알지 못하는 서로 다른 방식입니다. 등록부의 사실은 그 하한조차 12\tfrac12를 넘으므로 단언됩니다. 스크랩만 된 인용은 금본위 정답에서는 참이지만, 정책은 기권합니다. [0.35,0.85][0.35, 0.85]짜리 출처가 그것을 결정하지 못하기 때문이며, companion은 이 기권을 구체적으로 단언합니다(348–350번째 줄). 이중으로 출처가 확인된 인용은 \oplus가 제 몫을 하는 모습을 보여 줍니다: 이력서의 [0.70,1.00][0.70, 1.00]이 마이너의 잡음 섞인 구간과 결합하여 하한을 임계값 너머로 끌어올립니다. 그리고 네 번째 행이 이 절의 개념적 핵심입니다. (bob, advises, bob)에 대한 기권은 낮은 신뢰도가 아닙니다. 그 배후에는 점수도, 보정 집합도, 맞춰진 온도도, 조정 가능한 임계값도 없습니다; 값 12\tfrac12는 검증 훑기가 아니라 진리 정도의 의미론에 의해 고정됩니다. 구간 [0,1][0, 1]지식 베이스가 결정하지 못하는 것에 관한 구조적 사실입니다: 어떤 출처도 말하지 않았고, 어떤 규칙도 발동하지 않았으며, 열린 세계는 그 침묵을 "거짓"으로 바꾸기를 거부합니다. Chow의 규칙이 "나는 확신이 서지 않는다"고 말하는 곳에서, 구간 정책은 "내게 주어진 그 무엇도 이것을 결정하지 않는다"고 말하며, 이 둘은 서로 다른 문장입니다.

구조적 기권: Error라고 말하는 파서

세 번째 종은 4권에서 오며, 다시 짓기보다는 다시 인용됩니다. 그것이 필요로 하는 것을 순수한 트리플-질의는 갖고 있지 않기 때문입니다: 실패할 수 있는 번역 단계입니다. 번역-후-증명 파이프라인은 엄격한 문법으로 통제된 영어(controlled English)를 파싱하고, 파싱된 이론을 컴파일하며, 1권의 후방 연쇄기로 질문을 증명합니다; 문법이 자리를 찾지 못하는 문장은 무엇이든 ParseError를 일으키며, 이 파이프라인의 계약은 네 단어로 요약됩니다: 파싱하거나 침묵하라(examples/integration/translate_prove.py, 217–228번째 줄, pipeline_answer 안):

try:
theory = parse_theory(theory_sentences)
person, pred, neg = parse_statement(question)
except ParseError:
if not use_repair:
return None
try:
theory = parse_theory([repair(s) for s in theory_sentences])
person, pred, neg = parse_statement(repair(question))
except ParseError:
return None # abstain: visibly, not wrongly
return prove_statement(theory, person, pred, neg)

1500개의 통제된 영어 질문으로 이루어진 커밋된 말뭉치(그중 288개는 동의어 손상으로 문법 밖에 놓이도록 시드가 뿌려짐) 위에서, 한 차례의 수리 패스는 커버리지를 0.80800.8080에서 0.92930.9293으로 끌어올리고, 파싱되는 모든 것은 증명됩니다: 파싱된 입력에 대한 정확도는 모든 깊이에서 정확히 1.01.0이며 깊이마다 단언되고(299–301번째 줄), 침묵하는-오류-없음 속성은 집계를 통해서가 아니라 질문 하나하나에 대해 검사됩니다(305–309번째 줄). 동일한 평가 집합 위에서, 언제나 답하는 소프트 추론기와 대비되는 커밋된 실패-양식 대조는:

system answers silent errors overall acc
soft reasoner (always) 100.0% yes (quietly wrong) 0.8773
translate-then-prove 92.9% never (asserted) 0.9293

여기서 커버리지는 1보다 낮고, 답한-것에-대한-정확도는 정확히 1이며, 침묵 오류율은 0인데, 말뭉치가 관대해서가 아니라 아키텍처가 다른 선택지를 남겨 두지 않기 때문입니다: 전달되는 모든 답이 증명이므로, 가능한 유일한 실패는 눈에 보이는 Error뿐입니다. 그리고 그 Error는 벌거벗은 플래그가 아닙니다. 그것은 자신의 이유, 즉 문법이 자리를 찾지 못한 정확한 토큰("unknown predicate 'referenced'")을 실어 나르며, 이는 배포가 그것으로 무엇을 할 수 있는지를 바꿉니다. Chow의 기각은 "신뢰도 0.55"라고 말합니다; 운영자는 어깨를 으쓱하거나 다시 물어보는 것밖에 할 수 없습니다. 구조적 기권은 파싱을 무너뜨린 단어의 이름을 댑니다; 운영자는 그 단어를 고치거나, 어휘를 확장하거나, 진단을 첨부해 그 질문을 사람에게 넘길 수 있습니다. 시스템이 설명할 수 있는 기권은 임계값 발동보다 더 값집니다. 그것은 거래의 끝이 아니라 수리의 시작이기 때문입니다.

세 정책, 하나의 표

이 장의 척추는 세 종을 나란히 놓는 커밋된 표입니다. 세 개의 요약 숫자는 모든 정책에 대해 같은 세 공식으로 계산됩니다(examples/frontier/abstention.py_tally, 177–190번째 줄에 정의되며, 정책 (c)는 structural_policy, 284–291번째 줄에서 깊이별 표로부터 그것들을 집계합니다): AANN개 중 답한 질문이라 하면,

coverage=AN,acc-on-answered=#{iA:verdicti=goldi}A,silent-wrong=#{iA:verdictigoldi}N,\text{coverage} = \frac{\lvert A \rvert}{N}, \qquad \text{acc-on-answered} = \frac{\#\{i \in A : \text{verdict}_i = \text{gold}_i\}}{\lvert A \rvert}, \qquad \text{silent-wrong} = \frac{\#\{i \in A : \text{verdict}_i \ne \text{gold}_i\}}{N},

여기서 #{}\#\{\cdot\}은 서술된 집합의 원소 개수를 셉니다. 기권은 정의상 눈에 보이므로, 답했으면서 틀린 질문만이 침묵하는 오류이며, 세 숫자는 항등식 silent-wrong=coverage×(1acc-on-answered)\text{silent-wrong} = \text{coverage} \times (1 - \text{acc-on-answered})를 따릅니다: 답한 비율 곱하기 그중의 오류율은, 전체 질문 가운데 틀리게 답해진 비율입니다. 커밋된 실행:

policy n coverage acc-on-answered silent-wrong
(a) Chow threshold on sigma(s/tau) 126 0.9841 0.9839 0.0159
(b) open-world interval [l,u] 126 0.8651 1.0000 0.0000
(c) structural (translate-prove) 1500 0.9293 1.0000 0.0000

정책 (a)와 (b)는 같은 126개의 지식 그래프 질문에 답합니다; 정책 (c)는 4권이 자체의 1500개 질문 위에서 내놓은 커밋된 전시물로, structural_policy를 통해 인용됩니다(275–291번째 줄). 구조적 기권에는 실패할 수 있는 파서가 필요하기 때문입니다. 이 표를 보증의 등급이 매겨진 사다리로 읽으십시오:

(a) 점수 임계값(b) 열린 세계 구간(c) 구조적
무엇을 소비하는가보정된 확률 p=σ(s/τ)p = \sigma(s/\tau^{*})고정점 구간 [l,u][l, u]파싱 판정
손잡이θ=1cr\theta = 1 - c_r, 연속적: 어떤 커버리지에도 도달 가능없음: 12\tfrac12은 의미론에 의해 고정됨없음: 문법이 문임
커버리지0.98410.9841, 어떤 수준으로도 조정 가능0.86510.8651, KB가 결정하는 것에 의해 고정됨0.92930.9293, 말뭉치와 문법에 의해 고정됨
침묵 오류율0.01590.01590.00000.0000, 경험적0.00000.0000, 자체 의미론 아래에서 구성상
그 기권이 말하는 것"신뢰도가 0.900.90 아래""출처들이 이것을 결정하지 못한다""문법 밖: 여기 그 토큰이 있다"

정직한 읽기는 양쪽 모두로 통합니다. 임계값의 미덕은 매끄러운 손잡이입니다: 어떤 목표 커버리지를 고르든 정렬된 신뢰도들이 그 컷을 건네주며, 다른 어떤 정책도 이를 할 수 없습니다; 그 정책들의 커버리지는 지식과 문법이 고정하는 대로일 뿐이며, 그것을 움직이려면 손잡이를 돌리는 것이 아니라 KB나 어휘를 바꿔야 합니다. 임계값의 악덕은 그 행의 마지막 숫자입니다: 전체 질문의 0.01590.0159가 아무 신호도 없이 틀리게 답해지며, 그중 둘은 0.950.95가 넘는 신뢰도에서 그렇습니다. 구간 행의 0은 정밀한 인식론적 이름표를 받을 자격이 있습니다. 그것은 경험적입니다. companion은 그것을 단언하지만(344–346번째 줄), 그것이 성립하는 것은 이 KB의 출처와 시그니처가 마침 건전하기 때문입니다; 자신만만한 구간을 가진 거짓말하는 출처는 잘못된 단언을 만들어 낼 것이고, 어떤 정리도 그것을 금지하지 않습니다. 구조적 행의 0은 종류가 다릅니다: translate_prove 안에서 질문 하나하나에 대해 단언되며, 파이프라인 자신의 문법-더하기-닫힌-세계 의미론으로 읽히는 어떤 말뭉치에 대해서도 성립합니다. 답 자체가 파싱된 이론에 대한 증명이고 유일한 실패 양식이 눈에 보이는 Error이기 때문입니다; 다만 다른 의미론을 따르는 금본위 정답을 가진 말뭉치(이를테면 부정을 열린 세계로 읽는 말뭉치나, 문법이 다른 뜻으로 받아들이는 동의어)는 여전히 침묵 속에서 잘못 답해질 수 있습니다. 임계값은 매끄럽게 거래되지만 침묵 속에서 틀릴 수 있고, 구간과 구조는 더 거칠지만 그 실패가 요란합니다. 그리고 요란한 실패는 1권의 증명기가 추측하는 대신 처음으로 "증명을 찾지 못했다"고 말한 이래로 이 시리즈가 계속 사들여 온 설계 속성입니다.

기권이 이 권의 나머지와 만나는 곳

세 갈래의 실이 이 장을 떠나 나중에 다시 나타납니다. 첫째, 지름길-인식 기권(shortcut-aware abstention)입니다. 위의 모든 정책은 최종 답의 불확실성에 문을 걸지만, II부는 신경-기호 모델이 라벨에 대해서는 확신에 차서 옳으면서도 그 밑에 있는 개념(concept)에 대해서는 틀릴 수 있음을 보였습니다; 지름길을 인식하는 시스템이라면 라벨이 그렇지 않더라도 개념이 불확실할 때 기권해야 합니다. 그것이 바로 BEARS("BE Aware of Reasoning Shortcuts"의 약자) 제안입니다: 개념 사후 확률들을 앙상블하여 지름길의 모호함이 기권 게이트가 읽을 수 있는 개념 수준 불확실성으로 떠오르게 하는 것입니다 [6]. 추론 지름길 장이 그 병을 지었고, 개념-보정 기권은 그 대증 치료입니다. 둘째, V부를 위해 예고된 예산 기권(budget abstention)입니다: 깊이나 시간 예산을 소진한 한정된 증명기는 질의의 진리에 대해 아무것도 배우지 못했으며, 정직한 출력은 "예산 소진"입니다. 이는 참, 거짓, 파싱 불가와 나란히 놓이는 네 번째 판정입니다; 강화학습과 검증기는 이 구별을 그대로 살아갑니다: 그 장의 예산 훑기는 예산 안에서 유도되지 못한 목표를 거짓이 아니라 도달하지 못한 것으로 취급합니다. 셋째, 이 모든 것을 마무리 짓는 것으로, VII부의 SATORI 주장 C5는 평이하게 말하면 열린 세계 질의에 대한 보정된 기권이며, 이 장 표의 (a)행과 (b)행을 하나의 시스템으로 융합한 것입니다; 주장 장은 정확히 여기서 지어진 도구들로 그것을 평가합니다.

아직 풀리지 않은 부분

불편함이 커지는 순서로 세 가지 열린 문제가 있습니다. 첫째는 분포 이동(distribution shift)입니다. 임계값 θ\theta그것이 설정되었을 때 성립했던 보정 아래에서의 오류 확률에 관한 약속입니다. 질문을 옮기면(새로운 개체, 새로운 관계, 표류한 말뭉치) 두 층 모두가 한꺼번에 무너집니다: 확률이 탈보정되어 θ=1cr\theta = 1 - c_r은 더 이상 비용-최적 컷을 나타내지 않고, 위험-커버리지 곡선 자체도 움직여서, 커버리지 0.90.9를 위해 고른 임계값이 그것이 읽혔던 곡선에서 한참 벗어난 선택적 위험에서 아주 다른 커버리지를 내놓을 수도 있습니다. 이동 아래에서의 선택적 예측은 활발하지만 아직 해결되지 않은 연구 분야입니다; 구간 정책과 구조적 정책이 덜 노출되는 것은 오직 그 게이트들이 애초에 어떤 분포도 참조한 적이 없기 때문입니다. 둘째는 생성 출력에 대한 기권입니다. 커버리지와 선택적 위험은 확인 가능한 답을 가진, 셀 수 있는 질문 집합을 전제합니다. 증명 스케치, 프로그램, 문단의 커버리지란 무엇일까요? 생성기가 열두 단계짜리 유도의 한 단계에서 기권한다면, 그것은 답한 것일까요, 아닐까요? 후보가 되는 읽기들은 있습니다(주장별 커버리지, 토큰별 엔트로피 게이트, 기권-후-인용). 하지만 열린 형태의 생성에 대해 합의된 위험-커버리지 곡선의 유사물은 없으며, V부의 검증기-관문 시스템들은 그 공백을 직접 느끼게 될 것입니다. 셋째는 이 분야가 계속 미뤄 온 것으로, 수학적이지 않기 때문입니다: 그 반대편에 있는 사람입니다. 기권하는 시스템은 결정을 한 사람에게 넘기며, 여러 영역에 걸쳐 배포된 패턴은 자주 기권하는 것이 무시되거나, 우회되거나, 꺼진다는 것입니다; 유창한 목소리로 나온 오답은 그에 따라 행동으로 옮겨지는 반면, 정직한 "나는 모른다"는 마찰로 취급됩니다. 요란한 실패는 누군가 듣고 있을 때만 도움이 되며, 기권을 소비 가능하고 신뢰할 만하며 값싸게 행동으로 옮길 수 있게 만드는 것은 어떤 임계값 유도도 건드리지 못하는 인간 요인의 문제입니다.

왜 중요한가

이 장은 이 권의 신뢰 이야기가 그 두 번째 숫자를 얻는 곳입니다. 정확도만으로는 2%의 시간 동안 침묵 속에서 틀리는 시스템과 2%의 시간 동안 눈에 보이게 틀리는 시스템을 구별할 수 없으며, 배포가 하류에서 하는 모든 것(감사, 상위 이관, 자동화 수준)은 어느 쪽인지에 달려 있습니다. 여기서 지어진 도구들, 즉 커버리지, 선택적 위험, 그 곡선, AURC, Chow의 임계값, 침묵 오류율은, 그 구별을 여러분 자신의 시스템 위에서 측정 가능하게 만드는 표준 장비이며, 세 정책 표는 그 틀입니다: 여러분의 점수 게이트, 지식 수준의 미지수, 구조적 실패를 같은 축 위에 올려놓고 각각이 무엇을 사는지 읽으십시오. 이 시리즈의 전체 궤적에서, 이 장은 오래전에 열린 고리 하나를 닫습니다. 1권의 후방 연쇄기는 추측 대신 "증명 없음"을 돌려주었습니다; 2권의 열린 세계 의미론은 "알 수 없음"을 부재가 아니라 하나의 값으로 만들었습니다; 4권의 파서는 번역 실패를 하나의 판정으로 바꾸었습니다. 이것들은 이 장이 그 단어를 갖기 전부터 기권이었으며, 커밋된 표는 그것들이 공유하는 설계 속성, 즉 스스로를 알리는 실패가 정량화 속에서도 살아남는다는 것의 영수증입니다. 연구자가 가져갈 교훈은 숫자가 아니라 건축적인 것입니다: 할 수 있는 곳에서는 무지가 구조적인 시스템을 지으십시오. 임계값은 침묵하는 오류의 양을 줄일 수 있을 뿐이지만, 증명 의무는 그것을 없앨 수 있기 때문입니다.

핵심 용어

  • 선택적 예측(selective prediction) / 선택적 분류(selective classification): 예측기가 기권할 수 있는 설정입니다; 예측기와 선택 함수의 쌍 (f,g)(f, g)이며, 커버리지와 선택적 위험으로 등급이 매겨집니다.
  • 커버리지(coverage): 시스템이 답하는 질문의 비율입니다; NN개의 질문 중 답한 집합 AA에 대해 경험적으로 A/N\lvert A \rvert / N입니다.
  • 선택적 위험(selective risk): 답한 질문들 가운데서만의 오류율입니다.
  • 위험-커버리지 곡선(risk-coverage curve): 신뢰도 임계값이 훑는 동안 선택적 위험을 커버리지에 대해 그린 것입니다; 신뢰도로 정렬된 질문 목록을 자를 때마다 점 하나씩입니다.
  • AURC(위험-커버리지 곡선 아래 면적, area under the risk-coverage curve): 모든 NN개의 커버리지 수준에 걸친 평균 선택적 위험, 1Nkrisk(k)\frac{1}{N}\sum_k \text{risk}(k)입니다; 곡선의 교차와 비단조성을 숨길 수 있는 요약입니다.
  • Chow의 규칙(Chow's rule) / 기각 옵션(reject option): 오류에 1의 비용을, 기권에 crc_r의 비용을 매기는 기대-비용-최적 정책입니다: 아그맥스로 답하고, 최상위 클래스 확률이 θ=1cr\theta = 1 - c_r 아래로 떨어질 때 정확히 그때 거부합니다.
  • 최대 소프트맥스 확률(maximum softmax probability): 모델 자신의 최상위 예측 확률로, 기본 신뢰도 신호입니다; 여기서는 그 이진 유사물이 max(p,1p)\max(p, 1-p)입니다.
  • 열린 세계(구간) 기권(open-world/interval abstention): 지식 베이스가 그 사실을 결정하지 못하기 때문에 거부하는 것입니다: 고정점 구간 [l,u][l, u]가 결정 수준에 걸쳐 있으며, [0,1][0,1]은 결코 도출되지 않은 원자의 무지 구간입니다.
  • 구조적 기권(structural abstention): 입력이 형식 시스템에 결코 들어가지 못했기 때문에 거부하는 것입니다: 파서의 Error 판정이며, 전달되는 모든 답이 증명이므로 침묵하는 오류를 불가능하게 만듭니다.
  • 침묵 오류율(silent-wrong rate): 전체 질문 가운데 틀리게 답해진 비율, coverage×(1acc-on-answered)\text{coverage} \times (1 - \text{acc-on-answered})입니다; 요란한 실패와 조용한 실패를 갈라놓는 숫자입니다.

이 다음으로 이어지는 것

III부는 개별 답에 값을 매겼습니다: 확률이 무엇을 뜻해야 하는지, 그리고 언제 그것을 보류해야 하는지입니다. IV부는 질문을 답할 것인지에서 규모에서 답하는 데 무엇이 드는지로 바꿉니다. 1권이 세 파동으로 계산했던 학계 세계의 폐포는, 백만 개의 사실 앞에서는 진짜 시스템 결정이 됩니다: 모든 귀결을 한 번 미리 계산해 저장할 것인가, 아니면 데이터는 그대로 두고 물을 때마다 규칙을 통해 각 질의를 다시 쓸 것인가입니다. 구체화 대 재작성은 실행 예제 위에 둘 다를 지어 각각이 무엇을 사고 무엇을 치르는지 헤아리며, 이 권의 두 번째 악장을 엽니다: 작업량으로서의 추론입니다.


Companion 코드: examples/frontier/abstention.pycalibration.py의 보정된 점수로부터 질문 집합을 구축하고, 정밀한 위험-커버리지 훑기와 AURC를 계산하며, Chow의 규칙을 구현하고, 2권의 주석 달린 고정점 엔진 위에서 구간 정책을 실행하며, 4권의 구조적 파이프라인을 인용하고, 이 장의 모든 주장을 assert로 지킵니다. 이 장의 모든 숫자를 재현하려면 python3 examples/frontier/abstention.py를 실행하십시오; 그 실행은 처음부터 끝까지 결정적입니다.