728x90
개요
- Diffusion 모델 이라는 말을 요즘 많이 듣게 되는데 AI 이미지를 뽑을때도 Stable Diffusion을 사용하고 있어서 이게 뭘의미하는 모델인지 궁금하여 조사하였다.
Diffusion 모델이란?
Diffusion 모델은 확률적 생성 모델이라고 하는 모델이라고 하는데 간략적으로 조사해본결과 노이즈를 추가하고 노이즈를 제거하는 과정을 거치면서 원하는 데이터를 생성하는 모델이다. 노이즈를 추가하고, 그 노이즈를 다시 제거하는 과정을 통해 새로운 데이터를 생성하는 방식으로 초기에는 데이터에 노이즈를 더해 점차적으로 의미를 잃게 만들고, 그 후에는 역방향 과정을 통해 노이즈를 제거하면서 원래의 데이터를 재구성하거나 새로운 데이터를 생성한다.
전방 과정(Forward Process)?
아래 과정은 기존 이미지(학습용 이미지)를 노이즈로 만든다. 이 과정으로 학습하여 나중에 역방향으로 노이즈에서 이미지를 생성할때의 어떻게 노이즈를 제거해나갈지 알게된다.
(순방향 디퓨전)
역방 과정(Reverse Process)?
역방향 디퓨전이 이제 노이즈화된 잠재 벡터를 원래 데이터로 복원하는 작업이다. 이 과정에서 노이즈 제거,감소를 거친다. Diffusion 모델은 초기의 노이즈 상태에서 시작하여 반복적으로 작은 변화(denoising)를 적용하며, 결국 현실감 있는 데이터를 생성합니다.
해보기
Stable Diffusion 모델로 Text to img 로 한번 이를 확인해보자
1girl, upper body, black hair, white background, black eyes, expressionless, black dress 다음 과같은 프롬프트로 20번의 샘플링을 통해 이미지를 생성해보자
결론
Diffusion 모델은 본질적으로 데이터의 분포를 학습하여 새로운 데이터를 생성할 수 있도록 설계된 생성 모델로 Diffusion 모델이 어떤것으로 작동하는 모델인지는 대략이해하였다. 내부의 과정은 좀더 복잡하겠지만 Diffusion 모델을 이미지 생성, 텍스트 생성, 오디오 합성 등 다양한 생성 작업에 활용하기 위한 목적이기에 깊은 지식까지는 다루지않았다.
🎈참고자료
https://www.internetmap.kr/entry/Basic-Theory-of-Stable-Diffusion
https://erdem.pl/2023/11/step-by-step-visual-introduction-to-diffusion-models
728x90
'AI' 카테고리의 다른 글
[AI] Stable Diffusion의 CheckPont, VAE란 뭘까? (1) | 2024.12.21 |
---|---|
[AI] 아나콘다 설치, vscode에서 사용 (2) | 2024.12.20 |
[AI] GPT2 모델 사용해보기 (3) | 2024.12.19 |