본문으로 건너뛰기

식별 가능성: 정확도가 의미를 보증하지 못하는 이유

📍 현재 위치: II부 · 식별 가능성과 추론 지름길 — 5장. 추론 지름길은 모델의 개념이 틀릴 수 있는, 라벨 관점에서는 완벽한 방식들의 수를 세었습니다; 이 장은 그중 어느 하나도 눈에 보이지 않는 이유와, 그것을 눈에 보이게 만드는 데 드는 대가를 설명합니다.

앞 장은 하나의 전수 조사(census)로 끝났습니다. XOR(exclusive-or, 배타적 논리합) 과제에서, 네 개의 개념 상태에 대한 열여섯 개의 재레이블링(relabeling)이 그 과제가 만들어 낼 수 있는 모든 라벨을 견디고 살아남습니다; 그중 열다섯은 개념에 대해 틀렸습니다; 라벨 관점에서 완벽한 스무 번의 훈련 실행 각각이 그 전수 조사 안쪽에 정확히 떨어졌으며, 그 개수가 말한 그대로였습니다. 전수 조사는 몇 개인가에 답합니다. 이 장은 왜인가에 답하며, 그 답에는 대수적 구조가 있습니다: 라벨을 보존하는 재레이블링들은 느슨하게 모인 우연들이 아니라, 하나의 (group), 즉 지식의 대칭군(symmetry group)으로 조직되어 있으며, "라벨이 개념의 의미를 못박을 수 있는가?"라는 질문에는, 이 장이 [1]의 최적점 특성화로부터 따름정리로 유도하는 깔끔한 판정 기준이 있습니다: 그 군이 자명할 때 그리고 오직 그때에만 라벨은 개념의 의미를 못박을 수 있습니다. 군의 자명하지 않은 모든 원소는 완전하고 자기 일관적이면서도 틀린 의미론(semantics)이며, 라벨 분포는 그것을 옳은 의미론과 구별할 수 없는데, 이는 테스트 집합이 너무 작아서가 아니라 개념에서 라벨로 가는 사상이 데이터를 뽑기도 전에 이미 그 구별을 파괴해 버렸기 때문입니다. companion 모듈은 그 문장의 각 절을 커밋된, assert로 지켜지는 숫자로 만들며, 이 장은 정직함이 요구하는 지점에서 끝을 맺습니다: 대칭을 깨뜨리는 두 개의 지렛대를 정확히 값매김하고, 신경-기호(neuro-symbolic, NeSy) AI를 훨씬 벗어난 곳에서도 개념 병목 모델(concept-bottleneck model), 잠재 변수 모델(latent-variable model), 그리고 분리(disentanglement)를 지배하는 것이 바로 같은 수학이라는 것을 인정하면서입니다.

쉽게 말하면

학과의 두 서기가 각자 자기만의 속기법으로 대학의 기록을 관리한다고 상상해 보십시오. 서기 A는 모든 지도 기록을 지도교수 칸부터 적습니다; 서기 B는 몇 해 전에 두 열을 맞바꾸어 놓고는 그 이후로 한 치의 어긋남도 없이 그 방식을 지켜 왔습니다. 학과가 발표하는 모든 보고서(지도 쌍이 몇 개인가, 두 사람이 같은 연구 그룹에 속하는가, 누가 누구와 공저했는가)는 두 장부 모두에서 똑같이 나오는데, 발표되는 모든 질문이 우연히도 두 열에 대해 대칭이기 때문입니다. 보고서를 아무리 더 열심히 감사해도 그 맞바꿈은 드러나지 않습니다; 보고서가 천 개 더 있어 봐야 천 개의 똑같은 숫자가 더 있을 뿐입니다. 서기 B를 실제로 들추어낼 수 있는 것은 오직 두 가지뿐입니다: 질문이 대칭이 아닌 새로운 보고서(왼쪽 열에 대해 구체적으로 물어보는 것), 또는 여러분이 이미 참값을 알고 있는 항목에서 장부를 직접 펼쳐 보는 것입니다. 이 장은 그 이야기를 수학으로 옮긴 것입니다. 장부는 모델의 개념 벡터이고, 발표된 보고서는 그 라벨이며, 한결같은 맞바꿈은 대칭군의 한 원소이고, 두 가지 들추어냄은 정확히 두 번째 과제와 하나의 개념 라벨에 해당합니다.

이 장에서 다루는 내용

  • 계산에서 구조로: 앞 장의 허용 가능한 재레이블링들을 하나의 군으로 다시 살펴보고, 닫힘성과 역원을 단 두 줄로 증명합니다; 식별 가능성의 정의(라벨이 개념을 못박는 것은 정확히 군이 자명할 때)와, 그것을 실제로 쓸 수 있게 해 주는 파이버와 궤도의 언어를 다룹니다.
  • 주장이 아니라 계산된 군: companion 코드는 XOR의 대칭들을 낱낱이 나열하고, 무차별 대입으로 군의 공리들을 검증하며, 궤도로부터 앞 장의 열여섯 개 최적점 수를 예측합니다. 대수와 전수 나열 사이의 일치는 assert로 지켜집니다.
  • 기계 정밀도에서의 눈멂: 손으로 설정한 두 매개변수화는 520개 입력 전부에서 라벨 우도가 정확히 일치하면서도 개념 판독은 공간의 절반에서 어긋납니다; 아무리 큰 테스트 집합 위의 어떤 라벨 지표도 왜 그 둘을 갈라놓을 수 없는지를 다룹니다.
  • NeSy 너머의 파이버 경계: 크기 kk의 파이버를 갖는 다대일 개념-라벨 사상은 적어도 k!k!개의 라벨 동치인 개념 배정을 허용하며, 바로 같은 대칭 논증이 비지도 분리의 불가능성, 식별 불가능한 잠재 변수 모델, 그리고 산업 규모의 명세 부족을 뒷받침합니다.
  • 대칭 깨뜨리기로 헤아려지는 두 개의 지렛대: 분해된 개념 헤드는 결합 재레이블링 공간을 측정된 배수만큼 무너뜨리고, kk개의 개념-라벨링된 예제는 살아남는 재레이블링을 정확히 하나에 도달하는 커밋된 곡선을 따라 줄입니다; 두 계수 모두 assert로 지켜지고 두 유보 사항 모두 명시됩니다.
  • 세 번째 지렛대와 프론티어: 교차하는 대칭군으로서의 다중 과제 지식을 군의 표 위에서 논증하고; 열거 불가능한 개념 공간에서부터 보정이 식별 가능성을 따라간다는 추측에 이르는 열린 질문들을 다룹니다.

계산에서 구조로: 최적점들이 하나의 군을 이룬다

