확산 모델이란 무엇인가요?

작성자

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

확산 모델이란 무엇인가요?

확산 모델은 주로 이미지 생성 및 기타 컴퓨팅 비전 작업에 사용되는 생성형 모델입니다. 확산 기반 신경망딥 러닝을 통해 무작위 노이즈로 샘플을 점진적으로 '확산'한 다음, 해당 확산 프로세스를 역으로 수행하여 고품질 이미지를 생성하도록 학습합니다.

확산 모델은 생성형 AI의 최전선에 있는 신경망 아키텍처 중 하나로, 특히 Stability AI의 Stable Diffusion, OpenAI의 DALL-E(DALL-E-2부터 시작), Midjourney, Google의 Imagen 등 인기 있는 텍스트 이미지 변환 모델을 예로 들 수 있습니다. 이는 변형 자동 인코더(VAE), 생성형 적대 신경망(GAN) 및 PixelCNN과 같은 자기 회귀 모델과 같은 이미지 합성에 사용되는 다른 머신 러닝 아키텍처의 성능과 안정성을 개선합니다.

확산 모델의 직관은 물리학에서 영감을 받아 픽셀을 시간이 지남에 따라 물 한 잔에 퍼지는 잉크 한 방울의 분자와 같이 취급합니다. 잉크 분자의 무작위적인 움직임이 결국 유리 내에서 고르게 분산되는 것과 마찬가지로 이미지에 노이즈가 무작위로 도입되면 결국 TV 화면이 지직거리는 것과 같은 현상이 발생합니다. 인공 지능 모델은 이러한 확산 과정을 모델링한 다음 이를 역으로 학습함으로써 무작위 노이즈 샘플의 '노이즈 제거'를 통해 새로운 이미지를 생성할 수 있습니다.

확산 모델은 이미지 생성 및 인페인팅 및 초고해상도와 같은 기타 이미지 처리 작업과 가장 두드러지게 관련되어 있지만, 그 적용은 오디오 생성, 약물 설계 및 분자 생성을 포함한 다른 영역으로 확장되고 있습니다. 간단하게 설명하기 위해 이 글에서는 이미지 생성에 초점을 맞출 것입니다.

전문가가 전하는 최신 AI 트렌드

가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.

감사합니다! 구독이 완료되었습니다.

구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.

확산 모델의 역사와 이론

확산 모델을 설명하고 이해하려면 먼저 현재 '확산'이라고 불리는 생성 과정이 두 가지 수학적 접근 방식을 통해 두 차례에 걸쳐 독립적으로 발견되었다는 점에 주목해야 합니다. 요컨대, 개념적으로는 간단하지만 수학적으로 복잡한 확산 모델을 '작동'시킬 수 있는 방법은 여러 가지가 있습니다.

후속 개발에서는 두 가지 접근 방식에서 아이디어를 차용하여 각각의 장점을 혼합하여 궁극적으로 현재 이미지 생성 분야를 지배하고 있는 현대적인 확산 모델을 생성했습니다. 따라서 확산 모델의 역사와 이론을 간략히 살펴보면 확산 모델이 어떻게 작동하는지 뿐 아니라, 작동하는지 이해하는 데 도움이 됩니다.

열역학에서 영감을 받은 딥 러닝 모델

물리학에서 영감을 받은 확산 모델은 2015년 논문 "비평형 열역학을 이용한 심층 비지도 학습"에서 Sohl-Dickstein 이 처음 소개한 바 있습니다. 이 알고리즘은 분자 시스템의 움직임을 모델링하는 방법인 랑주뱅 역학(Langevin Dynamics)을 적용하여 확산 모델의 기본 전제, 즉 데이터를 노이즈로 변환하여 노이즈를 데이터로 전환할 수 있다는 사실을 뒷받침했습니다.

확률 밀도 함수에 대한 참고 사항

