Yolo 비전 선전
선전
지금 참여하기
용어집

확산 모델

확산 모델이 생성형 AI를 활용해 고충실도 데이터를 생성하는 방식을 살펴보세요. 오늘 바로 현실적인 합성 데이터로 Ultralytics 훈련을 강화하는 방법을 알아보세요.

확산 모델은 점진적인 노이즈 추가 과정을 역추적하여 새로운 데이터 샘플을 생성하도록 학습하는 생성형 AI 알고리즘의 한 종류입니다. 객체 탐지나 분류와 같은 작업에 사용되는 기존 판별형 모델이 데이터로부터 레이블을 예측하는 것과 달리, 확산 모델은 실제 데이터의 통계적 특성을 밀접하게 모방하는 고충실도 콘텐츠(특히 이미지, 오디오, 비디오) 생성에 중점을 둡니다. 이들은 훈련 안정성과 다양한 출력 생성 능력 덕분에 생성적 적대적 네트워크(GAN)같은 기존 선도 기술을 제치고 고해상도 이미지 합성을 위한 최첨단 솔루션으로 급부상했습니다.

확산 모델의 작동 원리

확산 모델의 핵심 메커니즘은 비평형 열역학에 기반합니다. 훈련 과정은 두 가지 별개의 단계로 이루어집니다: 전진 과정 (확산)과 역과정 (노이즈 제거).

  • 전진 과정: 이 단계는 일련의 시간 단계에 걸쳐 소량의 가우시안 노이즈를 추가함으로써 훈련 이미지의 구조를 체계적으로 파괴합니다. 이 과정이 지속됨에 따라 복잡한 데이터(예: 고양이 사진)는 점차 순수하고 구조화되지 않은 무작위 노이즈로 변환됩니다.
  • 역방향 처리: 신경망의 목표는 이러한 손상을 역전시키는 방법을 학습하는 것이다. 무작위 잡음에서 시작하여, 모델은 각 단계에서 추가된 잡음을 예측하고 이를 제거한다. 잡음을 반복적으로 제거함으로써, 모델은 무작위 신호를 "잡음 제거"하여 일관성 있고 고품질의 이미지가 나타날 때까지 처리한다.

이러한 반복적 정밀화는 미세한 디테일과 질감에 대한 탁월한 제어력을 가능케 하며, 단일 단계 생성 방식에 비해 상당한 이점을 제공합니다.

실제 애플리케이션

확산 모델은 학술 연구를 넘어 다양한 산업 분야에서 실용적인 생산 등급 도구로 발전해 왔다.

  • 합성 데이터 생성: 컴퓨터 비전 엔지니어에게 가장 가치 있는 응용 분야 중 하나는 훈련 데이터셋을 보강하기 위한 합성 데이터 생성입니다. 데이터셋에 다양성이 부족할 경우—예를 들어 눈 내리는 환경의 차량 이미지가 누락된 경우—확산 모델을 통해 현실적인 변형을 생성할 수 있습니다. 이는 예측 불가능한 환경에 배포될 때 YOLO26과 같은 비전 모델의 견고성을 향상시키는 데 도움이 됩니다.
  • 이미지 보정 및 편집: 확산 모델은 사용자가 이미지의 특정 영역을 수정할 수 있는 고급 편집 도구를 구동합니다. 이 '인페인팅' 기술은 주변 맥락을 기반으로 원치 않는 물체를 제거하거나 사진의 누락된 부분을 채울 수 있습니다. 건축가와 디자이너는 이를 활용해 수동 3D 렌더링 없이도 제품이나 환경의 변경 사항을 시각화하는 신속한 프로토타이핑을 수행합니다.

주요 용어 차별화

확산 모델을 다른 생성적 아키텍처와 구분하는 것이 유용하다:

  • 확산 모델 대 GAN: GAN은 두 개의 경쟁 네트워크(생성기 및 판별기)를 사용하며 빠른 샘플링으로 알려져 있지만, 모델이 제한된 종류의 출력만 생성하는 "모드 붕괴" 현상이 자주 발생합니다. 확산 모델은 일반적으로 훈련 중 더 안정적이며 데이터 분포를 더 포괄적으로 다루지만, 추론 시에는 속도가 더 느릴 수 있습니다.
  • 확산 모델 대 VAE: 변분 자동 인코더(VAE)는 데이터를 잠재 공간으로 압축한 후 재구성합니다. VAE는 속도가 빠르지만, 생성된 이미지는 확산 과정이 만들어내는 선명한 디테일에 비해 때때로 흐릿해 보일 수 있습니다.

실제 구현

확산 모델을 처음부터 훈련하려면 상당한 컴퓨팅 자원이 필요하지만, 엔지니어들은 사전 훈련된 모델을 활용하거나 효율적인 탐지기와 함께 워크플로에 통합할 수 있습니다. 예를 들어, 확산 모델을 사용하여 데이터셋의 배경 변형을 생성한 후 Ultralytics 활용해 해당 강화된 데이터에 대해 탐지 모델을 주석 처리하고 훈련할 수 있습니다.

아래는 개념적 예시를 사용한 것입니다. torch 간단한 전방 확산 단계(잡음 추가)를 시뮬레이션하기 위한 것으로, 이는 이러한 시스템 훈련의 기초가 됩니다.

import torch


def add_noise(image_tensor, noise_level=0.1):
    """Simulates a single step of the forward diffusion process by adding Gaussian noise."""
    # Generate Gaussian noise with the same shape as the input image
    noise = torch.randn_like(image_tensor) * noise_level

    # Add noise to the original image
    noisy_image = image_tensor + noise

    # Clamp values to ensure they remain valid image data (e.g., 0.0 to 1.0)
    return torch.clamp(noisy_image, 0.0, 1.0)


# Create a dummy image tensor (3 channels, 64x64 pixels)
dummy_image = torch.rand(1, 3, 64, 64)
noisy_result = add_noise(dummy_image)

print(f"Original shape: {dummy_image.shape}, Noisy shape: {noisy_result.shape}")

향후 방향

이 분야는 계산 비용을 줄이기 위해 픽셀 공간이 아닌 압축된 잠재 공간에서 작동하는 잠재 확산 모델(LDM)로 빠르게 진화하고 있습니다. 이러한 효율성 덕분에 소비자용 하드웨어에서도 강력한 생성 모델을 실행할 수 있게 되었습니다. 연구가 지속됨에 따라 생성 입력과 판별적 작업 간의 긴밀한 통합이 예상됩니다. 예를 들어 확산 생성 시나리오를 활용해 자율주행차의 안전성을 검증하거나 희귀 병리를 시뮬레이션하여 의료 영상 분석을 개선하는 방식이 대표적입니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기