iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
AI & Data

圖像生成 AI 的原理與應用系列 第 21

[Day 21] Diffusion Model 的數學原理(三)

  • 分享至 

  • xImage
  •  

今天又是充滿數學的一天啊/images/emoticon/emoticon06.gif

還記得在 [Day 19] Diffusion Model 的數學原理(一)的最後,我們得出了 diffusion model 的學習目標:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522GQj7Y0QJ7x.jpg

今天我們會從這個學習目標出發,得到最後我們在演算法看到生成過程如何 denoise 的數學形式:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522WriWAbHZwc.jpg
(圖片來源:Denoising Diffusion Probabilistic Models

那就直接開始吧!/images/emoticon/emoticon18.gif

首先,根據 Understanding Diffusion Models: A Unified Perspective 中的推導,我們可以將 diffusion model 要最大化的 lower bound 寫成以下三項:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522gRaeDFzevZ.jpg

至於中間是如何推導的呢?有興趣的話可以參考這個來自 paper 的截圖,但不看應該也不會影響理解太多:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522UMxZTlRiyX.jpg
(圖片來源:Understanding Diffusion Models: A Unified Perspective

那推導出來的這三項分別代表以下的涵義:

  1. https://ithelp.ithome.com.tw/upload/images/20230930/20162522hJiAuKBWCm.jpg:意義接近 VAE 的 reconstruction term,也就是 denoise 後的影像和原本乾淨的影像有多接近
  2. https://ithelp.ithome.com.tw/upload/images/20230930/2016252275Lzzvdm5f.jpg:prior matching term,它代表加 noise 的影像最終多接近先驗的 Gaussian distribution,由於加 noise 的部分和模型參數完全無關,因此在後面的計算可以忽略
  3. https://ithelp.ithome.com.tw/upload/images/20230930/20162522hOwT8Q5rKI.jpg:denoising matching term,評估每一步 denoise 的結果和加 noise 前是否接近,https://ithelp.ithome.com.tw/upload/images/20230930/20162522D37wcwaZX9.jpg代表的是 ground truth signal,也就是在已知 x_0 和 x_t 的情況下要如何 denoise 得到 x_(t-1);而 https://ithelp.ithome.com.tw/upload/images/20230930/20162522Mp5lHTTyUQ.jpg 則是模型學出來的 denoise 函數

由於和演算法中 denoise 過程有關的是第三項 https://ithelp.ithome.com.tw/upload/images/20230930/20162522Wm4clMrwds.jpg,因此接下來會繼續從這一項推導~

其中 ground truth signal https://ithelp.ithome.com.tw/upload/images/20230930/20162522mzFDIKAHer.jpg 經過一連串複雜的推導後,會發現它其實也是一個 Gaussian distribution,mean 是 https://ithelp.ithome.com.tw/upload/images/20230930/20162522Lr17oYxgB4.jpg,sigma 是 https://ithelp.ithome.com.tw/upload/images/20230930/20162522XL624iN5fa.jpg
https://ithelp.ithome.com.tw/upload/images/20230930/20162522zOnxQR8Wa3.jpg
(圖片來源:Understanding Diffusion Models: A Unified Perspective

而 diffusion model 要學出的 denoise 函數 https://ithelp.ithome.com.tw/upload/images/20230930/20162522rmWUiZm74R.jpg 也是一個 Gaussian distribution,由於它的 mean 是可以被訓練的,sigma 是固定的,因此要拉近 https://ithelp.ithome.com.tw/upload/images/20230930/20162522vJQHMcD0GQ.jpghttps://ithelp.ithome.com.tw/upload/images/20230930/20162522YKyuxkLi4Z.jpg 兩個機率分布,就是要讓可被訓練的 mean 和 ground truth 的 mean https://ithelp.ithome.com.tw/upload/images/20230930/201625224jPaA9BjCl.jpg 越接近越好。

由於我們知道 x_0 和 x_t 的關係:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522jLZftInEKf.jpg
(圖片來源:Understanding Diffusion Models: A Unified Perspective

我們可以將上面的等式代入 https://ithelp.ithome.com.tw/upload/images/20230930/20162522AeGBnxH1if.jpg,讓它只與 x_t 相關:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522OaDDf6VS2E.jpg
(圖片來源:Understanding Diffusion Models: A Unified Perspective

最後就得到演算法中 denoise 過程的數學形式 https://ithelp.ithome.com.tw/upload/images/20230930/20162522Fpsr0LCOmo.jpg 了!

不過實際上在 denoise 的時候,我們並不會直接讓模型輸出機率分布最高的值(也就是 Gaussian distribution 的 mean),這樣缺乏隨機性的過程通常反而是對生成結果有害的,取而代之的是我們會從 Gaussian distribution 抽樣,這也就是為什麼演算法中會寫 denoise 過程中還要加上隨機抽樣的 noise:
https://ithelp.ithome.com.tw/upload/images/20230930/20162522hwuiAO16el.jpg
(圖片來源:Denoising Diffusion Probabilistic Models


上一篇
[Day 20] Diffusion Model 的數學原理(二)
下一篇
[Day 22] 各式各樣的 AI 文字生圖服務 - Midjourney、Stable Diffusion、DALL·E、Bing Image Creator、Imagen
系列文
圖像生成 AI 的原理與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言