변이형 오토인코더(VAE)와 같은 대부분의 생성형 모델과 마찬가지로 Sohl-Dickstein의 알고리즘은 무작위로 샘플링된 변수 x가 특정 값 범위 내에 속할 상대적 가능성인 확률 밀도를 모델링했습니다. 기본적으로 학습 데이터 세트에 대한 확률 밀도 함수를 모델링하면 알고리즘이 학습 데이터 분포에 적합할 가능성이 높은 샘플을 생성할 수 있습니다. 새로운 이미지를 생성할 때 모델은 학습 데이터의 패턴으로부터 학습한 확률 분포를 기반으로 픽셀 값이 특정 방식으로 분포될 확률이 높다고 가정합니다.

논리적으로 말하면 확률 밀도 함수는 모든 가능성의 합이 1이 되어야 합니다. 다시 말해, 모든 가능성의 확률의 합이 정확히 100%가 되어야 한다는 뜻입니다. 실제로, 이는 정규화 상수, 즉 총 확률을 1로 줄이는 확률 함수에 통합된 값을 필요로 하는 경우가 많습니다.

가능한 모든 변수 값에 적용되는 정규화 상수를 계산하는 것은 기술적으로는 해결할 수 있지만 계산하는 데 무한한 시간이 걸리는 난해한 문제입니다. 이러한 경우 가능성 기반 모델은 특정 모델 아키텍처로 제한되거나 다루기 쉬운 방식으로 정규화 상수를 근사화하는 영리한 해결 방법을 개발해야 합니다.

점수 기반 생성형 모델

Sohl-Dickstein의 연구와는 별도로 Yang Song과 Stefano Ermon은 2019년 논문 “데이터 분포의 기울기 추정을 통한 생성 모델링”에서 노이즈 조건부 점수 네트워크라는 일종의 에너지 기반 모델을 개발했습니다. 이 알고리즘은 확률 밀도 함수 p(x)를 로그로 변환한 표현(log)의 기울기(∇x)를 모델링했습니다.log) 확률 밀도 함수의 p(x). 로그 확률 밀도 함수의 기울기는 다음과 같이 작성됩니다. xlogp(x)스타인 점수 또는 간단히 '점수 함수'라고 합니다.

기존의 확률 밀도 함수와 달리, 점수 함수는 확률 밀도를 직접 모델링하지 않기 때문에 정규화 상수가 필요하지 않습니다(따라서 총 확률을 1로 정규화할 필요가 없습니다). 대신 점수 함수는 점수 매칭을 통해 훈련을 받습니다. 학습 모델 매개변수 θ는 모델 pθ(x)를 생성하는데, 이 모델의 점수(다시 말해 기울기)는 훈련 데이터의 데이터 분포 q(x)와 일치합니다.

이러한 점수 기반 생성 모델(SGM)의 또 다른 이점은 가능성 기반 모델과 달리 pθ(x)의 모델 아키텍처에 많은 제한을 가하지 않는다는 것입니다.

모델의 성능을 개선할 방법을 모색하던 Song과 Ermon은 우연히 Sohl-Dickstein 등이 사용한 것과 동일한 기술을 발견하게 되었습니다.이들은 논문에서 "무작위 가우스 노이즈로 데이터를 교란하면 데이터 분포가 점수 기반 생성 모델링에 더 적합해진다"고 언급했습니다. 원래 이미지 분할을 위해 개발된 U-Net 아키텍처를 사용하여 구축된 이 모델도 마찬가지로 Langevin 역학을 적용하여 샘플을 생성했습니다.

노이즈 제거 확산 확률 모델(DDPM)

2020년에 Ho 은 '노이즈 제거 확산 확률 모델(DDPM)'이라는 중요한 논문에서 변형 추론을 사용해 고품질 이미지를 생성하기 위해 Sohl-Dickstein의 접근 방식을 사용할 것을 제안했습니다. 이 논문에서는 확률 기반 최적화 문제를 다루기 쉬운 방식으로 다시 작성하는 방법인 증거 하한(ELBO)을 최대화하여 확산 모델을 학습시키는 것이 SGM을 학습시키는 데 사용되는 점수 매칭 목표의 조합과 본질적으로 동일하다는 것을 보여주었습니다.

