# 【生成式AI導論 2024】第18講:有關影像的生成式AI (下) — 快速導讀經典影像生成方法 (VAE, Flow, Diffusion, GAN) 以及與生成的影片互動 ## 經典影像生成方法 * Variational Auto-encoder(VAE) * Diffusion Method * 現今最常用的 * Sora的方法 * 從一堆雜訊生成就是Diffusion Method * Generative Adversarial Network(GAN) ## 文字生影像的挑戰 ### 訓練時資訊不足 * 文字的敘述通常沒辦法很完整的表達圖片內容 * 例如沒有敘述背景、沒有說名物體的顏色花樣。模型往往只拿到"狗"的敘述,就會將柴犬與哈士奇搞混,不知道要生成哪種patch的組合。 * 解決方法是給予更詳細的資訊 * 可以訓練一個模型(暫稱為抽取模型)來擷取更詳細的資訊 * 抽取模型與生成模型是可以同步訓練的 1. 抽取模型從資料庫中取得照片與敘述,並抽取缺少的詳細資訊 2. 生成模型使用照片敘述與抽取資訊進行影像生成 3. 比對原始影像與生成影像,越接近越好 * 資訊抽取出來什麼資料不重要,目的是讓生成影像與原始影像相近就好。因此也是向量 > [!Note] > 讓輸出與輸入相近的這個訓練框架名稱就是Auto-Encoder ### 實際生成時資訊不足 * 剛才提到訓練時可以抽取原始影像的資訊,取得缺少的詳細資訊 * 而實際生成時,沒有實際影像可以抽取資訊。 * 因此可以用隨機值,決定中間的抽取資訊 * 這種做法就是經典生成方法VAE * 另一種Flow-based方法則是只使用Decoder,並將Decoder設計為Invertible * 我們通常將中間抽取出來的資訊叫做noise,noise中包含了很重要的資訊我們甚至可以透過改造noise,生成不同的照片 ## Diffusion Model ### 原理 (這是極度簡化後的講法,詳細說明請見[影片](https://www.youtube.com/watch?v=azBugJzmz-o&list=PLJV_el3uVTsNi7PgekEUFsyVllAJXRsP-&index=2)) * 反覆使用同一個Decoder(Denoise),每次在生圖時Decoder就是負責去除雜訊 * 通常會反覆進行下去,多次後就可以得到清晰的圖片。 ### 訓練 * 將原始照片不停加上雜訊,就可以得到每個Denoise階段應該要有的樣子 * 接著使用文字敘述+每個階段的照片,就可以訓練出Denoise。 * Diffusion model使用Transformer就是[Diffusion Transformer](https://arxiv.org/abs/2212.09748),Sora就是使用這個技術 ## GAN * GAN則無法跟上面的Auto Encoder架構類比 * GAN會先訓練一個Discriminator,用來評斷圖片與敘述匹配的好壞 * Generator接下來不使用原始影像學習,則是透過Discriminator學習 * 這樣的好處是答案不再單一,不會只學習資料庫中有的影像 * Discriminator與Generator會互相交替訓練。兩者越來越強。 * 在使用Discriminator訓練的情況下,可以不使用雜訊統一圖片生成的統一性。這是老師的實驗結論。 * GAN只是一個工具強化外掛,可以跟其他方法結合
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up