스코어: 퍼지기 전으로 되돌리는 방향

자주 하는 실수와 요약

자주 하는 실수

실수 나온 문제 바로잡는 법
작게 기록된 신호를 크게 키우면 되살아난다고 봄 1 키우면 잡음도 같은 배율로 커진다. 기록할 때 잡음보다 컸던 것만 살아난다
해가 하나로 정해지니 열 방정식을 거꾸로 풀 수 있다고 봄 2 촘촘한 무늬가 e^(Dk²t)배로 커진다. 반올림 오차 아래로 가라앉은 무늬는 끝 분포에서 되찾을 수 없고, 그 경계 파수는 √(36/(Dt))로 잡음을 짙게 섞을수록 낮아진다
흐린 사진에서 되살아난 가는 결이 사진 안에 남아 있던 정보라고 봄 3 저장할 때 오차보다 작아진 무늬는 사라졌다. 되살아난 결은 데이터 분포에 대한 앎으로 채운 것이다
흐름의 양이 같으면 걷는 빠르기도 같다고 봄 4 빠르기는 흐름 ÷ 밀도다. 확률 한 몫의 속도는 ∇p/p = ∇ log p 가 정한다
시간을 거꾸로 가면서 속도의 부호를 그대로 둠 5, 7 t 가 줄어드는 쪽으로 걸으면 −v, 곧 +D·s 쪽으로 옮긴다
같은 길을 같은 규칙으로 가면 간격도 그대로라고 봄 6 지키는 것은 순서와 시간 차다. 간격은 빠른 곳에서 늘고, 밀도는 그만큼 준다
오래 퍼뜨린 분포는 흐름으로도 되돌릴 수 없다고 봄 7 처음 모양의 정보는 끝 분포가 아니라 모든 시간의 스코어에 남아 있다
평균과 분산이 맞는 스코어면 충분하다고 봄 7 봉우리 구조는 스코어의 모양에 있다. 가우시안 스코어로는 한 봉우리만 나온다
스코어가 정확하면 출발 분포는 아무래도 된다고 봄 8 흐름은 출발점마다 도착점을 정한다. 가장 짙은 잡음이 봉우리 구조를 지울 만큼 커야 가우시안에서 출발해도 된다
두 봉우리 한가운데서는 바늘이 멈춘다고 봄 10 책임도에 혼합 비중이 들어간다. 합의 로그를 미분하므로 비중이 큰 쪽으로 기운다
밀도를 먼저 계산한 뒤 로그를 씌움 10 먼 곳에서 밀도가 0으로 뭉개진다. 로그 가중치에서 가장 큰 값을 빼고 계산한다
에너지 기반 모델의 스코어를 +E′으로 씀 11 log p = −E − log Z 라 스코어는 −E′ 이다. 바늘은 에너지의 내리막을 가리킨다
관측 점수를 그대로 참값의 짐작으로 씀 12 운의 몫만큼 평균 쪽으로 당긴다. 실력 분산 ÷ 전체 분산만 믿는다
트위디 공식에 데이터 분포의 스코어를 넣음 13 넣는 것은 잡음 섞인 분포 pt의 스코어다
수리공의 걸음과 바늘을 따라 걷는 걸음을 다른 방법이라 봄 14 트위디 공식으로 x̂ − x = σ²s. 수리공의 걸음은 바늘 쪽으로 (1 − σk+1/σk)σk² 만큼 가는 거꾸로 흐르기의 한 어림이다. 한 단계로 하면 평균으로 뛰어 봉우리 사이 빈 땅에 떨어진다

요약

잡음을 섞어 가는 과정은 열 방정식이고, 파수 k인 무늬를 e^(−Dk²t)배로 줄인다. 거꾸로 가는 열 방정식은 같은 무늬를 e^(+Dk²t)배로 키우는 불안정한 문제라, 반올림 오차 아래로 가라앉은 촘촘한 무늬는 끝 분포에서 되찾을 수 없다. 열 방정식을 확률의 흐름으로 읽으면, 각 자리의 확률은 속도 v = −D∇ log pt로 움직인다. 로그 밀도의 위치 기울기 s = ∇ₓ log pt가 스코어, 드래곤볼 레이더의 바늘이다. 시간을 1에서 0으로 거꾸로 걸으며 점을 +D·s 쪽으로 옮기면 퍼지기 전의 분포로 돌아오고, 점들은 서로 앞지르지 않는다. 이 길에는 모든 시간의 스코어가 필요하다. 스코어는 정규화 상수 Z를 몰라도 계산되고, 밀도가 0에 붙는 벌판에서도 꺼지지 않는다. 트위디 공식 E[x₀ ∣ xt] = xt + σt² s는 바늘이 「잡음을 걷어 낸 원래 점의 평균」을 가리킨다고 말하며, 잡음 걷어 내기와 스코어가 같은 정보임을 보여 준다. 그래서 복원기로 조금씩 고쳐 가던 수리공의 걸음은 바늘 쪽으로 거꾸로 흐르는 걸음의 한 어림이었다.

flowchart LR
  A["잡음 섞기<br/>열 방정식: 무늬가 e^(−Dk²t)로 준다"] --> B["밀도를 거꾸로<br/>무늬가 e^(+Dk²t)로 폭발<br/>(불안정한 문제)"]
  A --> C["흐름으로 읽기<br/>속도 v = −D·s"]
  C --> D["스코어 s = ∇ log pₜ<br/>레이더 바늘, Z 를 몰라도 된다"]
  D --> E["거꾸로 흐르기<br/>+D·s 쪽으로 걸으면<br/>데이터로 돌아온다"]
  D --> F["트위디 공식<br/>x + σ²·s = 원래 점의 평균"]
  F --> G["수리공의 걸음 = 바늘 쪽 한 걸음<br/>한 번에 뛰면 흐릿한 평균"]

막힌 곳

이제 퍼진 분포를 되돌리는 길을 안다. 모든 잡음 수준에서 스코어를 알면, 점 하나하나를 바늘 쪽으로 옮겨 데이터로 돌아올 수 있다. 바늘은 정규화 상수를 몰라도 읽히고, 잡음을 걷어 낸 원래 점의 평균을 가리킨다.

그런데 이 장의 장난감에서는 데이터 분포를 식으로 알았기 때문에 스코어를 정확히 계산할 수 있었다. 실제로 가진 것은 그림 몇만 장뿐이고, 잡음 섞인 그림들의 분포는 모른다. 복원기를 배울 때처럼 깨끗한 그림에 잡음을 섞어 짝을 모으면, 정답을 아무도 모르는 바늘까지 배워질까? 그리고 수리공의 걸음이 바늘 쪽으로 거꾸로 흐르는 걸음이었다면, 잡음 크기를 한 단계 줄일 때마다 그 걸음이 실제로 고치는 것은 그림의 어느 부분일까?