확산 모델
머신러닝에서는확산 모델은 확산 확률 모델 또는 점수 기반 생성 모델이라고도 합니다.이는 잠재 변수 생성 모델의 한 유형입니다. 확산 모델은 순방향 프로세스, 역방향 프로세스, 샘플링 프로세스의 세 가지 주요 부분으로 구성됩니다. 확산 모델의 목표는 주어진 데이터 세트의 확률 분포를 생성하는 확산 과정을 학습하는 것입니다. 그들은 잠재 공간에서 데이터 포인트가 퍼져 있는 방식을 모델링하여 데이터 세트의 잠재 구조를 학습합니다.
컴퓨터 비전 측면에서 확산 모델은 이미지 노이즈 제거, 인페인팅, 초고해상도, 이미지 생성을 포함한 다양한 작업에 적용될 수 있습니다.일반적으로 가우시안 노이즈로 흐릿해진 이미지의 노이즈를 순차적으로 제거하기 위해 신경망을 훈련하는 과정이 포함됩니다. 이 모델은 이미지에 노이즈를 추가하는 과정을 역으로 수행하도록 훈련되었습니다. 학습이 수렴된 후에는 무작위 노이즈로 구성된 이미지로 시작하여 네트워크가 반복적으로 노이즈를 제거하도록 하여 이미지 생성에 사용할 수 있습니다. 이에 대한 예로 OpenAI의 텍스트-이미지 모델인 DALL-E 2가 있습니다. 이 모델은 모델의 사전 확률(텍스트 캡션이 주어졌을 때 이미지 임베딩을 생성)과 최종 이미지를 생성하는 디코더 모두에 확산 모델을 사용합니다. 확산 모델은 최근 자연어 처리(NLP)에 적용되고 있으며, 특히 텍스트 생성 및 요약과 같은 분야에 많이 활용되고 있습니다.컴퓨터 비전에 사용되는 일반적인 확산 모델링 프레임워크의 예로는 잡음 제거 확산 확률 모델, 잡음 조건 스코어링 네트워크, 확률적 미분 방정식 등이 있습니다.
확산 모델은 비평형 열역학에서 영감을 얻었습니다.그들은 데이터에 무작위 노이즈를 천천히 추가하기 위해 마르코프 확산 단계 체인을 정의한 다음 확산 과정을 역전시켜 노이즈에서 원하는 데이터 샘플을 구성하는 방법을 학습합니다. VAE나 흐름 모델과 달리 확산 모델은 고정된 절차를 통해 학습되며 잠재 변수는 높은 차원(원래 데이터와 동일)을 갖습니다.
참고문헌
【1】https://lilianweng.github.io/posts/2021-07-11-diffusion-models/