점수 매칭을 사용하여 Sohl-Dickstein의 접근 방식을 구현한 Ho 등은 확산 확률 모델이 당시 최신 기술이었던 GAN과 경쟁할 수 있는 이미지 품질을 얻을 수 있음을 입증했습니다. 이러한 연관성은 Song, Ermon, Sohl-Dickstein 및 VAE의 창시자인 Diederik P. Kingma를 비롯한 다른 사람들이 2021년 논문 "확률적 미분 방정식을 통한 점수 기반 생성 모델링"에서 추가로 탐구했습니다.

그해 말, Dhariwal과 Nichol은 앞서 언급한 논문에서 얻은 인사이트를 활용하여 "확산 모델이 이미지 합성에서 GAN을 능가한다"를 발표하여 확산 모델을 새로운 최첨단 기술로 확고히 자리매김했습니다.

후속 연구를 통해 개선이 이루어지긴 했지만, SGM보다는 DDPM이 일반적으로 지배적인 확산 모델 모드로 남아 있습니다. 예를 들어, 영향력 있는 2022년 논문 "잠복 확산 모델을 사용한 고해상도 이미지 합성"은 효율성과 비용 효율성 측면에서 중요한 진전을 이루었습니다.

AI 아카데미

비즈니스용 생성형 AI의 부상

역사적인 생성형 AI의 부상과 이것이 비즈니스에 의미하는 바를 살펴봅니다.

확산 모델은 어떻게 작동하나요?

훈련에서 확산 모델은 무작위 노이즈가 있는 데이터 포인트가 파괴될 때까지 단계적으로 점진적으로 확산시킨 다음, 해당 확산 프로세스를 역전시키고 원래 데이터 분포를 재구성하는 방법을 학습합니다.

그런 다음 학습한 확산 모델은 순수 노이즈의 무작위 초기 샘플에서 간단히 노이즈를 제거하여 학습 데이터와 유사한 새로운 데이터 포인트를 생성할 수 있습니다. 개념적으로, 이는 노이즈가 있는 이미지가 잠재 변수 역할을 하는 노이즈 제거 자동 인코더와 유사합니다.

무작위 노이즈를 일관된 이미지로 직접 변환하는 것은 매우 어렵고 복잡하지만, 노이즈가 많은 이미지를 노이즈가 조금 덜한 이미지로 변환하는 것은 비교적 쉽고 간단합니다. 따라서 확산 모델은 가우스 노이즈와 같은 단순한 분포를 일관된 이미지와 같은 복잡한 분포로 점진적이고 단계적으로 변환하는 역확산 프로세스를 공식화합니다.

확산을 학습시킨 다음 배포하는 프로세스는 다음과 같은 세 가지 주요 단계로 나눌 수 있습니다.

  • 순방향 확산 프로세스는 훈련 데이터 세트의 이미지를 순수한 노이즈(일반적으로 가우스 분포)로 변환하는 과정입니다.

  • 역확산 프로세스는 모델이 원래의 순방향 확산 프로세스에서 각 이전 단계의 역을 학습하는 것입니다.

  • 이미지 생성: 훈련된 모델은 무작위 노이즈 분포를 샘플링하고 가우스 노이즈의 무작위 샘플의 노이즈를 제거하는 방법을 학습한 역 확산 프로세스를 사용하여 이를 고품질 아웃풋으로 변환합니다.

순방향 확산 프로세스

순방향 확산 프로세스의 목적은 이미지나 오디오 샘플과 같은 학습 데이터 세트의 깨끗한 데이터를 순수한 노이즈로 변환하는 것입니다. 가장 일반적인 방법은 전체 데이터 분포가 가우스가 될 때까지 가우스 노이즈를 반복적으로 주입하는 것입니다.

수학적으로 이 단계별 프로세스는 순차적 시계열 데이터를 모델링하기 위한 확률적 프로세스(특정 확률적 규칙을 따르는 무작위 프로세스)의 한 유형인 마르코프 체인으로 공식화됩니다. 마르코프 체인에서 각 타임스텝의 결과는 바로 앞의 타임스텝에 의해서만 영향을 받습니다. 간단히 말해, 타임스텝 t에서 마르코프 체인 x의 상태인 xtxt-1의 직접적인 영향만 받습니다. 임의의 xt에서 xt+1로의 전이를 정의하는 수학 함수를 전이 커널이라고 합니다.