앞 장의 대상들을 다시 떠올려 봅시다. 지식 K\mathsf{K}는 결정론적이므로, 각 개념 상태 cc를 그 레이블로 보내는 레이블 사상(label map) βK\beta_{\mathsf{K}}로 작동합니다; 우리 과제에서는 βK(c)=c1c2\beta_{\mathsf{K}}(c) = c_1 \oplus c_2, 즉 두 개념 비트의 배타적 논리합입니다. 재레이블링(relabeling) α:GC\alpha : \mathcal{G} \to \mathcal{C}는 참값 상태에서 모델 상태로 가는 함수로, 체계적 오류의 후보이며, α\alpha가 관측된 모든 상태에서 지식과 교환될 때, 즉 지지집합 안의 모든 gg에 대해 βK(α(g))=βK(g)\beta_{\mathsf{K}}(\alpha(g)) = \beta_{\mathsf{K}}(g)일 때 허용 가능(admissible)하다고 합니다(레이블 우도의 정확한 최적점이라는 뜻입니다). \circ함수 합성(function composition, "오른쪽 함수를 먼저 적용한 다음 왼쪽 함수를 적용한다")이라 쓰면, 전체 지지집합에서의 허용 가능성은 하나의 함수 방정식 βKα=βK\beta_{\mathsf{K}} \circ \alpha = \beta_{\mathsf{K}}로 적힙니다.

이제 전단사(bijection)이기도 한 허용 가능한 재레이블링들에 주의를 좁혀 봅시다: 전단사란 상태들을 일대일로 짝짓는 사상이어서, 각각이 그것을 되돌리는 역함수 α1\alpha^{-1}을 가집니다. 이 집합을 GG라 부릅시다. 주장인즉, GG는 합성 아래에서 하나의 (group)을 이룬다는 것인데, 이는 GG가 항등원을 포함하고, \circ 아래에서 닫혀 있으며, 각 원소마다 역원을 포함한다는 뜻입니다. 항등 사상은 모든 입력을 그대로 두므로, 그것과 합성해도 아무것도 바뀌지 않아 βKid=βK\beta_{\mathsf{K}} \circ \mathrm{id} = \beta_{\mathsf{K}}를 만족합니다. 나머지 두 공리는 각각 단 한 줄로 끝납니다. 닫힘성의 경우, α,αG\alpha, \alpha' \in G를 택합시다. 여기서 \in은 "…의 원소이다"라고 읽으므로, α\alphaα\alpha'GG의 임의의 두 원소입니다; 합성은 결합적이므로,

