---
title: "잡음을 맞히는 연습이 어떻게 이미지 생성이 될까: DDPM의 역발상"
author: "Dne Cna"
published_at: "2026-10-01T03:00:00.793Z"
updated_at: "2026-09-30T08:05:32.512Z"
tags: ["ai","머신러닝","논문리딩","ddpm"]
canonical_url: "https://ariser.io/@writer_8706b598dfee/%EC%9E%A1%EC%9D%8C%EC%9D%84-%EB%A7%9E%ED%9E%88%EB%8A%94-%EC%97%B0%EC%8A%B5%EC%9D%B4-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%83%9D%EC%84%B1%EC%9D%B4-%EB%90%A0%EA%B9%8C-ddpm%EC%9D%98-%EC%97%AD%EB%B0%9C%EC%83%81"
ai_assisted: false
---

# 잡음을 맞히는 연습이 어떻게 이미지 생성이 될까: DDPM의 역발상

[원문](https://ariser.io/@writer_8706b598dfee/%EC%9E%A1%EC%9D%8C%EC%9D%84-%EB%A7%9E%ED%9E%88%EB%8A%94-%EC%97%B0%EC%8A%B5%EC%9D%B4-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%83%9D%EC%84%B1%EC%9D%B4-%EB%90%A0%EA%B9%8C-ddpm%EC%9D%98-%EC%97%AD%EB%B0%9C%EC%83%81)

사진에 조금씩 잡음을 넣으면 결국 아무것도 알아볼 수 없게 된다. 여기까지는 당연하다. 그런데 그 과정을 거꾸로 배우면, 사진 한 장을 복원하는 데서 끝나지 않고 새로운 사진을 만들어 낼 수 있다. 처음 접하면 복원과 창작 사이에 설명 하나가 빠진 듯 느껴진다. 2020년의 DDPM 논문을 읽는 재미는 바로 그 빈틈을 따라가는 데 있다.

생성 모델을 구현해 본 사람이라면 GAN의 판별기나 잠재변수 모델의 복잡한 목적함수를 떠올릴 수 있다. DDPM의 실제 학습 코드는 의외로 소박하다. 이미지에 우리가 직접 만든 가우시안 잡음을 더하고, 신경망이 그 잡음을 맞히게 한다. 제곱오차로 학습한 모델이 어떻게 이미지 분포를 배우는지 이해하면, 확산 모델을 바라보는 관점도 달라진다.

## 먼저 망가뜨리는 규칙을 고정한다

원본 이미지를 x0라고 하자. 전방 과정은 작은 잡음을 반복해서 더한다. 각 단계에서 기존 신호를 조금 줄이고 가우시안 잡음을 섞으면, 충분히 뒤쪽의 이미지는 거의 순수한 잡음이 된다. 여기에는 학습이 필요 없다. 데이터를 어떻게 흐릴지 사람이 미리 정한다.

계산상 중요한 성질은 중간 상태 xt를 만들려고 앞의 모든 단계를 실행할 필요가 없다는 점이다. 누적 신호 비율을 a라고 쓰면 다음처럼 바로 샘플링할 수 있다.

`xt = sqrt(a) × x0 + sqrt(1 - a) × noise`

학습할 때는 이미지 하나, 시간 하나, 잡음 하나를 뽑으면 된다. 신경망은 xt와 시간을 보고 noise를 예측한다. 같은 흐릿한 그림이라도 잡음이 적은 구간인지, 거의 신호가 사라진 구간인지에 따라 해야 할 일이 다르므로 시간 정보가 꼭 필요하다. [원문](https://arxiv.org/abs/2006.11239)의 전방 과정과 학습 알고리즘을 함께 보면 이 구조가 드러난다.

시간을 무작위로 뽑는다는 것도 눈여겨볼 만하다. 모델은 모든 이미지에 대해 전체 복원 궤적을 저장하지 않는다. 다양한 잡음 수준에서 수행할 작은 문제를 계속 풀며 하나의 공유 신경망을 훈련한다. 긴 생성 절차를 짧은 지도학습 문제들의 묶음으로 바꾼 셈이다.

## 잡음을 맞히는데 왜 새로운 이미지가 나올까

학습 이미지에 더한 잡음은 이미 알고 있다. 그렇다고 모델이 정답을 그대로 읽어 낼 수 있는 것은 아니다. 입력에는 x0와 noise가 합쳐져 있고, 원본은 숨겨져 있다. 눈처럼 보이는 밝은 점이 실제 눈인지 우연히 생긴 잡음인지 판단하려면, 이미지에 어떤 구조가 자주 등장하는지 알아야 한다.

작은 사고실험을 해 보자. 학습 데이터에 손으로 쓴 숫자만 있다. 약한 잡음이 섞인 3에서는 윤곽 주변을 정리하면 된다. 강한 잡음에서는 해당 입력이 어떤 숫자로 이어질지 여러 가능성이 있다. 모델은 학습 분포에서 그럴듯한 방향을 예측한다. 이 예측을 여러 번 이어 가면 숫자 모양이 점점 드러난다. 이것은 직관을 위한 설명이며, 논문이 모델 내부에서 숫자의 의미를 명시적으로 분류한다고 주장하는 것은 아니다.

특히 순수 잡음에서 시작하는 생성에는 되찾아야 할 원본 사진이 없다. 각 단계에서 배운 역방향 전이 규칙을 적용해 데이터 분포 쪽으로 이동한다. 잡음 제거 모델은 특정 사진의 복구 장치인 동시에, 다양한 잡음 수준에서 이미지 분포의 구조를 반영하는 함수가 된다.

여기서 자주 생기는 오해는 예측한 잡음을 한 번 빼면 생성이 끝난다는 생각이다. DDPM의 샘플링은 현재 시간에 맞는 계수로 평균을 계산하고, 역방향 분포에서 다음 상태를 뽑는 반복 절차다. 학습 타깃이 noise라는 사실과 생성이 한 번의 뺄셈이라는 주장은 별개다.

## 우도보다 보기 좋은 그림에 맞춘 선택

논문은 역방향 확률모델의 변분 경계를 출발점으로 삼는다. 이를 전개하면 여러 잡음 수준의 복원 문제로 연결된다. 그러나 실험에서 특히 좋은 샘플을 얻는 데 사용한 목적함수는 모든 항의 이론적 가중치를 그대로 유지한 형태가 아니다. 잡음 예측 제곱오차를 단순하게 학습하는 선택이 중요한 역할을 한다.

이 대목이 흥미롭다. 이론은 무엇을 학습하는지 이해할 언어를 제공하지만, 보기 좋은 이미지라는 목표를 위해서는 학습 신호의 배분을 다시 설계해야 한다. 최대우도에 가까워지는 것과 사람이 만족할 샘플을 만드는 것이 항상 같은 방향으로 움직이지 않을 수 있다.

내 해석으로는 이 논문의 설득력은 복잡한 유도와 간단한 구현이 만나는 지점에 있다. 단순한 손실을 썼으니 이론이 없어도 된다는 뜻은 아니다. 어떤 부분을 단순화했으며, 그 선택이 어떤 성능을 얻고 어떤 정보를 덜 중요하게 만드는지 설명할 수 있다는 점이 핵심이다.

## 실험을 어디까지 믿어야 할까

저자들은 CIFAR-10과 LSUN 등에서 고품질 이미지 생성을 보였고, 잡음 예측 방식과 목적함수 선택을 비교했다. 이미지가 복원되는 과정에서는 큰 구조가 먼저 나타나고 세부 묘사가 뒤에 채워지는 모습을 관찰한다. 원문은 이를 점진적인 손실 압축과 연결해서도 해석한다.

다만 샘플 품질 지표가 좋다는 결과를 곧바로 모든 생성 문제의 해결로 읽으면 곤란하다. FID는 생성 이미지와 실제 이미지의 특징 분포를 비교하는 통계량이다. 요청한 대상을 정확히 그렸는지, 특정 소수 집단이나 희귀한 구성이 누락됐는지까지 직접 답해 주지 않는다. 원 논문은 오늘날 익숙한 거대 텍스트 조건부 서비스 전체를 평가한 연구도 아니다.

계산 비용 역시 남는다. 한 번의 신경망 호출이 가벼워도 호출을 여러 번 누적하면 느려진다. 훈련 목적이 단순하다는 장점과 추론이 빠르다는 장점은 다르다. DDPM을 실제 제품에 옮기려면 품질만큼 지연시간, 생성량, 메모리를 함께 측정해야 한다.

## 구현 전에 적어 둘 세 가지 질문

실무에서 이 논문을 읽고 바로 할 수 있는 일은 거대한 모델 학습보다 작은 검증이다. 먼저 잡음 스케줄이 데이터 스케일과 맞는지 확인한다. 픽셀 정규화가 달라지면 같은 잡음 세기도 전혀 다른 복원 문제가 된다. 다음으로 시간 입력이 모델에 제대로 전달되는지 본다. 마지막으로 학습 손실 감소와 실제 샘플 개선을 별도로 관찰한다.

예를 들어 상품 이미지 생성이라면 작은 물체의 윤곽은 좋아졌는데 로고가 무너질 수 있다. 평균 지표 하나로는 이 차이를 놓치기 쉽다. 같은 초기 잡음을 고정한 채 중간 결과를 저장하면, 구조가 만들어지는 구간과 디테일이 깨지는 구간을 구분하기 좋다. 이 제안은 논문의 결론이 아니라 그 메커니즘에서 출발한 실험 방법이다.

DDPM이 남긴 가장 좋은 질문은 이것이라고 생각한다. 어려운 생성 문제를 한 번에 풀어야 할까, 아니면 우리가 정답을 만들 수 있는 작은 복원 문제들로 나눌 수 있을까. 마지막 결과만 보면 마법 같지만, 학습 과정에는 이미지와 직접 만든 잡음이라는 매우 구체적인 재료가 있다. 그 차이를 이해하는 순간 확산 모델은 신비로운 장치보다 설계 가능한 시스템에 가까워진다.

논문 정보: Jonathan Ho, Ajay Jain, Pieter Abbeel, **Denoising Diffusion Probabilistic Models**, 2020. [논문 원문](https://arxiv.org/abs/2006.11239) · [저자 공개 코드](https://github.com/hojonathanho/diffusion)

