확산 모델(Diffusion model)
자료에 잡음을 조금씩 더해 거의 표준정규분포(standard normal distribution)로 만드는 과정을 정해 두고, 그 반대 방향을 신경망(neural network)에게 배우게 해서 순수한 잡음에서 새 자료를 만들어 내는 생성 모델(generative model). 신경망이 배우는 것은 잡음 수준마다 확률밀도(probability density)가 가장 빨리 커지는 방향(점수)이다.
평면에 점 480개가 여덟 무더기로 고리 모양을 이루고 있습니다. 이 점들이 우리가 가진 자료라고 합시다. 사진 한 장을 수십만 차원 공간의 점 하나로 보면 사진 모음도 이런 점구름입니다. 이제 걸음마다 모든 점을 원점 쪽으로 아주 조금 당기고, 작은 정규분포(normal distribution) 잡음을 더합니다.
t = 1에 이르면 고리는 거의 알아볼 수 없고, 점들은 원점 둘레에 둥글게 퍼진 표준정규분포에 가까운 모양이 됩니다. 이유는 한 줄입니다. 출발점
거꾸로 가기. 앞으로 가는 과정은 누구나 할 수 있습니다. 확산 모델의 요점은 거꾸로 가는 법을 배우는 데 있습니다. 표준정규분포에서 새로 뽑은 점들을 걸음마다 조금씩 되돌리면, 끝에는 자료처럼 생긴 점들이 나와야 합니다. 방향을 '거꾸로'로 바꾸고 t를 1에서 0으로 줄여 보세요. β가 작으면 거꾸로 가는 한 걸음도 거의 정규분포 모양입니다. 분산은 β로 정해 두면 되니 평균(mean)만 알면 되고, 그 평균을 정하는 것이 점수
그림의 화살표가 그 점수입니다. 잡음이 클 때(t가 1 가까이)는 화살표가 모두 원점 쪽을 가리켜 점들을 대충 모으고, 잡음이 줄수록 여덟 무더기 쪽으로 갈라져 점들을 제 무더기로 보냅니다. 점의 색은 t = 0에서 도착한 무더기의 색입니다. t가 클 때는 색이 뒤섞여 있다가 t가 줄면서 갈라지는 것을 보면, 어느 무더기로 갈지가 거꾸로 가는 도중에 조금씩 정해진다는 것을 알 수 있습니다.
무엇을 배우는가. 이 그림은 한 가지를 속였습니다. 여기 자료는 중심과 퍼짐을 아는 정규분포 여덟 개의 혼합이라서, 어느 시간의 점수든 식으로 정확히 계산할 수 있습니다. 사진 모음의 점수는 아무도 모릅니다. 그래서 신경망
잡음을 맞히는 최선의 함수를 알면 점수를 아는 것과 같습니다. 2020년 조너선 호, 아제이 자인, 피터 아빌의 DDPM이 이 단순한 손실로 좋은 그림을 만들어 보였습니다. 이 손실은 자료의 로그 가능도(log-likelihood)에 대한 하한(증거 하한, evidence lower bound)을 정규분포 사이의 쿨백–라이블러 발산(Kullback–Leibler divergence) 항들로 풀어 쓴 뒤 항들의 가중치(weight)를 바꾼 것이기도 합니다.
열 방정식과의 관계. 당기지 않고 잡음만 더한다면(
그림을 만들기까지. 실제 그림 모델은 x가 수십만 차원이라는 것 말고는 그림과 같은 일을 합니다. 순수한 잡음에서 출발해 신경망이 어림한 점수로 수십에서 천 걸음을 거꾸로 가면 새 그림이 나옵니다. 문장으로 원하는 그림을 지시하려면 신경망에 문장도 함께 넣고, 문장이 있을 때와 없을 때의 점수 차이를 부풀리는 방법(분류기 없는 안내, classifier-free guidance)이 흔히 쓰입니다. 2022년의 Stable Diffusion은 그림을 오토인코더(autoencoder)로 작은 잠재 공간(latent space)에 압축한 뒤 그 안에서 확산을 돌려 계산을 줄였습니다(잠재 확산, latent diffusion). 걸음마다 잡음을 더하지 않고 점수를 따라 결정적으로 움직이는 길(확률 흐름 상미분방정식, probability flow ODE)도 있습니다. 점 하나하나의 길은 다르지만 각 시간의 점구름 분포는 잡음을 더하는 과정과 같아서, 걸음 수를 크게 줄이는 여러 방법이 여기서 나왔습니다.
역사와 한계. 2015년 야샤 솔-딕스타인과 동료들이 비평형 통계 역학(statistical mechanics)에서 착안해 이 틀을 처음 내놓았고, 2019년 양 쑹과 스테파노 에르몬은 여러 잡음 수준의 점수를 배워 표본을 만드는 방법을 보였으며, 2020년 DDPM이 지금의 표준이 된 형태를 보였습니다. 2021년 쑹과 동료들은 둘을 확률 미분방정식(differential equation) 하나로 묶었습니다. 2022년 DALL·E 2, Imagen, Stable Diffusion이 잇달아 나오면서 확산 모델은 그림 생성의 주류가 되었습니다. 한계도 분명합니다. 걸음이 많아 느립니다. 또 2023년 니컬러스 칼리니 등은 여러 확산 모델에서 학습에 쓴 그림을 천 장 넘게 거의 그대로 다시 뽑아낼 수 있음을 보였습니다. 학습 자료 전체에 견주면 아주 적은 몫이지만, 사람 얼굴 사진이나 상표도 들어 있었습니다. 모델이 배운 것은 자료 분포의 어림이라서, 자료에 없던 것을 만들어 내는 능력과 자료를 외워 되풀이할 위험이 한 동전의 양면입니다.
이어지는 곳. 앞으로 가는 과정의 뼈대는 무작위 걸음과 마르코프 연쇄이고, 끝이 왜 표준정규분포인지는 정규분포의 덧셈 성질에서, 잡음으로 왜 정규분포를 쓰는지는 중심극한정리에서 볼 수 있습니다. 밀도가 번지는 모양은 열 방정식이 그리고, 진동수마다 지수적으로 식는 그 해의 모양이 거꾸로 돌리기가 왜 불안정한지 알려 줍니다. 학습 목표가 가능도(likelihood)의 하한(lower bound)에서 나오는 과정은 쿨백–라이블러 발산과 최대가능도법(maximum likelihood)에, 잡음 수준마다 점수를 맞히는 신경망의 학습은 확률적 경사 하강법(stochastic gradient descent)에 있습니다. 그림을 작은 잠재 공간으로 줄여 계산을 아끼는 부분은 오토인코더가 맡고, 무작위로 뽑은 표본으로 분포를 다루는 생각은 몬테카를로 방법(Monte Carlo method)과 무작위성에서 이어집니다. 같은 생성 모델이지만 한 토큰씩 차례로 뽑는 방식은 언어 모델(language model)입니다.
이 개념이 나오는 긴 글
이 개념을 언급하는 페이지
- 정규분포
… 결국 표준정규분포의 표본과 구별할 수 없게 되는데, 이 과정을 거꾸로 돌리도록 신경망을 학습시킨 것이확산 모델입니다. 이 곡선은 1733년 드무아브르가 동전을 많이 던졌을 때 앞면 수의 분포(이항분포)를 …
- 무작위 행보
… 그림은 잡음으로 퍼져 버리는데, 이 과정을 거꾸로 되돌리도록 신경망을 학습시켜 잡음에서 그림을 만드는 것이확산 모델입니다. 걸음을 마친 3000명의 위치 분포. 곡선은 평균 0, 분산 n인 정규분포입니다. n걸음 뒤 …
- 열방정식
… 것처럼 뭉개집니다. 이 뭉개기를 거꾸로 되돌리는 법을 신경망에게 배우게 해 잡음에서 새 자료를 만드는 것이확산 모델입니다. 시간 미분을 한 번 더 붙이면 줄어드는 대신 진동하는 파동방정식이 되고, 양 끝 온도를 서로 …
- 기계 학습
… 서포트 벡터 머신이, 깊은 신경망의 갈래로는 합성곱 신경망, 순환 신경망, 오토인코더,확산 모델이 있고, 보상으로 배우는 쪽은 강화 학습입니다. 손실과 정보의 관계는 쿨백–라이블러 발산과 ⟦상호 …
- EM 알고리즘과 가우스 혼합
… 분포로 제한하고 하한 B를 키우면 변분 추론이 되고, 이 하한이 변분 오토인코더의 학습 목적 함수이고,확산 모델의 학습 목적 함수도 이 하한에서 출발해 유도됩니다. 혼합 분포를 자료에 맞춘 이른 예로 널리 알려진 것은 …
- 인공지능
… 그 과정은 언어 모델의 발전사에 날짜순으로 정리되어 있습니다. 같은 시기에 잡음에서 그림을 되살리는확산 모델이 그림 생성의 주류가 되었습니다. 이 모델들이 무엇을 어떤 뜻에서 '이해'하는지, 왜 이렇게 잘 …
- 오토인코더와 잠재 공간
… 수인 그림을 오토인코더로 64 × 64 × 4 = 16,384개의 수(48분의 1)로 줄인 뒤 그 안에서확산 모델을 돌립니다. 얼마나 줄이면 얼마나 틀릴 수밖에 없는지는 율–왜곡 이론이 다룹니다. 입력의 일부를 …
- 라플라시안과 그래프 라플라시안
… 마르코프 연쇄와 페이지랭크도 같은 뼈대를 씁니다. 사진을 흐리게 하는 것도, 경계를 찾는 것도,확산 모델이 잡음을 더하고 되돌리는 것도 이 연산 위에서 일어납니다. 이 모든 곳을 한 줄로 따라가는 긴 글이 …