각 타임스텝 t마다소량의 가우스 노이즈가 xt-1 에 추가되고, 무작위 픽셀이 계속 주입되더라도 이미지 크기가 일정하게 유지되도록 이미지 크기가 조정됩니다. 이 공식에서 x0은 원래의 깨끗한 데이터 포인트, x1은 소량의 가우스 노이즈가 추가된 첫 번째 타임스텝 이후의 데이터 포인트, xT는 순방향 확산 프로세스의 최종 상태입니다. t가 충분히 크면(즉, 충분한 스텝를 거친 후) xt는 순수한 가우스 노이즈로 수렴합니다.

각 순방향 스텝을 다음과 같이 정의합니다. q(xt|xt-1):q(xt-1)이 주어졌을 때 데이터 분포 q(xt)의 상태를 예측합니다. 표준 DDPM에서 이 순방향 프로세스에는 머신 러닝이 포함되지 않습니다. 마르코프 체인의 최종 결과는 항상 가우스 분포이므로 최적화가 필요하지 않습니다.

노이즈 추가

DDPM에서 마르코프 체인의 각 스텝에 추가되는 가우스 노이즈는 일정하지도 임의적이지도 않습니다. 대신 노이즈는 원본 이미지의 구조에서 파생되며, 노이즈가 추가되는 속도는 연속되는 스텝마다 꾸준히 증가합니다.

노이즈의 양을 변경하면 모델 학습의 안정성이 향상되고 두 가지 상충하는 우선순위의 균형을 유지하여 전반적인 성능이 향상됩니다. Yang Song은 점수 기반 생성형 모델에 대한 블로그 게시물에서 다음과 같이 언급했습니다.

  • 노이즈가 클수록 훈련 데이터의 '저밀도' 영역(훈련 데이터에서 대표성이 낮은 시각적 카테고리 및 개념)을 노이즈가 있는 데이터로 채워서 모델의 정확한 학습 능력이 향상됩니다. 그러나 이는 데이터를 과도하게 손상시켜 전반적인 정확도를 떨어뜨릴 수도 있습니다.

  • 노이즈가 작을수록 원본 데이터 분포의 손상이 적지만 밀도가 낮은 영역에서는 성능이 저하됩니다.

  • 따라서 두 가지 장점을 모두 얻기 위해 확산 모델은 훈련에 다양한 규모의 노이즈를 사용합니다.

모든 가우스(정규) 분포는 평균, μ , 분산, Σ . 또 다른 매개 변수인 β는 순방향 마르코프 체인의 각 스텝을 정의하는 전이 커널에서 가우스 노이즈의 평균과 분산에 대한 스케일링 팩터 역할을 합니다. 지정된 스텝에서 β 값을 변경하면 해당 스텝에서 추가된 가우스 노이즈가 변경됩니다. β1은 타임스텝 1에서의 분산이고, βt는 타임스텝 t에서의 분산이며, 이런식으로 βT까지 계속됩니다.

각 스텝의 β 비율 값은 분산 스케줄에 따라 결정됩니다.

분산 일정

각 스텝 t에서 이미지가 이전 스텝의 반복에서 약간 이동하고(평균에 따라), 이 이동된 이미지 버전에 노이즈가 추가됩니다(분산에 따라). 각 이동 및 노이즈 추가의 크기는 βt 값에 의해 결정되며, 분산 일정에 맞춰 βt가 증가함에 따라 결과적으로 확산 속도가 꾸준히 증가합니다. β는 항상 0과 1 사이의 값이므로 0 < β1 < β2 < … < βT < 1입니다.

β에 대한 특정 분산 일정을 선택하는 것은 중요한 고려 사항입니다. 일반적으로 하이퍼매개변수는 상수 값으로 고정하거나 β의 시작 값과 끝 값이 미리 정해진 공식에 따라 수작업으로 설정합니다. DDPM 논문에서 Ho β1 = 10-4βT = 0.02인 1,000스텝의 선형 일정을 사용했습니다. 이후 연구에서는 코사인 일정과 같은 다른 유형의 일정을 사용하거나[1] 일정 자체를 또 다른 학습된 매개변수로 만들면 성능과 효율성이 향상되는 것으로 나타났습니다.[2]

