AI VIDEO BRIEFING

디퓨전 모델 원리 정리: 노이즈 예측 학습부터 가이던스와 잠재 디퓨전까지

버클리 딥러닝 강의가 디퓨전 모델의 작동 원리를 정리했다. 노이즈를 더하고 되돌리는 두 과정, 노이즈를 예측하는 학습 목표, 코사인 스케줄과 가이던스, 스테이블 디퓨전의 잠재 디퓨전까지 다룬다.

노이즈를 지우며 그림을 만든다 — 디퓨전 모델이 작동하는 원리 영상 대표 이미지

핵심 메시지

  • 생성 모델의 목표는 데이터가 나온 분포를 학습해 그 분포에서 새 표본을 뽑아내는 것이며, VAE와 GAN도 각각 우도를 높이거나 분포 간 거리를 줄이는 방식으로 같은 일을 한다.
  • 디퓨전 모델은 노이즈에서 이미지로 한 번에 건너뛰는 대신 아주 작은 단계를 여러 번 밟는데, 이 작은 단계들이 분석하기 훨씬 쉽다는 점이 핵심이다.
  • 학습의 실체는 복잡한 수식이 아니라 '어느 시점에 어떤 노이즈가 더해졌는지 맞히기'로 단순화되며, 이 단순화가 오히려 이미지 품질을 높였다.
  • 노이즈를 예측하는 신경망으로는 입력과 출력 크기가 같은 U-Net이 쓰이고, 여기에 잔차 블록과 어텐션 모듈 등 당시의 최신 기법이 대거 얹혔다.
  • 이미지를 그대로 다루는 대신 잠재 공간으로 압축해 디퓨전을 돌리는 방식이 스테이블 디퓨전의 작동 방식이다.

쉽게 이해하기

강의는 생성 모델이 무엇을 하는지부터 짚는다. 머신러닝에서는 데이터가 어떤 분포에서 나왔다고 가정하고, 우리가 가진 데이터셋은 그 분포에서 뽑힌 표본이라고 본다. 생성 모델의 목표는 그 분포를 학습해 학습 데이터와 닮은 새로운 데이터를 만들어내는 것이다. 분포를 배우는 방법은 크게 두 가지로, 표본의 우도를 최대화하거나 데이터 분포와 모델 분포 사이의 거리를 줄이는 것이다. VAE의 손실 함수는 사실상 우도의 하한이고, GAN의 적대적 손실은 젠슨-섀넌 발산을 줄이는 일에 해당한다.

차이는 노이즈에서 이미지로 가는 방식에 있다. GAN과 VAE는 잠재 벡터를 모델에 넣어 한 번에 이미지를 뽑아내는데, 그 사이에 신경망이 통째로 들어 있어 무슨 일이 벌어지는지 분석하기 어렵다. 디퓨전은 대신 아주 작은 단계를 여러 번 밟는 마르코프 연쇄를 쓴다. 정방향 과정에서는 이미지에 가우시안 노이즈를 조금씩 더해 결국 순수한 노이즈로 만들고, 역방향 과정에서는 이를 되돌려 노이즈에서 이미지를 복원한다.

문제는 역방향 분포를 정확히 계산할 수 없다는 점이다. 베이즈 정리를 쓰면 다루기 힘든 적분이 나오기 때문에 근사가 필요하다. 강의는 정방향 과정의 중간 시점들을 살펴보면 바로 앞 단계의 분포가 가우시안처럼 보인다는 관찰에서 출발해, 역방향 분포도 가우시안이라 가정하고 그 평균과 분산을 신경망으로 학습한다고 설명한다. 여기에 변분 하한을 적용해 손실 함수를 유도하면, 결국 '더해진 노이즈를 예측하라'는 형태로 정리된다. 원 논문 저자들은 앞에 붙은 복잡한 가중치 항까지 걷어낸 단순한 목적 함수를 제안했고, 그 편이 이미지 품질도 더 좋았다.

