에필로그

남은 물음

이 책은 장마다 「막힌 곳」으로 끝났다. 대부분은 다음 장이 풀었지만, 끝까지 풀지 못한 채 남은 것들이 있다. 답이 아니라 물음으로 적어 둔다.

보상은 어디서 오는가. 부록 A 「강화학습으로 이어지는 다리」에서 디퓨전 모델을 보상이나 선호 쌍으로 고칠 재료는 갖췄다. 걸음의 로그확률이 있고, 결정적인 걸음에도 잡음을 다시 넣을 수 있고, 그림의 로그확률 대신 바닥의 차이를 쓸 수 있다. 그런데 보상 모델을 사람이 고른 기록으로 배우면, 디퓨전 모델은 곧 그 보상 모델은 좋아하지만 사람은 좋아하지 않는 그림을 찾아낸다. 레퍼런스 모델에서 얼마나 멀어지게 둘지, 같은 프롬프트로 뽑은 그림 여럿을 어떻게 견줄지도 정해야 한다.

한 걸음으로 줄이면 무엇을 잃는가. 9장 「샘플러」의 증류와 8장 「플로우 매칭」의 평균 속도는 여러 걸음의 길을 한두 걸음으로 줄였다. 16장 「영상 생성」의 셀프 포싱은 몇 걸음짜리 학생을 진짜 분포 쪽으로 미는 데 역방향 KL 을 썼고, 봉우리가 둘인 분포에 봉우리 하나짜리 학생을 맞추면 학생은 가까운 봉우리 쪽으로 밀렸다. 걸음을 줄인 학생은 선생이 가진 봉우리를 모두 지킬 수 있을까? 지키지 못한다면, 그 잃음을 어디서 재야 할까?

압축기의 천장은 어떻게 넘는가. 11장 「잠재 디퓨전」에서 압축기의 되살리기는 생성의 천장이었다. 채널을 16, 128로 늘려 천장을 올렸지만, 되살리기를 잘하도록 배운 압축기와 그림의 뜻을 잘 담는 인코더는 서로 다른 것을 원했고, 둘을 잇는 시도(잠재를 뜻을 담은 특징에 맞추기, 뜻을 담는 인코더에 디코더만 붙이기)는 이제 막 나오고 있다. 12장 「디퓨전 트랜스포머」의 끝에서는 압축기를 거치지 않고 픽셀 위에서 그림 자체를 맞히는 쪽으로 돌아가는 흐름을 보았다. 압축기를 고칠 것인가, 압축기를 거치지 않을 것인가? 둘 가운데 어느 쪽이 큰 그림에서 계산을 감당할 수 있을까?

잡음 수준마다의 가중치는 무엇이 정하는가. 5장 「잡음을 맞히는 신경망」은 디퓨전 손실들의 차이가 잡음 수준마다의 가중치라는 것을 보였다. ELBO 의 가중치는 로그우도를 겨냥하는데, 그림의 질을 높인 것은 가중치를 모두 같게 한 단순한 손실이었다. 그림의 질과 로그우도가 서로 다른 가중치를 원한다면, 둘은 그림의 무엇을 다르게 재고 있는 걸까?

조건을 처음부터 「꼭」 따르게 할 수는 없는가. 학습 손실은 조건이 주어졌을 때 평균적으로 맞는 예측을 배우게 할 뿐이라, 13장 「가이던스」는 걸음마다 신경망을 두 번 읽어 그 차이를 키웠다. 배율을 키우면 과포화가 생기고, 다섯 가지 대책은 저마다 원인을 다른 곳에서 찾았다. 생성할 때 두 번 읽는 대신, 조건을 따르는 정도를 학습 목표 자체에 넣을 수는 없을까?

먼 프레임은 어떻게 기억하는가. 16장 「영상 생성」의 방법들은 학습 때 굴린 길이를 넘는 영상에서 어긋난 과거를 미리 겪게 하거나 어긋남이 덜 생기게 조건을 바꿨다. 그래도 창 밖으로 밀려난 프레임은 다시 읽을 수 없다. 4분 전에 나온 인물의 얼굴을 지금 장면에서 같게 그리려면, 그 얼굴은 어디에 어떤 꼴로 남아 있어야 할까?