확산 모델은 특히 고품질 이미지, 오디오 및 기타 복잡한 데이터 유형을 생성하는 데 있어 크게 각광받고 있는 딥 러닝(DL) 내의 강력한 생성 모델 클래스입니다. 열역학의 개념에서 영감을 얻은 이 모델은 데이터에 노이즈를 체계적으로 추가한 다음 이 과정을 역으로 학습하여 순수한 노이즈에서 새로운 데이터 샘플을 생성하는 방식으로 작동합니다. 다양하고 사실적인 결과물을 생성하는 능력 덕분에 현대 인공 지능(AI)의 초석이 되었습니다.
확산 모델의 작동 방식
확산 모델의 핵심 아이디어는 정방향(확산) 프로세스와 역방향(노이즈 제거) 프로세스라는 두 가지 프로세스를 포함합니다.
- 포워드 프로세스: 이 단계에서는 실제 데이터(예: 훈련 데이터의 이미지)를 가져와 여러 단계에 걸쳐 소량의 무작위 노이즈를 점차적으로 추가합니다. 결국 충분한 단계를 거치면 원본 이미지가 순수한 노이즈와 구분할 수 없게 됩니다(예: 오래된 TV 화면의 정적). 이 과정은 고정되어 있으며 학습이 필요하지 않습니다.
- 역방향 프로세스: 여기서 학습이 이루어집니다. 일반적으로 U-Net과 같은 신경망 아키텍처인 모델은 단계별로 노이즈 추가를 취소하도록 학습됩니다. 모델은 무작위 노이즈에서 시작하여 예측된 노이즈를 반복적으로 제거하여 원래 학습 분포의 데이터와 유사해질 때까지 샘플을 점차적으로 다듬습니다. 이 학습된 노이즈 제거 프로세스를 통해 모델은 완전히 새로운 데이터를 생성할 수 있습니다. 노이즈 제거 확산 확률론적 모델(DDPM) 과 같은 주요 연구는 최신 구현을 위한 많은 토대를 마련했습니다.
훈련에는 포워드 프로세스의 각 단계에서 추가된 노이즈를 정확하게 예측하도록 모델을 가르치는 것이 포함됩니다. 이를 학습함으로써 모델은 데이터의 기본 구조를 암묵적으로 학습하게 됩니다.
주요 개념 및 컨디셔닝
확산 모델에는 몇 가지 개념이 핵심입니다:
- 타임스텝: 노이즈의 점진적인 추가 및 제거는 일련의 개별적인 타임스텝에 걸쳐 이루어집니다. 모델은 종종 현재 처리 중인 타임스텝을 알아야 합니다.
- 노이즈 스케줄: 포워드 프로세스의 각 단계에서 추가되는 노이즈의 양을 정의합니다. 일정이 다르면 훈련 및 생성 품질에 영향을 줄 수 있습니다.
- 컨디셔닝: 확산 모델은 특정 출력을 생성하도록 안내할 수 있습니다. 예를 들어, 텍스트-이미지 생성에서 모델은 텍스트 설명(프롬프트)을 조건화하여 해당 이미지를 생성합니다. 여기에는 종종 교차 주의와 같은 메커니즘이 포함됩니다.
확산 모델과 다른 생성 모델 비교
확산 모델은 생성적 적대적 네트워크(GAN)와 같이 널리 사용되는 다른 생성 방식과는 크게 다릅니다:
- 훈련 안정성: 확산 모델은 일반적으로 생성자와 판별자 간의 복잡한 적대적 게임으로 인해 때때로 수렴에 실패할 수 있는 GAN에 비해 더 안정적인 훈련을 제공합니다.
- 샘플 품질과 다양성: 확산 모델은 충실도가 높고 다양한 샘플을 생성하는 데 탁월하여 특정 벤치마크에서 GAN을 능가하는 경우가 많지만, 추론 대기 시간이 길어지는 대가를 치르는 경우가 많습니다.
- 추론 속도: 전통적으로 확산 모델로 샘플을 생성하려면 많은 노이즈 제거 단계를 거쳐야 하므로 GAN보다 추론 속도가 느립니다. 그러나 더 빠른 샘플링 기법에 대한 연구로 이 격차가 빠르게 좁혀지고 있습니다. 지식 증류와 같은 기법도 연구되고 있습니다.
실제 애플리케이션
확산 모델은 다양한 영역에서 혁신을 주도하고 있습니다:
- 고충실도 이미지 생성: 스테이블 디퓨전, 미드저니, Google 이미젠과 같은 모델은 디퓨전 기술을 사용하여 텍스트 프롬프트에서 놀랍도록 사실적이고 예술적인 이미지를 생성합니다.
- 이미지 편집 및 인페인팅: 이미지의 누락된 부분을 지능적으로 채우거나(인페인팅) 지침에 따라 기존 이미지를 수정(예: 스타일 변경, 개체 추가)할 수 있어 Adobe Firefly와 같은 강력한 크리에이티브 툴을 사용할 수 있습니다.
- 오디오 합성: 확산 모델은 AudioLDM과 같은 프로젝트에서 볼 수 있듯이 사실적인 음성, 음악 및 음향 효과를 생성하는 데 사용됩니다.
- 과학적 발견: 새로운 분자 구조를 생성하기 위한 신약 개발과 복잡한 시스템을 시뮬레이션하기 위한 물리학 분야에서 애플리케이션이 등장하고 있습니다.
- 데이터 증강: 확산 모델을 통해 합성 데이터를 생성하면 물체 감지 또는 이미지 분할과 같은 작업을 위한 실제 학습 데이터를 보완하여 다음과 같은 모델의 견고성을 향상시킬 수 있습니다. Ultralytics YOLO.