βt의 값은 스텝 t에서 추가된 가우스 노이즈의 평균과 분산을 모두 결정합니다.

  • 타임스텝 μ t에서 추가된 가우스 노이즈의 평균의 경우,μt다음과 같이 계산됩니다. μt=(1-βt)xt-1. 쉽게 말해서, 각 스텝 t에서 추가된 노이즈의 평균은 단순히 이전 스텝의 이미지 xt-1의 크기 조정된 버전입니다. βt의 크기에 따라 이 평균이 이전 스텝에서 얼마나 벗어나는지가 결정되는데, βt가 매우 작으면 이 변화는 매우 미미합니다. (1-βt)(1-0)1따라서 추가된 노이즈는 원본 이미지와 매우 유사합니다. βt의 값이 커질수록 이 변화는 더욱 커집니다.

  • 타임스텝 t에 추가된 가우스 노이즈의 분산은 다음과 같이 계산됩니다. Σt=βtI, 여기서 I 는 ID 매트릭스입니다. βt가 클수록 노이즈가 커집니다. βt가 매우 작으면 노이즈가 무시할 수 있을 정도로 작아집니다.

요약하자면, 각 스텝 t에서 이미지가 이전 스텝의 반복에서 약간 이동하고(평균에 따라), 이 이동된 이미지 버전에 노이즈가 추가됩니다(분산에 따라). 각 이동 및 노이즈 추가의 크기는 βt 값에 의해 결정되며, 분산 일정에 맞춰 βt가 증가함에 따라 결과적으로 확산 속도가 꾸준히 증가합니다.

가우시안 노이즈의 추가는 점진적으로 시작되고 노이즈 자체는 항상 이전 스텝의 원본 이미지의 본질적인 구조에서 파생되기 때문에 원본 이미지의 본질적인 특성은 여러 스텝 동안 유지됩니다. 이를 통해 모델은 역확산 프로세스 중에 원본 데이터 분포의 패턴과 구조를 의미 있게 학습할 수 있습니다.

재매개변수화 트릭

이러한 단계별 프로세스의 한 가지 단점은 번거롭고 계산 비용이 많이 든다는 것입니다. 수천 또는 수백만 개의 이미지를 포함할 수 있는 학습 데이터 세트의 각 이미지에 대해 순방향 프로세스에는 수십 또는 수백 개의 개별 스텝이 필요합니다.

노이즈를 반복적으로 추가하는 대신, 순방향 프로세스에 대한 공식은 다음과 같은 표현식을 다시 매개변수화하여 영리한 방식으로 다시 작성할 수 있습니다.  1βt (새로운 매개변수로서),  αt. 마르코프 체인의 '좋은 속성'을 통해 이 새로운 매개변수를 추가 매개변수로 확장할 수 있습니다. α¯t, (반복적 곱셈에서 파생된) αt (해당 지점까지 체인의 각 점진적 단계에서). 이 추가 매개변수는 본질적으로 xt의 신호 대 잡음비(SNR)를 반영합니다. 즉, 타임스텝 t에서 원본 이미지가 얼마나 남아 있는지를 나타냅니다.

예를 들어, x1에서는 소량의 노이즈가 한 번 추가되었습니다. 값  α¯t 가 1에 가까우면 이미지가 여전히 원래 "신호"의 대부분을 유지한다는 것을 의미합니다. 이후 x50과 같은 스텝에서는 노이즈가 여러 번 추가되었습니다. 그 이유는 αt=1βt, 값 αt 는 항상 1보다 작습니다. 이후 α¯50=α1α2...α49α50, 값 α¯t 스텝 50에서는 0에 훨씬 더 가까우며, 이는 원본 이미지의 더 많은 부분이 노이즈로 대체되었음을 의미합니다. 타임스텝 T에서 xT는 전적으로 노이즈이며 다음과 같은 값입니다. α¯t 0에 가까워집니다.

