Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model(2024,8)

chenfengshijie發表於2024-09-04

Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model(2024,8)

Paper
TODO: 目前沒有開原始碼,實時關注一下official code,Meta的工作基本開源的.本文給出了一種新的T2I的方法.
lucidrains的程式碼

transfusion_2024-09-04_

本質是將LLM的transformer和影像中的diffusion結合了起來,使用同一個transformer來同時處理文字和影像資訊.之前的DiT架構都是使用一個預訓練的TextEncoder來提取文字資訊,,並透過Concat、AdaLN、
CrossAttention、MMDit等方式將文字資訊融入模型,而本文的方式直接同時訓練文字和影像資訊,並且是使用同一個模型來進行處理.

transfusion_2024-09-04_

如上圖,影像經過一個VAE來得到tokens,並插入到文字token中,文字也會在經過一個tokenizer之後透過一個輕量級的模組進行處理,然後再透過一個transformer來處理文字和影像的資訊.

transfusion_2024-09-04_

文字的attention方式和影像不一致,文字因為要採用causal的方式,而影像則需要採用bidirectional的方式.

Loss : \(\mathcal{L}_\text{Transfusion}=\mathcal{L}_\text{LM}+\lambda\cdot\mathcal{L}_\text{DDPM}\)

對於文字採用了LLM modeing,對於影像採用了DDPM的loss,訓練細節和效果可以參看論文.

論文透過提出Transfusion方法來解決多模態模型的訓練問題。Transfusion的核心思想是訓練一個單一的模型來同時處理離散和連續的資料模態,具體解決方案包括以下幾個關鍵步驟:

  • 資料表示:將文字資料表示為離散的token序列,將影像資料透過變分自編碼器(VAE)編碼為連續的潛在空間補丁序列。在混合模態的示例中,使用特殊的開始影像(BOI)和結束影像(EOI)標記來分隔文字和影像序列。

  • 模型架構:使用一個單一的Transformer模型來處理所有序列,無論其模態如何。對於文字,使用嵌入層將token轉換為向量;對於影像,嘗試了兩種將區域性視窗的補丁向量壓縮成單個Transformer向量的方法:簡單的線性層和U-Net的上下塊。

  • 注意力機制:結合了因果注意力(用於文字token)和雙向注意力(用於影像補丁)。這允許影像內的每個補丁能夠相互注意,同時只能注意序列中先前出現的文字或影像補丁。

  • 訓練目標:對文字token應用語言建模目標(LLM),對影像補丁應用擴散目標(LDDPM)。透過簡單地將兩種模態上計算的損失相加,並引入一個平衡係數λ,來訓練模型。

  • 推理演算法:根據訓練目標,解碼演算法在兩種模式(LM和擴散)之間切換。在LM模式下,從預測分佈中逐個取樣token。當取樣到BOI標記時,切換到擴散模式,按照擴散模型的標準程式解碼影像。

  • 實驗驗證:透過一系列受控實驗,論文展示了Transfusion在不同模型大小和資料量下的效能,以及與Chameleon方法的比較。實驗結果表明,Transfusion在每種模態組合中的擴充套件性都優於Chameleon方法。

  • 架構改進:論文還探討了Transfusion模型的不同變體,包括使用不同大小的影像補丁、不同的編碼/解碼架構(線性層與U-Net塊),以及限制影像噪聲的程度,以提高特定任務的效能。

  • 影像編輯能力:論文進一步展示了Transfusion模型在影像編輯任務上的潛力,透過在少量影像編輯資料上微調預訓練模型,使其能夠根據指令執行影像編輯。

相關文章