AIGC: MaskGIT (Masked Generative Image Transformer) 筆記
論文詳情
MaskGIT: Masked Generative Image Transformer
Huiwen Chang, Han Zhang, Lu Jiang, Ce Liu, William T. Freeman
官方的 Colab Demo: https://colab.research.google.com/github/google-research/maskgit/blob/main/MaskGIT_demo.ipynb
ImageGPT 工作機(jī)制
先簡單介紹一下 ImageGPT (Generative Pretraining From Pixels) 的工作機(jī)制。ImageGPT 工作機(jī)制分為兩步——
將圖像轉(zhuǎn)換為一系列的 Token
根據(jù)之前的 Token,迭代生成新的 Token (利用?Maximum?Likelihood Estimation /?Negative?Log-likelihood?Minimization)

Autoregressive 時,目標(biāo)為?
Bert 時,目標(biāo)為
以上流程的弊端:
不符合人類繪圖的邏輯
序列長度增長迅速,很容易形成一個特別長的序列
生成時間慢
長期的關(guān)聯(lián)性弱
難以完成一些特定的任務(wù)(如 impainting)
MaskGIT 工作機(jī)制
先利用 VQ-encoder 將圖像轉(zhuǎn)化為 token 序列?, N 代表了序列長度。
創(chuàng)建一個二元遮罩 .
被遮罩的地方,使用一個特殊的 [MASK] Token,并且被遮罩的序列用 表示。
目標(biāo)依舊是 negative log-likelihood minimization,即:
生成圖像的步驟如下:
輸入遮罩后的序列?
, 模型輸出一個概率?
, K 為 codebook 的大小
根據(jù)第 i 個被遮罩的"像素"的概率?
, 從 codebook 中采樣一個 token, 記錄其 condifence score, 未被遮罩的地方分?jǐn)?shù)為 1.0
根據(jù)一個?mask scheduling function γ,計算下一步的序列中要被遮罩的 token 的總數(shù) n
根據(jù)第二步的 condifence score, 遮罩 n 個 token
迭代執(zhí)行以上步驟


一些細(xì)節(jié)性的東西省去不寫了,效果圖和更多細(xì)節(jié)參見原論文