방정식의 복잡한 파생은 이 글의 범위를 벗어나지만 이 재매개변수화 트릭의 중요성을 이해하는 데 도움이 되는 두 가지 중요한 사항이 있습니다.

  • 이제 모든 타임스텝 t에서 x의 상태를 다음과 같이 정의할 수 있습니다. xt=α¯tx0+1-α¯tε0, 여기서 ε0 는 첫 번째 스텝에서 추가된 노이즈입니다. 값 α¯t 는 각 스텝마다 감소하며, x0의 영향력은 감소하고 ε0의 영향력은 증가합니다.

  • 그 이유는 α¯t는 다음에서 파생되었고 1βt 가치 βt 는 분산 일정에 의해 결정되므로, 이런 식으로 공식을 다시 작성하면 전체 단계별 순방향 프로세스를 거치지 않고도 모든 타임스텝 t에서 xt를 직접 계산할 수 있습니다.

역확산 프로세스

확산 모델에서 역확산 프로세스는 실제 머신 러닝이 이루어지는 곳입니다. 순방향 프로세스의 노이즈 스텝의 역순을 수행하는 방법을 학습할 때, 모델은 기본적으로 순수한 가우스 노이즈를 깨끗한 이미지로 제거하는 방법을 학습합니다. 신경망이 훈련되면 이 기능을 사용하여 단계별 역확산을 통해 가우스 노이즈에서 새로운 이미지를 생성할 수 있습니다.

이론적으로 모델의 작업은 순방향 확산의 단순한 역으로 생각할 수 있습니다. 훈련 데이터 세트의 실제 데이터 분포 q(x)에서 샘플링된 데이터 포인트 x0으로 시작하는 순방향 프로세스는 다음과 같이 정의됩니다. q(xt|xt-1)즉, 주어진 q(xt-1), 계산  q(xt). 그 반대인 역확산은 다음과 같이 정의됩니다. q(xt-1|xt). 그러나 실제로 컴퓨팅은 q(xt-1|xt) 는 다루기 어렵습니다.

대신 학습 작업은 다음과 같은 두 가지 해결 방법을 통해 공식화됩니다.

  • 앞서 설명한 것처럼 q(x)는 실제 확산 모델 자체를 구성하는 신경망 pθ(x)로 근사화됩니다. 훈련의 목표는 pθ의 아웃풋을 만드는 모델 파라미터 θ를학습하는 것입니다. xt-1|xt ), q의 아웃풋을 일치시키는( xt-1|xt ).

  • 이 모델 pθ(x)는 직접적으로 예측하지 않습니다. xt-1또는 xt-1과 xt 사이에 추가된 특정 노이즈도 예측하지 않습니다. 대신, 현재 존재하는 전체 노이즈를 예측합니다. xt에서 분산 일정의 상태에 따라 해당 노이즈의 일부를 제거하여 xt-1에 도달합니다. 원래 DDPM 논문에서는 가우스 노이즈의 평균만 추정하여 이 프로세스를 더욱 단순화했지만, 이후 모델에서는 분산도 예측하는 경우가 많습니다.

순방향 확산에서 추가된 가우스 노이즈의 평균은 임의적이지 않다는 점을 다시 한 번 상기하세요. 실제로는 무작위이지만 노이즈의 구조는 처음에 원본 이미지 x0의 구조에서 파생됩니다. 따라서 역확산을 통해 노이즈를 정확하게 예측하는 방법을 학습함으로써 모델은 이미지의 노이즈를 제거하는 방법을 학습할 뿐만 아니라 x0의 구조를 암시적으로 학습합니다.

확산 모델 훈련을 위한 손실 함수

확산 모델에 사용되는 구체적인 학습 목표는 변이형 오토인코더(VAE)를 최적화하는 데 사용되는 재구성 손실 항과 밀접한 관련이 있습니다. VAE와 마찬가지로 확산 모델은 여러 손실 항의 조합에서 변이 하한(VLB), 즉 증거 하한(ELBO)을 최대화하여 최적화됩니다.

VLB 최대화는 난해 점수 함수를 근사화하기 위한 변이 추론에 사용됩니다. xlog(p(x)): 오류를 직접 최소화하는 대신 모델 예측 정확도의 최소 추정(또는 하한)을 최대화하는 것으로 방정식을 재구성합니다.