실제 구현에서는 세부 선택들이 성능을 갈랐다. 노이즈 스케줄을 선형으로 두면 이미지가 너무 빨리 노이즈로 바뀌어 역방향 학습이 어려워지기 때문에, 정보를 천천히 파괴하는 코사인 스케줄이 제안됐다. 분산은 처음에는 고정값을 썼지만 이를 학습하도록 바꾸자 이미지 품질보다는 로그 우도, 즉 얼마나 다양한 표본을 만들 수 있는지가 개선됐다. 샘플링 단계 수도 처음 1000회에서 시작해 4000회로 늘렸다 다시 줄이는 흐름을 거쳤고, DDIM 같은 기법은 25회 수준까지 낮췄다.

품질을 끌어올린 결정적 장치는 가이던스였다. 처음 나온 분류기 가이던스는 노이즈 낀 이미지에도 동작하는 분류기를 따로 학습시켜 그 기울기를 샘플링에 더하는 방식이라 다루기 번거로웠다. 이후 등장한 분류기 없는 가이던스는 조건부 디퓨전 모델을 학습시켜 같은 효과를 내며 지금의 표준이 됐다. 다만 가이던스는 품질을 얻는 대신 다양성을 잃는 맞교환을 동반한다. 마지막으로 강의는 고차원 이미지를 그대로 다루는 부담을 덜기 위해 인코더로 잠재 공간에 압축한 뒤 그곳에서 디퓨전을 돌리는 잠재 디퓨전을 소개하며, 이것이 스테이블 디퓨전의 구조라고 설명한다.

주요 인사이트

  • 노이즈가 낀 이미지에서 예측된 노이즈를 빼면 원본이 돌아오지만, 순수한 노이즈에서 다른 노이즈를 빼면 완전히 새로운 이미지가 나올 수 있다는 점이 디퓨전의 직관이다.
  • 노이즈 예측용 신경망으로 분할(segmentation)에 쓰이던 U-Net이 선택된 이유는 단순하다. 예측할 노이즈가 이미지와 같은 크기여야 하고, U-Net은 입력과 출력 크기가 같기 때문이다.
  • 생성 모델 평가에는 FID가 널리 쓰이며 값이 낮을수록 좋다. 정밀도는 이미지 충실도를, 재현율은 다양성을 각각 측정한다.
  • GAN이 만든 이미지들은 서로 비슷비슷했지만 디퓨전은 충실도와 다양성을 동시에 잡았고, 이 지점이 판도가 뒤집힌 계기가 됐다.
  • 이미지 데이터는 비트의 대부분이 픽셀 수준 세부에 쓰이고 의미 정보에는 적게 쓰이는데, 생성 모델이 정작 다뤄야 할 것은 의미 쪽이라는 관찰이 잠재 디퓨전의 출발점이다.

자주 묻는 질문

디퓨전 모델의 정방향 과정과 역방향 과정은 각각 무엇인가?

정방향 과정은 이미지에 정해진 스케줄에 따라 가우시안 노이즈를 반복해 더해 결국 순수한 노이즈로 만드는 과정이다. 역방향 과정은 그 반대로 노이즈에서 출발해 조금씩 덜 노이즈한 상태로 되돌아가 이미지를 만들어내는 과정이며, 모델이 학습하는 것은 이 역방향이다.

모델은 실제로 무엇을 예측하도록 학습되나?

역방향 분포의 평균을 직접 맞히는 대신, 어떤 시점에 더해진 노이즈가 무엇인지 예측하도록 학습된다. 저자들은 손실 함수 앞의 복잡한 가중치까지 덜어낸 단순한 형태를 제안했고, 이 편이 결과 이미지의 품질도 더 좋았다.

잠재 디퓨전은 왜 필요한가?

이미지는 차원이 매우 높아 그대로 디퓨전 모델을 학습시키면 GPU로도 며칠에서 몇 달이 걸릴 만큼 비용이 크다. 그래서 인코더로 이미지를 잠재 공간에 압축해 그곳에서 디퓨전을 돌린 뒤 디코더로 되돌리는 방식이 나왔고, 스테이블 디퓨전이 바로 이 구조다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식