βK(αα)=(βKα)α=βKα=βK,\beta_{\mathsf{K}} \circ (\alpha \circ \alpha') = (\beta_{\mathsf{K}} \circ \alpha) \circ \alpha' = \beta_{\mathsf{K}} \circ \alpha' = \beta_{\mathsf{K}},

여기서 가운데 단계는 α\alpha의 허용 가능성을 대입한 것이고 마지막 단계는 α\alpha'의 허용 가능성을 대입한 것입니다; 그리고 전단사들의 합성은 전단사입니다. 역원의 경우, βKα=βK\beta_{\mathsf{K}} \circ \alpha = \beta_{\mathsf{K}}의 양변 오른쪽에 α1\alpha^{-1}을 합성해 봅시다:

βKα1=(βKα)α1=βK(αα1)=βKid=βK.\beta_{\mathsf{K}} \circ \alpha^{-1} = (\beta_{\mathsf{K}} \circ \alpha) \circ \alpha^{-1} = \beta_{\mathsf{K}} \circ (\alpha \circ \alpha^{-1}) = \beta_{\mathsf{K}} \circ \mathrm{id} = \beta_{\mathsf{K}}.

그러므로 GG는 하나의 군입니다: 지식의 대칭군(symmetry group of the knowledge)입니다. 이 이름은 물리학자의 의미 그대로 정당합니다. 어떤 대상의 대칭이란 그 대상을 변하지 않게 남겨 두는 변환이며, 여기서 그 대상은 K\mathsf{K}의 레이블 행동이고, GG의 각 원소는 레이블이 결코 느낄 수 없다고 증명 가능한 방식으로 개념의 의미를 뒤섞는 방법입니다. 두 가지 지적이 이 셈법을 정직하게 지켜 줍니다. 첫째, GG는 열여섯 개짜리 최적점 집합 전체가 아닙니다: 상태 11110000 위로 무너뜨리는 사상과 같은, 전단사가 아닌 생존자들은 역원을 갖지 않으므로 어떤 군에도 속할 수 없습니다. GG는 최적점 집합의 구조적 핵심이며, 잠시 후 그것이 전체 개수를 예측한다는 것을 보게 될 것입니다. 둘째, 전체 지지집합 위에서 이 군은 오직 βK\beta_{\mathsf{K}}에만 의존하며, 아키텍처에도, 최적화기에도, 데이터의 양에도 결코 의존하지 않습니다: 그것은 과제 자체의 성질입니다. (부분 지지집합 아래에서는 허용 가능한 전단사들이 군을 이루지조차 않을 수 있습니다: 위의 닫힘성 증명은 모든 상태에서의 교환 조건을 사용했는데, 전단사는 관측된 상태를 그 조건이 한 번도 부과되지 않은 관측되지 않은 상태로 보낼 수도 있으므로, 두 허용 가능한 전단사의 합성이 관측된 상태에서 허용 가능성을 어길 수 있습니다. 앞 장의 편향된 지지집합도 이 구조를 깨뜨립니다.)

이 장의 이름이 된 판정 기준은 이제 스스로 진술됩니다. 개념은, 레이블 분포가 개념의 의미론을 유일하게 결정할 때, 즉 허용 가능한 재레이블링이 항등원 하나뿐일 때, 라벨로부터 식별 가능(identifiable)합니다. 전체 지지집합 위에서 이는 정확히 GG가 자명할 때(원소가 하나뿐인 군일 때) 성립하는데, 왜냐하면 크기가 둘 이상인 파이버(fiber, 하나의 레이블을 공유하는 개념 상태들의 집합; 이 낱말은 바로 아래에서 온전히 정의합니다)는 하나하나가 GG에 자명하지 않은 순열을 보태며, 거꾸로 자명한 군은 모든 파이버가 원소 하나짜리가 되도록 강제하여 항등 사상만이 유일하게 허용 가능한 사상이 되기 때문입니다. 이 군 형태의 포장은 SATORI의 접지 노트를 따르는 이 장의 것이며, 판정 기준 자체는 [1]의 최적점 특성화, 곧 앞 장이 평가했던 정리 2로부터 곧바로 따라 나오는 따름정리입니다. GG의 자명하지 않은 각 원소는 통계적 의미에서의 잡음도 오류도 아닙니다; 그것은 모델의 기호에 대한, 별개이면서도 내적으로 일관된 의미 배정이면서, 레이블에 대해 정확히 같은 분포를 유도합니다. 레이블 우도는, 아키텍처가 그 재레이블링을 표현할 수 있는 한(이 장의 전시물에서 제약 없는 추출기가 그러하듯이; 탈출구 하나의 분해된 아키텍처는 정확히 몇몇 원소를 표현 불가능하게 만듦으로써 작동합니다), GG의 작용을 따라 일정한 매개변수 공간 위의 함수이며, 따라서 그것을 최대화하는 일은 데이터가 얼마가 되었든 하나의 궤도(orbit, 군의 작용으로 서로 이어지는 해들의 온전한 한 무리; 이 낱말도 바로 아래에서 정의합니다)를 고를 뿐, 결코 하나의 점을 고르지 않습니다.

두 개의 어휘가 이 기하학을 말할 수 있게 해 주며, 도입부 비유의 두 서기가 그 둘을 모두 풀어 줍니다. 레이블 yy파이버(fiber)는 원상 집합 βK1(y)\beta_{\mathsf{K}}^{-1}(y), 즉 같은 관측 가능한 이야기를 들려주는 개념 상태들의 집합입니다: XOR의 경우, 홀짝 종류 {00,11}\{00, 11\}(레이블 00)과 {01,10}\{01, 10\}(레이블 11)입니다. 파이버란 "여러 개의 내부 이야기, 하나의 발표된 보고서"입니다: 하나의 파이버 안에서 장부 항목은 서로 다르지만 보고서는 일치합니다. GG 아래에서 상태 gg궤도(orbit)는 {α(g):αG}\{\alpha(g) : \alpha \in G\}, 즉 어떤 대칭이 gg를 재레이블링할 수 있는 모든 상태이며, 이는 곧 어떤 레이블도 알아채지 못한 채로 모델이 gg에 은밀히 배정할 수 있는 모든 대안적 의미를 뜻합니다. 식별 가능성은 정확히 궤도가 한원소 집합 {g}\{g\}보다 큰 상태들에서 실패합니다.

식별 가능성을 하나의 대칭 문제로 보여 주는 세 패널짜리 히어로 다이어그램입니다. 지식의 대칭군이라는 제목의 왼쪽 패널은 네 개의 개념 상태를 홀짝 파이버별로 묶어 보여 주는데, 00과 11이 나란히, 01과 10이 나란히 놓이고, 두 파이버는 서로 다른 색 띠로 음영 처리되어 있으며, 군의 원소인 항등, 맞바꿈, 부정, 맞바꿈-후-부정 각각에 대한 네 개의 작은 화살표 도식이 있는데, 각 화살표 패턴은 모든 상태의 XOR 레이블을 보존합니다; 주석에는 군의 위수가 넷이며 이는 파이버당 이 계승 하나씩의 곱이라고 적혀 있습니다. 두 모델 하나의 우도라는 제목의 가운데 패널은 두 가중치 매개변수화, 즉 개념 j를 좌표 j에서 읽는 세타 A와 두 헤드를 맞바꾼 세타 B가 똑같은 추론 모듈에 입력되는 모습을 보여 주며, 그 레이블 확률 출력은 정확히 겹치는 두 개의 곡선으로 그려지고 최대 절대 차이가 마이너스 12제곱의 10 허용오차에서 0이라고 주석이 달려 있으며, 그 아래의 개념 판독은 두 개의 혼합 상태에서 서로 어긋나는 모습으로 그려져 있고 개념 정확도는 1.0 대 0.5입니다. 대칭 깨짐을 헤아리다라는 제목의 오른쪽 패널은 계층화된 개념 레이블이 상태를 하나씩 못박음에 따라 생존하는 재레이블링이 16, 8, 4, 2, 1로 내려가는 계단을 보여 주고, 블록 레이블링 순서에 대한 평평한 점선 궤적은 레이블 세 개 이후에도 8에 머물러 있으며, 짧은 분해된 궤적은 2에서 시작해 레이블 하나 만에 1에 도달합니다. 하나의 그림으로 보는 식별 가능성: 지식의 대칭군(왼쪽)은 두 매개변수화를 레이블 우도 면에서 정확히 구별 불가능하게 만들고, 보수책들은 정확히 그 군을 항등원으로 줄임으로써 작동합니다(오른쪽). 저자가 AI의 도움을 받아 직접 제작한 원본 도해.

계산되고 교차 검증된 군

위의 모든 것은 정의와 단 두 줄의 대수일 뿐입니다; companion 코드는 거기서 멈추기를 거부합니다. examples/frontier/identifiability.pyshortcuts.py로부터 과제, 데이터, 그리고 식 1의 우도를 변경 없이 가져온 다음, 군을 그저 주장하는 대신 낱낱이 나열합니다(identifiability.py, 94–101행):

def symmetry_group() -> list[tuple[int, ...]]:
"""The symmetry group G of the knowledge: every relabeling α that is
(i) admissible on the FULL support — β_K(α(g)) = β_K(g) for all g,
the same indicator ``shortcuts.admissible_alphas`` enumerates — and
(ii) a bijection, so it has an inverse and G is a group. Sorted, so
the identity (0,1,2,3) comes first."""
return sorted(a for a in admissible_alphas(list(COMBOS))
if len(set(a)) == len(COMBOS))

규율에 주목하십시오: 허용 가능성 검사는 다시 구현되지 않습니다; 그것은 말 그대로 shortcuts.admissible_alphas, 앞 장의 정리 2 지시자이며, 전단사 조건 len(set(a)) == len(COMBOS)로 걸러집니다(네 개의 상으로 이루어진 튜플이 전단사인 것은 정확히 그 상들이 모두 서로 다를 때입니다). 그런 다음 군의 공리들은 그저 신뢰되는 것이 아니라 나열에 의해 검증됩니다: check_group_axioms는 모든 쌍을 훑으면서 항등원이 존재하는지, 모든 쌍에 대해 αα\alpha \circ \alpha'가 그 집합 안에 머무는지, 그리고 모든 원소가 그 안에 역원을 갖는지를 확인하며(identifiability.py, 115–125행), 그 결과는 assert로 지켜집니다(286행). 커밋된 실행은 그 대상 전체를 출력합니다:

[1] the symmetry group of K: bijections alpha with beta_K(alpha(g)) = beta_K(g) on ALL g
fibers of beta_K (the parity classes): y=0 <- {00, 11} y=1 <- {01, 10}
element images
identity 00->00 01->01 10->10 11->11
swap (c1,c2) -> (c2,c1) 00->00 01->10 10->01 11->11
swap.negate (c1,c2) -> (1-c2,1-c1) 00->11 01->01 10->10 11->00
negate (c1,c2) -> (1-c1,1-c2) 00->11 01->10 10->01 11->00
order |G| = 4 = 2!*2! (one factorial per fiber); closure/identity/inverses verified by enumeration
G is NOT trivial => concepts are NOT identifiable from labels (immediate from the paper's Theorem 2)

네 개의 원소입니다: 항등원; 두 개념을 맞바꾸는 맞바꿈(swap, XOR이 두 인자에 대해 대칭이므로 허용 가능합니다); 두 비트를 모두 뒤집는 부정(negate, XOR의 두 입력을 모두 부정하면 상쇄되므로 허용 가능합니다); 그리고 그 둘의 합성입니다. 각 원소는 자기 자신의 역원이며, 이 군은 Z2×Z2\mathbb{Z}_2 \times \mathbb{Z}_2라고 적는 클라인 네 원소 군(Klein four-group)으로, 원소가 두 개인 두 군의 직접곱입니다: 하나는 맞바꿈이 생성하는 Z2\mathbb{Z}_2이고, 다른 하나는 부정이 생성하는 Z2\mathbb{Z}_2입니다. 출력된 위수 안에는 풀어 볼 만한 공식이 하나 들어 있습니다. 각 파이버 안에서, 그 파이버의 상태들에 대한 어떤 순열(permutation, 일대일로 뒤섞는 것)이든 구성상 레이블을 보존하며, 전단사인 대칭이란 정확히 파이버마다 순열 하나씩을 독립적으로 고르는 것입니다; 원소 kk개짜리 집합은 k!k!개의 순열을 갖습니다(kk 계승(factorial), 곱 k(k1)1k \cdot (k-1) \cdots 1입니다), 그러므로 군의 위수는 파이버당 계승 하나씩의 곱이며, 여기서는 G=2!2!=4\lvert G \rvert = 2! \cdot 2! = 4이고, \lvert \cdot \rvert는 집합의 원소 개수를 나타냅니다. 291–293행의 assert가 이 항등식을 못박고, 294행이 네 개의 이름을 네 개의 나열된 튜플에 못박습니다.

이제 이론이 제 값을 하도록 만드는 교차 검증입니다. GG의 궤도는 βK\beta_{\mathsf{K}}의 파이버와 일치해야 하며(대칭은 상태를 자신의 파이버 안 어디로든 옮길 수 있고 그 밖으로는 옮길 수 없습니다), 만약 실제로 그렇다면, 앞 장의 전체 최적점 개수가 닫힌 형식으로 따라 나옵니다: 임의의 허용 가능한 함수(전단사이든 아니든)는 각 상태를 독립적으로 그 상태의 궤도 안 어디로든 보낼 수 있으므로, 그 개수는 궤도 크기들의 곱입니다,

Nopt  =  gGorbit(g)  =  2222  =  16,N_{\mathrm{opt}} \;=\; \prod_{g \in \mathcal{G}} \lvert \mathrm{orbit}(g) \rvert \;=\; 2 \cdot 2 \cdot 2 \cdot 2 \;=\; 16,

여기서 g\prod_g는 참값 상태마다 인자를 하나씩 곱합니다. 이 모듈은 궤도들을 계산하고, 그것들이 인덱스 집합으로서 파이버와 같음을 assert하며(296–297행), 곱을 계산하고, 그것을 앞 장에서 반환된 무차별 대입 나열 shortcuts.admissible_alphas에 대비해 assert합니다(302–306행):

[2] the group-orbit prediction of shortcuts.py's Theorem-2 count (full support)
orbit of each state (= its fiber): 00->{00,11} 01->{01,10} 10->{01,10} 11->{00,11}
N_opt = prod_g |orbit(g)| = 2*2*2*2 = 16 = the count enumerated by shortcuts.admissible_alphas
reasoning shortcuts beside the intended identity: N_opt - 1 = 15

이것은 이 권의 오라클 규율을 그 자신의 이론에 적용한 것입니다. 2권은 손으로 만든 추론기를 ELK에 대비해 검사했습니다; 4권은 네 가지 세계에 대한 합을 컴파일된 회로에 대비해 검사했습니다; 여기서는 군론과 전수 나열이 서로 무관한 경로로 같은 숫자를 계산하며, 그 일치는 한 문장이 아니라 커밋된 assert입니다. 열여섯 개의 최적점, 열다섯 개의 지름길, 그리고 이제는 이유까지: 그 개수는 군의 궤도 구조이며, 이 군이 자명하지 않은 것은 XOR의 파이버가 자명하지 않기 때문입니다.

두 모델, 하나의 우도: 기계 정밀도에서의 눈멂

이 군은 추상적인 개념 공간 위에 삽니다. 다음 전시물은 그 원소 하나를 가중치 공간에서 실현하여, 우도가 그것을 알아보려다 실패하는 모습을 보여 줍니다. 어디에도 훈련은 관여하지 않습니다: 두 매개변수화 모두 닫힌 형식으로 손수 설정된 것이므로, 아래의 모든 숫자는 운이 아니라 그저 산술입니다. 이 추출기는 원본 입력 좌표를 그대로 읽으며(이 과제의 기하는 개념 jj를 좌표 jj 위에 놓습니다), 헤드마다 2×22 \times 2 가중치 행렬 하나씩을, 손수 설정한 로짓 스케일 s=4s = 4와 함께 씁니다(identifiability.py, 141–152행):

S: float = 4.0 # hand-set logit scale s
# W_READ0: z = s·(−x₀, +x₀), so π[1] = e^{s x₀}/(e^{s x₀}+e^{−s x₀})
# = σ(2 s x₀) — the head says c = 1 exactly when x₀ > 0.
W_READ0: np.ndarray = S * np.array([[-1.0, 0.0], [1.0, 0.0]])
# W_READ1: the same readout off coordinate x₁.
W_READ1: np.ndarray = S * np.array([[0.0, -1.0], [0.0, 1.0]])

# θ_A — the INTENDED parameterization: head j reads coordinate j.
THETA_A: tuple[np.ndarray, np.ndarray] = (W_READ0, W_READ1)
# θ_B — the group's swap element realized in weight space: the SAME two
# matrices with the heads exchanged, so head 1 reads x₁ and head 2 reads x₀.
THETA_B: tuple[np.ndarray, np.ndarray] = (W_READ1, W_READ0)

θA\theta_A는 의도된 의미론입니다: 헤드 jj는 좌표 jj를 읽습니다. θB\theta_B바로 그 두 행렬을 헤드만 맞바꾼 채로 담고 있습니다: 그것은 군의 맞바꿈 원소가 가중치로 실현된 것입니다. 그 다음 단계에서, 둘 다 shortcuts.py의 변경되지 않은 식 1 우도 predict_eq1(그곳의 158–163행)에 입력됩니다: 네 가지 세계에 대한 합 pθ(yx;K)=c1c2=yπ1[c1]π2[c2]p_\theta(y \mid x; \mathsf{K}) = \sum_{c_1 \oplus c_2 = y} \pi_1[c_1]\, \pi_2[c_2]이며, 여기서 πj[v]\pi_j[v]는 헤드 jj가 개념 jj의 값이 vv라고 내놓는 확률입니다.

왜 두 레이블 우도는 반드시 일치할까요? θA\theta_A의 헤드들을 πjA\pi^A_j라고 씁시다. 헤드를 맞바꾼다는 것은 xx의 함수로서 π1B=π2A\pi^B_1 = \pi^A_2이고 π2B=π1A\pi^B_2 = \pi^A_1이라는 뜻입니다. 이를 y=1y = 1에 대한 합에 대입해 봅시다:

pB(1x)=c1c2=1π2A[c1]π1A[c2]=c1c2=1π1A[c1]π2A[c2]=pA(1x),p_B(1 \mid x) = \sum_{c_1 \oplus c_2 = 1} \pi^A_2[c_1]\, \pi^A_1[c_2] = \sum_{c_1' \oplus c_2' = 1} \pi^A_1[c_1']\, \pi^A_2[c_2'] = p_A(1 \mid x),

여기서 가운데 단계는 합산 인덱스를 (c1,c2)=(c2,c1)(c_1', c_2') = (c_2, c_1)로 이름을 바꾼 것입니다: 인덱스 집합은 c1c2=c2c1c_1 \oplus c_2 = c_2 \oplus c_1이기 때문에 바뀌지 않으며(바로 여기서 XOR의 대칭성이 들어옵니다), 각 합산 항은 수의 곱셈이 교환 가능하기 때문에 바뀌지 않습니다. y=0y = 0에 대한 같은 계산이 나머지 레이블을 처리합니다. 이 등식은 근사가 아니라 정확한 것이며, 커밋된 실행이 그것을 그대로 보여 줍니다: 520개의 훈련 및 테스트 지점 전부에 걸쳐, 두 레이블 모두에서, 최대 절대 차이는 assert된 허용오차 101210^{-12} 아래에 있는 정도가 아니라 정확히 0인데, 이는 두 부동소수점 합이 (IEEE-754 부동소수점 곱셈과 덧셈은 교환 가능하므로) 같은 곱들을 순서만 바꾸어 담고 있기 때문입니다(identifiability.py, 318–320행). 그 출력은 다음과 같습니다:

[3] distribution equivalence: two hand-set weightings one likelihood cannot split
theta_A: head j reads coordinate j (intended); theta_B: the SAME matrices, heads exchanged (the swap element)
on all 520 train+test points, both labels:
max |p_A(y|x;K) - p_B(y|x;K)| = 0.0e+00 (tolerance 1e-12); label predictions identical
quantity theta_A theta_B
label accuracy 1.000 1.000
mean NLL of true y 0.0042 0.0042
concept accuracy 1.000 0.500
induced map alpha-hat identity swap
same likelihood everywhere, concepts 0.5 apart: label accuracy is provably blind to the difference

이 표를 위에서 아래로 읽으십시오, 네 개의 행으로 이루어진 하나의 해체이기 때문입니다. 레이블 정확도: 둘 다 완벽합니다. 참 레이블의 평균 음의 로그 우도(negative log-likelihood, 표의 NLL), 즉 문턱값으로 자른 결정이 아니라 예측된 확률 전체를 보는 훨씬 더 정밀한 도구: 출력된 모든 자릿수까지 동일하며, 위의 등식에 의해 실제로도 동일합니다. 개념 정확도: 1.0001.0000.5000.500입니다. θB\theta_B의 개념 판독은 상태 01011010에서 오는 모든 입력의 두 비트 모두에서 틀리는데, 이는 균형 잡힌 데이터의 절반이며, 예측된 상태와 참 상태의 혼동으로부터 복원된, 유도된 재레이블링은 정확히 군의 맞바꿈 원소임이 assert됩니다(identifiability.py, 325–329행).

이 귀결은 응당한 만큼 날카롭게 진술해야 합니다. 레이블에 기반한 모든 양, 즉 정확도, F1(정밀도와 재현율의 조화 평균), yy에 대한 보정, 홀드아웃 우도, 어떤 적정 채점 규칙(proper scoring rule)이든, 사상 xpθ(yx;K)x \mapsto p_\theta(y \mid x; \mathsf{K})의 함수인데, 화살표 \mapsto는 "…로 보낸다"라고 읽습니다: 각 입력 xx를 그 예측된 레이블 분포로 보내는 함수라는 뜻입니다. 그리고 θA\theta_AθB\theta_B에 대해 그 사상은 동일합니다: 가깝다는 것이 아니라 동일합니다. 더 큰 테스트 집합은 더 많은 지점에서 똑같은 두 개의 동일한 함수를 평가할 뿐입니다. 더 영리한 레이블 지표는 그 똑같은 두 개의 동일한 함수에 대한 또 다른 범함수를 평가할 뿐입니다. 이 불가능성은 데이터 양으로 깎아 낼 수 있는 통계적인 것이 아닙니다; 그것은 개념 의미론에서 레이블 행동으로 가는 사상이 단사가 아니라는 사실 속에 살고 있으며, 그 사상의 하류에서 계산되는 어떤 양도 그 사상이 파괴한 것을 복원할 수 없습니다. 정확도가 결코 의미를 보증하지 못하는 것은, 정확도가 βK\beta_{\mathsf{K}}의 저편에서 측정되기 때문입니다.

파이버 경계: NeSy 너머에서 물리는 곳

XOR 분석은 일반화되며, 그 일반적인 진술은 이동 가능한 형태로 가져다 둘 만한 가치가 있습니다. SATORI의 접지(grounding) 노트는 이 시리즈가 4권 이래로 써 온 인수분해된 형태로 그것을 진술합니다: NeSy 예측기는 합성 ρgθ\rho \circ g_\theta이며, 지각 gθg_\theta는 입력을 개념으로 사상하고, 그런 다음 고정된 추론 ρ\rho는 개념을 출력으로 사상합니다. 만약 ρ\rho가 단사가 아니고 어떤 파이버 ρ1(y)\rho^{-1}(y)kk개의 개념 상태를 담고 있다면, 그 파이버의 모든 순열을 (나머지 곳에서는 항등으로 확장하여) ρ\rho와 교환하는 전단사로 만들 수 있습니다; 그런 순열이 k!k!개 있으므로, 동일한 출력 행동을 갖는 별개의 개념 의미론이 적어도 k!k!개 있으며, 의도된 것은 그중 많아야 하나일 뿐인데, 이는 [1]의 최적점 특성화의 따름정리입니다. 이 증명은 앞서 나온 두 줄짜리 닫힘성 논증에 계수 세기를 더한 것입니다: 오직 한 파이버 안에서만 상태를 옮기는 순열은 정의상 어떤 레이블도 바꾸지 않습니다. 이것이 바로 커밋된 실행이 출력한 G=2!2!\lvert G \rvert = 2! \cdot 2!이며, 등식이 아니라 하한으로 읽습니다.

그 논증에는 논리도, 지식 베이스도, 신경-기호 아키텍처도 전혀 등장하지 않습니다. 그것이 필요로 하는 것은 오직 다대일 사상을 통해 읽히는 내부 어휘를 가진 모델뿐이며, 그 기술은 머신러닝의 놀랄 만큼 큰 부분을 아우릅니다. 표현 학습(representation learning)에서, 비지도 분리의 불가능성은 똑같은 수학입니다: 레이블 없는 데이터셋에 대해 이른바 분리되었다고 하는 어떤 표현에 대해서도, 그 요인들을 뒤엉키게 하면서도 정확히 같은 주변 우도(marginal likelihood)를 갖는 변환된 표현들이 존재하므로, 목적 함수는 그 분리된 표현을 선호할 수 없습니다 [2]. 잠재 변수 모델에서, 변분 오토인코더(variational autoencoder)의 잠재 변수는 같은 이유로 식별 불가능하며, 현대적인 보수책은 대칭 집합을 줄이기 위해 정확히 사전 분포를 보조 관측 변수에 조건화합니다 [3]. 산업 규모에서 이 현상은 대수 없이도 이름을 갖습니다: 명세 부족(underspecification)으로, 훈련 파이프라인이 동등한 테스트 지표를 지니면서도 배치 시 행동이 갈라지는 여러 예측기를 내놓는 현상이며, 이때 파이버는 손으로 나열되는 대신 무작위 시드에 의해 탐색됩니다 [4]. 그리고 사람이 개념 층을 읽고 편집할 수 있도록 지어진 아키텍처인 개념 병목 모델은, 그 개념 지도가 부분적일 때마다 바로 이 산술의 지배를 받는데, 왜냐하면 못박히지 않은 파이버 하나하나가 읽을 수 있는 개념이 그 이름과는 다른 무언가를 한결같이 의미할 수 있는 자리이기 때문입니다 [5]. 표어로 말하면: 모델의 내부 어휘가 다대일 사상을 통해 읽히는 곳이라면 어디서든, 파이버는 책임 소재가 사라지는 곳입니다.

탈출구 하나: 개념 헤드를 분해하기

병이 지나치게 큰 재레이블링 공간이라면, 한 가지 치유책은 아키텍처적입니다: 틀린 재레이블링들을 표현 불가능하게 만드는 것입니다. 분해된(factorized, 개념별) 추출기는 각 개념을 자신만의 헤드로 계산하므로, 그것이 실현할 수 있는 어떤 체계적 오류든 좌표별로 작용해야 합니다: α(c1,c2)=(f1(c1),f2(c2))\alpha(c_1, c_2) = (f_1(c_1), f_2(c_2))이며, 여기서 각 fjf_j는 한 비트에서 한 비트로 가는 함수입니다. 헤드당 그런 함수가 22=42^2 = 4개 있으므로(두 입력 각각이 독립적으로 두 출력 중 하나에 배정됩니다), 분해된 재레이블링은 42=164^2 = 16개이며, 제약 없는 결합 사상 44=2564^4 = 256개에 대비됩니다. companion 코드는 두 공간을 같은 인코딩으로 나열하여 직접 비교할 수 있게 하며, 계수를 세기도 전에 핵심적인 배제 하나가 눈에 들어옵니다. 네 상태 00,01,10,1100, 01, 10, 11을 그 순서대로 인덱스 00부터 33까지로 적고, 재레이블링을 그 상들의 인덱스로 이루어진 네 개짜리 튜플로 적으면(그래서 항등은 (0,1,2,3)(0, 1, 2, 3)입니다), 맞바꿈은 (0,2,1,3)(0, 2, 1, 3)입니다: 상태 1122, 즉 01011010을 맞바꿉니다. 이 튜플은 분해된 형태가 아닌데, 그 첫 번째 출력 비트가 c2c_2에 의존하기 때문이며, 개념별 헤드는 c2c_2를 볼 수 없습니다(identifiability.py, 202–214행).

어떤 분해된 사상들이 허용 가능성 검사에서 살아남을까요? 이 모듈의 유도(217–227행)는 여기서 끝까지 다 보일 만큼 짧습니다. 한 비트짜리 함수는 상수이거나, 어떤 비트 bjb_j에 대해 fj(c)=cbjf_j(c) = c \oplus b_j의 형태입니다(bj=0b_j = 0이면 항등, bj=1b_j = 1이면 부정입니다). 상수 함수 f1af_1 \equiv a(\equiv는 항등적으로 같다는 뜻입니다: 두 입력 모두에 대해 출력이 같은 비트 aa인 헤드)는 결코 살아남을 수 없습니다: c2c_2를 고정하고 c1c_1을 토글하면 참 레이블은 바뀌지만 출력 af2(c2)a \oplus f_2(c_2)는 바뀌지 않으므로, 어떤 상태가 교환 조건을 어기며, 두 헤드의 역할을 맞바꾼 같은 논증이 상수 f2f_2를 배제합니다. 두 헤드가 모두 상수가 아닐 때,

f1(c1)f2(c2)=(c1b1)(c2b2)=(c1c2)(b1b2),f_1(c_1) \oplus f_2(c_2) = (c_1 \oplus b_1) \oplus (c_2 \oplus b_2) = (c_1 \oplus c_2) \oplus (b_1 \oplus b_2),

\oplus의 결합성과 교환성에 의해서이며, 이는 정확히 b1b2=0b_1 \oplus b_2 = 0일 때, 즉 b1=b2b_1 = b_2일 때 모든 입력에 대해 c1c2c_1 \oplus c_2와 같습니다. 정확히 두 개의 생존자입니다: 항등(b1=b2=0b_1 = b_2 = 0)과 이중 부정(double negation, b1=b2=1b_1 = b_2 = 1)입니다. 커밋된 계수들은 각각 assert됩니다(333–342행):

[4] mitigation = symmetry breaking, counted
joint maps 4^4 = 256 -> factorized (per-concept) maps 4^2 = 16 (16x smaller)
admissible joint 16 -> admissible factorized 2 (8x smaller)
factorized survivors: the identity and the double negation; the swap is not expressible per-concept

분해는 표현 가능한 체계적 오류의 공간을 열여섯 배 줄이고 허용 가능한 오류의 공간을 여덟 배 줄이며, 스윕이 가장 즐겨 찾는 지름길인 맞바꿈을 완전히 없애 버립니다. 두 가지 정직한 단서가 이 축하를 누그러뜨립니다. 첫째, 생존하는 개수는 11이 아니라 22입니다: 이중 부정은 각 헤드 안에서 작용하므로 어떤 개념별 아키텍처도 그것을 배제할 수 없으며, 다른 지렛대가 작동하기 전까지는 개념이 식별 불가능한 채로 남습니다. 아키텍처는 군을 가지치기하지만, 여기서는 그것을 자명하게 만들지 못합니다. 둘째, 더 근본적으로: 분해가 도움이 되는 것은 이 과제의 참된 개념들이 좌표당 하나씩 분해되기 때문입니다. 개념별 헤드를 선언하는 것은 세계의 생성 요인들이 설계자의 분해와 정렬되어 있다는 귀납적 내기입니다. 그 내기가 틀렸을 때, 제약된 아키텍처는 의도된 의미론을 전혀 표현할 수 없게 되며, 그 "완화책"은 눈에 보이지 않는 오류를 고칠 수 없는 오류와 맞바꾸는 셈입니다. 분해는 도메인 지식으로 사들인 좋은 내기이지, 공짜 점심이 아닙니다.

탈출구 둘: 대칭 깨짐으로서의 지도

앞 장은 [1]의 분석이 다루는 완화 지렛대인 개념 지도를 하나의 보수책으로 측정했습니다: 계층화된 열두 개의 개념 레이블이 현행범으로 붙잡힌 시드의 개념 F1을 0.5000.500에서 1.0001.000으로 끌어올렸습니다. 군의 그림은 그 메커니즘을 설명하고 정확히 값을 매깁니다. 참 상태가 gg인 개념-레이블링된 예제 하나는 α(g)=g\alpha(g) = g를 드러냅니다: gg를 옮기는 어떤 재레이블링도 더 이상 결합 목적 함수의 최적점이 아닙니다. 그러므로 레이블링된 예제 하나하나는 상태 하나를 못박으며, 재레이블링은 정확히 레이블링된 모든 상태를 고정할 때 kk개의 레이블링된 예제를 견디고 살아남습니다(identifiability.py, 238–248행). 오직 서로 다른 상태만이 중요한데, 반복된 상태는 이미 발동 중인 제약을 다시 부과할 뿐이기 때문입니다. 열여섯 개의 허용 가능한 결합 사상들 가운데, 못박히지 않은 상태 하나하나는 자신의 두 원소짜리 파이버 안에서 독립적인 선택을 그대로 유지하므로, kk개의 레이블 이후의 생존자 개수는 다음 닫힌 형식을 따릅니다

Ak  =  24d(k),\lvert A_k \rvert \;=\; 2^{\,4 - d(k)},

여기서 d(k)d(k)는 처음 kk개의 레이블이 다루는 서로 다른 상태의 개수입니다. 이 모듈은 이 공식에 맞대어 두 가지 레이블링 순서를 표로 만들고 모든 항목을 assert합니다(345–352행): 매번 새로운 상태를 다루는 라운드 로빈(round-robin)과, 다음으로 넘어가기 전에 한 상태당 레이블 세 개를 쓰는 블록(block, shortcuts.py의 지도받는 부분집합의 원본 인덱스 순서)입니다. 커밋된 곡선은 다음과 같습니다:

concept labels pin states, |A_k| = 2^(4 - #distinct states seen):
k state labeled (rr) joint, round-robin joint, block factorized, rr
0 - 16 16 2
1 00 8 8 1
2 01 4 8 1
3 10 2 8 1
4 11 1 4 1
the block order (3 labels per state) reaches 1 only at k = 10: coverage, not volume, breaks symmetry

같은 숫자를 표로 나타내면, 그 옆에 정보량을 함께 읽을 수 있습니다:

kk레이블링된 상태(라운드 로빈)결합, 라운드 로빈log2\log_2 생존자결합, 블록분해, 라운드 로빈
00161644 비트161622
1100008833 비트8811
2201014422 비트8811
3310102211 비트8811
4411111100 비트4411

라운드 로빈 열을 정보량으로 읽어 봅시다: 주변의 모호함은 log216=4\log_2 16 = 4 비트이며, 새로운 상태에 대한 레이블 하나하나는 정확히 파이버 크기의 로그값인 log22=1\log_2 2 = 1 비트를 제거하고, k=4k = 4에서 그 개수는 정확히 11에 도달하여 항등원만이 홀로 남습니다. 그 지점에서 대칭군은 자명하고 개념은 식별 가능해지며, 바로 이것이 앞 장의 계층화된 열두 개 레이블(상태당 세 개씩, 그래서 네 상태 모두를 다룸)이 의미론을 되살린 이유이자, 그 닫힌 형식 "네 상태 모두를 지도하면 242^4에서 141^4로 간다"가 이 표의 마지막 행인 이유입니다. 블록 열은 경고성의 짝입니다: k=3k = 3의 레이블을 모두 상태 0000에 쓴 뒤에도 생존자 개수는 여전히 88을 나타내며, 생존자 하나로 넘어가는 지점으로 assert된 것은 k=10k = 10, 즉 블록 순서가 마침내 네 상태 모두를 건드리게 되는 첫 번째 인덱스입니다(352–356행). 지도는 양이 아니라 포괄성(coverage)을 통해 식별 가능성을 사들이며, 이미 다룬 상태에 쓰는 레이블링 예산은 아무것도 사지 못합니다. 그리고 분해된 열은 두 지렛대를 겹쳐 놓습니다: 맞바꿈이 이미 표현 불가능한 상태에서는, 어느 상태에든 붙는 개념 레이블 단 하나가 이중 부정을 없애 버려서, 그 개수는 k=1k = 1에서 이미 11에 도달합니다(351행). 아키텍처와 지도는 서로 곱해지는데, 각각이 상대방이 없앨 수 없는 군의 원소들을 없애기 때문입니다.

탈출구 셋: 과제를 바꾸기

세 번째 지렛대는 개념 레이블을 전혀 필요로 하지 않습니다: 모델에게 예측하라고 요구하는 것 자체를 바꾸는 것입니다. 같은 개념 어휘에 대한 두 개의 과제는 두 개의 레이블 사상 βK\beta_{\mathsf{K}}βK\beta_{\mathsf{K}'}를 가지므로 두 개의 대칭군을 가지며, 재레이블링은 오직 둘 다와 교환될 때만 결합 훈련을 견디고 살아남습니다: 살아남는 집합은 교집합 GGG \cap G'입니다. 다중 과제 지식은, 개념 레이블을 단 하나도 쓰지 않고도, 정확히 그 교집합이 자명할 때 개념을 식별합니다; 이것이 추론 지름길 분석의 다중 과제 완화책이며 [1], 잠재 변수 모델에서 보조 관측 변수, 즉 잠재 변수에 대한 의존성이 그 대칭을 깨뜨리는 또 다른 관측 가능량에 조건화함으로써 식별 가능성을 되살리는 것과 같은 탈출구입니다 [3].

companion 모듈에는 다중 과제 전시물이 없으므로, 우리는 눈으로 확인할 수 있을 만큼 작은, 출력된 군의 표 위에서 그 메커니즘을 직접 논증합니다. 같은 두 개념에 두 번째 과제를 더해 봅시다: y2=βK(c)=c1y_2 = \beta_{\mathsf{K}'}(c) = c_1, "첫 번째 개념을 보고하라"입니다(연속되는 예시의 학문 세계에서 말하자면: "이 두 기록이 서로 다른가?"와 함께, 두 열에 대해 대칭이 아닌 보고서도 하나 발표하는 것입니다). XOR의 군의 자명하지 않은 각 원소를, 출력된 상 행을 이용해, c1c_1의 보존 여부에 대해 검사해 봅시다. 맞바꿈은 011001 \to 10으로 보냅니다: 첫 번째 비트가 00에서 11로 바뀌므로 맞바꿈은 실패합니다. 부정은 001100 \to 11로 보냅니다: 첫 번째 비트가 바뀌므로 실패합니다. 합성은 001100 \to 11로 보냅니다: 실패합니다. XOR의 자명하지 않은 모든 대칭은 어떤 상태의 첫 번째 비트를 바꾸므로, GG={id}G \cap G' = \{\mathrm{id}\}이며, 두 과제는 개념 지도를 전혀 쓰지 않고도 두 개념 모두를 함께 못박습니다. 이 지렛대의 값은 그만큼이나 분명하게 진술됩니다: 그것은 지식이 알려져 있고 옳은 두 번째 과제, 그리고 그 대칭이 첫 번째 과제의 대칭과 증명 가능하게 횡단하는(transverse, 두 대칭군이 항등원만을 공유한다는 뜻입니다) 두 번째 과제를 요구합니다. 이 시리즈에서 가장 오래된 비용인 지식 공학(knowledge engineering)이 여기서 식별 가능성을 사들입니다.

아직 풀리지 않은 부분

이 장의 모든 것은 모든 것이 작았기 때문에 정확했습니다: 네 개의 상태, 256개의 사상, 위수 네짜리 군입니다. 실제 시스템은 이 편의 하나하나를 한꺼번에 깨뜨립니다. 그것들의 개념 공간은 조합적이며(이진 개념 스무 개에 대해 2202^{20}개의 상태), 흔히는 미리 알려져 있지도 않으므로, 군은 나열될 수도 적어질 수도 없습니다; 후속 연구(다음 장의 rsbench 모음)는 #SAT 풀이기, 즉 부울 충족 가능성(Boolean satisfiability, SAT) 식의 충족 배정을 찾는 대신 그 개수를 세는 모델 계수기로 허용 가능한 재레이블링을 세는데, 이는 도달 범위를 넓혀 주지만, 어휘 자체가 학습되는 경우로까지는 넓혀 주지 못합니다. 그것들의 예측기는 부드러우므로(soft), 정확한 대칭은 근사적인 대칭에 자리를 내주게 됩니다: 레이블 행동이 어떤 작은 허용오차 ε\varepsilon(엡실론)만큼만 다르면서도 개념은 절반만큼 다른 매개변수화들이며, 깔끔한 자명함/비자명함의 이분법은 합의된 척도가 없는 하나의 스펙트럼이 됩니다. 그것들의 지식은 잡음이 섞여 있거나 부분적으로 틀리므로, 교환 조건 자체가 세상을 잘못 기술할 수도 있는 βK\beta_{\mathsf{K}}에 대비해 정의됩니다. 그리고 이 권이 계속 손을 뻗는 진단 도구인 불확실성은 정확히 바로 이 이음매에서 여전히 하나의 추측으로 남습니다: 만약 어떤 최적점이 한 파이버 안의 여럿 중 하나라면, 잘 보정된 모델은 정확히 군이 작용하는 곳에서 개념에 대해 불확실해야 마땅하며, 그래서 보정은 식별 가능성을 따라가야 합니다; SATORI의 주장 C5는 이 추측의 운용 버전(추론 지름길에 강건한 보정된 신뢰도)에 내기를 걸지만, 현재 어떤 정리도 그것을 내놓지 못합니다. 이 이론이 실제로 내놓는 것은 하나의 강한 부정적 결과입니다: 그 가정들이 미치는 범위 안에서는, 어떤 라벨 지표도 개념의 의미를 보증할 수 없습니다. 측정이 무언가를 보증하려면, 벤치마크는 라벨이 아닌 다른 무언가를 측정해야 하며, 그것이 정확히 다음 장의 임무입니다.

왜 중요한가

이 장은 이 권의 중심적인 불가능성 결과이며, 그 제목값을 합니다. 이 시리즈는 1권의 증명들로부터, 온톨로지, 임베딩, 미분 가능 논리를 거쳐, 과제 레이블이 기호 수준의 의미를 훈련시킬 수 있다는 4권의 약속에 이르기까지 올라왔습니다; II부는 그 약속의 작은 글씨이며, 이제 그 작은 글씨는 정밀합니다: 레이블 우도는 오직 지식의 대칭군까지만 개념 의미론을 결정하므로, 정확도는 정확히 그 군이 자명할 때 의미를 보증하며, 설계자는 열거 가능한 과제에서는 아무것도 훈련시키기 전에 그것을 확인할 수 있습니다. 독자 자신의 연구를 위한 실무적인 내용은 하나의 점검표입니다. 개념을 신뢰하기 전에 군을 계산하거나 그 경계를 구하십시오: 레이블 사상의 파이버는 과제 정의로부터 읽어 낼 수 있습니다. 아키텍처를 군의 가지치기로 다루고, 그것이 어떤 원소들을 없애는지, 어떤 내기를 거는지를 말하십시오. 개념 레이블은 양이 아니라 포괄성에 쓰고, 군의 위수에 대비해 비트로 그것을 셈하십시오. 첫 번째 과제의 레이블을 천 개 더 얻는 것보다 횡단하는 두 번째 과제(그 대칭군이 첫 번째 과제의 대칭군과 항등원에서만 만나는 과제)를 선호하십시오. 그리고 NeSy 안에서든 밖에서든, 모델의 출력이 옳기 때문에 그 내부도 옳다는 어떤 주장도 믿지 마십시오: 명세가 부족한 파이프라인들은 정확히 그 추론 위에서 매일 배포되며, 파이버는 바로 그것이 실패하는 곳입니다.

핵심 용어

  • 지식의 대칭군 GG(symmetry group of the knowledge): 전체 지지집합 위에서 βKα=βK\beta_{\mathsf{K}} \circ \alpha = \beta_{\mathsf{K}}를 만족하는 전단사 재레이블링 α\alpha들이며, 합성 아래에서 하나의 군을 이룹니다; 식별 가능성을 결정하는 대수적 대상입니다.
  • 식별 가능성(identifiability, 라벨로부터 개념의): 레이블 분포가 개념 의미론을 유일하게 결정하는 것; 대칭군이 자명할 때, 다시 말해 모든 파이버가 원소 하나짜리일 때 그리고 오직 그때에만 성립합니다.
  • 파이버(fiber): 원상 집합 βK1(y)\beta_{\mathsf{K}}^{-1}(y), 즉 하나의 레이블을 공유하는 개념 상태들입니다; 크기 kk의 파이버는 적어도 k!k!개의 레이블 동치인 의미론을 보탭니다.
  • 궤도(orbit): 어떤 대칭이 gg를 실어 나를 수 있는 상태들의 집합 {α(g):αG}\{\alpha(g) : \alpha \in G\}입니다; 여기서 궤도는 파이버와 일치하며, 최적점 개수는 궤도 크기들의 곱입니다.
  • 클라인 네 원소 군(Klein four-group, Z2×Z2\mathbb{Z}_2 \times \mathbb{Z}_2): 서로 교환하는 두 개의 자기 역원짜리 원소가 생성하는 네 원소 군입니다; 개념 맞바꿈과 이중 부정이 생성하는 XOR의 대칭군입니다.
  • 분포 동치(distribution equivalence): 동일한 사상 xpθ(yx;K)x \mapsto p_\theta(y \mid x; \mathsf{K})를 유도하는 두 개의 매개변수화입니다; 레이블 행동에 대한 어떤 범함수도, 데이터가 아무리 많아도, 그 둘을 갈라놓지 못합니다.
  • 대칭 깨짐(symmetry breaking): 군의 원소를 없애는 어떤 개입이든: 분해된 헤드(표현 불가능성), 개념 레이블(상태 못박기), 또는 두 번째 과제(군의 교차)입니다.
  • 명세 부족(underspecification): 파이프라인이 테스트 지표는 동등하면서도 배치 시 행동이 갈라지는 여러 예측기를 내놓는, 파이버의 산업 규모 형태입니다.

다음으로 이어지는 곳

이 이론은 방금 옳은 개념과 틀린 개념의 차이가 모든 라벨 지표에 보이지 않는다는 것을 증명했으며, companion 코드는 그 보이지 않음을 기계 정밀도에서 보여 주었습니다. 그 판결은 평가라는 일의 직무 기술서를 다시 그립니다: NeSy 시스템에 대해 레이블 정확도를 보고하는 벤치마크는 이 장이 의미론 전체에 걸쳐 상수임을 증명한 양을 측정하고 있는 것이므로, 벤치마크는 레이블이 할 수 없는 것을 드러내야 합니다: 참값에 대비한 개념 품질, 지지집합 편향, 그리고 일부러 심어 놓은 지름길입니다. 지름길 측정하기: rsbench가 다음 장이며, 정확히 그것을 하도록 설계된 벤치마크 모음을 따라갑니다: 허용 가능한 재레이블링이 미리 알려진 과제들이어서, 모델의 개념을 그저 믿는 대신 그 전수 조사에 대비해 채점할 수 있게 합니다.


Companion 코드: examples/frontier/identifiability.py는 대칭군을 낱낱이 나열하고 그 공리들을 검증하며, 궤도로부터 앞 장의 최적점 개수를 예측하고, 분포가 동치인 한 쌍을 구성하며, 두 대칭 깨짐 지렛대를 모두 헤아리는데, 과제와 데이터와 우도는 examples/frontier/shortcuts.py로부터 변경 없이 가져옵니다. 이 장의 모든 숫자를 재현하려면 python3 examples/frontier/identifiability.py를 실행하십시오; 이 실행은 결정론적이며 모든 주장은 assert로 지켜집니다.