각각 사용된 손실 항은q의순방향 확산 단계와 pθ로 예측한 역 단계 사이의 Kullback-Leibler 발산(또는 “KL 발산”, 보통 DKL로 표시됨)을 반영합니다. KL 발산은 두 확률 분포 간의 차이, 예를 들어 한 이미지의 픽셀 값 분포와 다른 이미지의 픽셀 값 분포 간의 차이를 측정하는 데 사용됩니다.

구체적으로, 확산 모델의 손실 함수는 세 가지 손실 항인 LT, Lt, L0을 결합합니다.

  •  LTq(xT|x0)pθ(xT) 사이의 KL 발산을 반영합니다. 즉, 순방향 프로세스 q의 완전 노이즈가 제거된 최종 결과와 역방향 프로세스의 시작점 사이의 차이입니다. 이 항은 일반적으로 무시할 수 있는데, 그 이유는 xT는 가우스 행렬이고 q에는 학습 가능한 매개변수가 없기 때문입니다.

  • LtKL 발산을 반영합니다. q(xt-1|xt,x0) 및 pθ(xt-1|xt) 각 단계에서. 다시 말해서, 원본 이미지 x0에 대한 순방향 확산 프로세스 동안의 각 해당 노이즈 제거 단계와 비교했을 때 역방향 확산 동안 각 pθ의 노이즈 제거 예측의 정확도입니다.

  • L0 측정 -logpθ(x0|x1)즉, L0은 완전히 노이즈가 제거된 이미지 x0에 대한 모델의 예측의 음의 로그 우도를 반영합니다. L0의 기울기는 이 글의 앞 부분에서 설명한 점수 매칭 용어입니다. 손실 항은 음수이므로 손실 함수를 최소화하는 것은 모델 예측의 가능성을 최대화하는 것과 같습니다.

복잡한 수학적 도출은 이 글의 범위를 벗어나지만, VLB는 궁극적으로 모델에서 예측한 노이즈 사이의 평균제곱오차(MSE)로 단순화할 수 있습니다. εθ 순방향 프로세스에서 추가된 실제 노이즈는 ε, 각 타임스텝에서 이는 모델의 출력이 노이즈가 제거된 이미지 자체가 아닌 각 단계에서 노이즈를 예측하는 이유를 설명합니다.

역전파 중에 손실 함수의 기울기를 계산한 다음 기울기 하강을 통해 손실 함수를 최소화하도록 모델 가중치를 조정하면 전체 학습 데이터 세트에서 모델의 예측이 더 정확해집니다.

확산 모델을 사용한 이미지 생성

확산 모델이 각 스텝에서 제거할 노이즈를 정확하게 추정하는 방법을 학습한 후에는 학습한 데이터 분포에서 무작위 노이즈 이미지 xT를 샘플링하고 t 스텝 동안 노이즈를 제거하여 새로운 이미지를 생성하는 데 사용할 수 있습니다. VAE와 비슷하게 샘플링 과정에 약간의 무작위성 요소를 도입하면 확산 모델이 훈련 이미지를 직접 재생성하는 것이 아니라 훈련 데이터와 유사한 새로운 이미지를 생성할 수 있습니다.

역확산 훈련 프로세스와 달리, 생성 프로세스의 단계 수가 순방향 과정에 사용된 단계 수와 일치할 필요는 없습니다. 이는 모델이 각 이미지 단계에서 제거해야 할 특정 노이즈의 양이 아니라 전체 노이즈를 예측하도록 훈련되었기 때문에 가능합니다.

단계가 적을수록 속도가 빨라지고 계산 요구량이 줄어드는 대신 미세한 디테일에서 잠재적인 트레이드오프가 발생하며, 단계가 많을수록 일반적으로 속도가 느려지고 계산 비용이 증가하지만 정확도가 향상됩니다.

가이드 확산 모델

표준 확산 모델은 학습 이미지의 고품질 변형을 무작위로 생성할 수 있지만, 이미지 생성 모델을 실제로 사용하는 대부분의 경우 모델의 아웃풋을 어느 정도 제어해야 합니다. 가이드 확산 모델을 사용하면 사용자가 생성된 이미지를 특정 가이드에 따라 조절할 수 있습니다.

가이드 확산 모델의 가장 일반적인 형태는 사용자가 '모자를 쓴 기린'과 같은 텍스트 프롬프트로 출력을 조정할 수 있는 텍스트-이미지 확산 모델입니다. 이를 위해서는 확산 모델과 별도의 대규모 언어 모델(LLM)을 페어링하여 텍스트 프롬프트를 해석해야 하는데, 이는 Google이 "심층 언어 이해 기능을 갖춘 사실적인 텍스트-이미지 확산 모델"이라는 논문에서 처음 소개한 것입니다.

표준 확산 모델은 무조건 점수 함수 ∇xlogp(x)를 예측하는 것을 목표로 합니다. 즉, 모델 p가 생성한 이미지 x가 학습 데이터 x에 맞는 가능성의 로그의 기울기입니다. 가이드 확산 모델은 특정 시각적 카테고리 y(예: '기린')를 도입하고 조건부 점수 함수 ∇xlogp(x|y)를 예측합니다. 즉, 카테고리 y에 맞아야 한다는 점을 감안할 때 이미지 x의 가능성을 예측합니다.

가이드 확산 방법은 두 가지 카테고리로 구분할 수 있습니다.

  • 분류기 가이드 확산에는 확산 모델이 시각적 개체를 생성하도록 학습할 각 카테고리 y에 대한 벡터 임베딩을 학습하기 위해 별도의 분류기 모델이 필요합니다. 이 벡터 임베딩은 이제 각 단계 t에서 아웃풋을 조건화하는 데 사용됩니다. 확산 모델은 추가 학습이 필요하지 않지만 분류기가 학습한 특정 카테고리에 대해서만 아웃풋을 조건화할 수 있습니다.

  • 분류기 없는 가이드는 별도의 모델이 필요하지 않지만, 조건부 가이드를 위해 특별히 학습한 2단계 확산 모델이 필요합니다. 여기에는 일반적으로 2단계 모델이 수반됩니다. 첫 번째 단계에서는 CLIP과 같은 임베딩 알고리즘이 프롬프트에 대한 임베딩 y를 생성합니다. 두 번째 단계에서는 확산 모델이 해당 임베딩을 사용하여 아웃풋을 조절합니다. 추가적인 학습 오버헤드가 있지만, 본 적 없는 이미지 카테고리에 대한 제로샷 가이드가 가능합니다.

잠재 확산 모델

기존의 확산 모델은 고품질 이미지를 생성하는 최첨단 기능에도 불구하고 느리고 계산 비용이 많이 든다는 두 가지 중요한 단점이 있습니다. 이런 단점은 안정 확산을 시작으로 잠재 확산 모델이 등장하면서 크게 줄어들었습니다.

잠재 확산 모델의 전제는 간단하며, 다시 한번 변이 오토인코더(VAE)에 대한 연결을 기반으로 합니다. 모델은 고차원 픽셀 공간, 즉 입력 이미지에 직접 확산 프로세스를 적용하는 대신 먼저 입력을 저차원 잠재 공간에 투영한 다음 거기에 확산 프로세스를 적용할 수 있습니다.

본질적으로 잠재 확산 모델은 VAE와 같은 오토인코더 아키텍처를 사용하여 입력 데이터 x의 잠재 표현 z를 출력하도록 인코더를 훈련시킵니다. 그런 다음 이러한 잠재 표현은 일반적으로 U-Net 아키텍처를 사용하여 표준 확산 모델에 대한 입력으로 사용됩니다. 확산 모델은 저차원 데이터로 작업하기 때문에 그 출력은 디코더 네트워크에 공급되어 원하는 최종 이미지 크기로 업샘플링됩니다.

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기
각주

참고: 모든 링크는 ibm.com 외부에 있습니다.

[1] “Improved Denoising Diffusion Probabilistic Models,” arXiv, 2021년 2월 18일
[2] “Variational Diffusion Models,” arXiv, 2023년 4월 14일 최종 수정