Skip to content

Latest commit

 

History

History
88 lines (55 loc) · 7.52 KB

File metadata and controls

88 lines (55 loc) · 7.52 KB

多模態網絡

在 Transformer 模型成功解決 NLP 任務後,相同或類似的架構也被應用於計算機視覺任務。如今,越來越多的研究致力於構建能夠結合視覺和自然語言能力的模型。其中一個嘗試是由 OpenAI 開發的 CLIP 和 DALL.E。

對比式圖像預訓練(CLIP)

CLIP 的核心思想是能夠比較文本提示與圖像,並判斷圖像與提示的匹配程度。

CLIP 架構

圖片來源於這篇博客

該模型基於從互聯網獲取的圖像及其標題進行訓練。對於每個批次,我們取 N 對 (圖像, 文本),並將它們轉換為一些向量表示 I 和 T。這些表示隨後會進行匹配。損失函數的定義是最大化同一對(例如 I 和 T)之間向量的餘弦相似度,同時最小化所有其他對之間的餘弦相似度。因此,這種方法被稱為對比式

CLIP 模型/庫可以從 OpenAI GitHub 獲取。該方法的介紹可以參考這篇博客,更詳細的描述則在這篇論文中。

在模型預訓練完成後,我們可以提供一批圖像和一批文本提示,模型會返回一個概率張量。CLIP 可以用於多種任務:

圖像分類

假設我們需要在貓、狗和人之間對圖像進行分類。在這種情況下,我們可以將圖像和一系列文本提示輸入模型,例如:“一張貓的照片”、“一張狗的照片”、“一張人的照片”。在結果的 3 個概率向量中,我們只需選擇值最大的索引。

CLIP 用於圖像分類

圖片來源於這篇博客

基於文本的圖像搜索

我們也可以反過來操作。如果我們有一組圖像,可以將這組圖像和一個文本提示輸入模型,模型會返回與該提示最相似的圖像。

打開 Clip.ipynb 筆記本,查看 CLIP 的實際應用。

使用 VQGAN+CLIP 進行圖像生成

CLIP 還可以用於從文本提示生成圖像。為此,我們需要一個生成器模型,該模型能夠基於某些向量輸入生成圖像。其中一個生成器模型是 VQGAN(向量量化生成對抗網絡)。

VQGAN 與普通 GAN 的主要區別在於:

  • 使用自回歸 Transformer 架構生成一系列具有上下文的視覺部分,這些部分構成了圖像。這些視覺部分由 CNN 學習。
  • 使用子圖像鑑別器來檢測圖像的部分是否為“真實”或“偽造”(與傳統 GAN 的“全有或全無”方法不同)。

可以在 Taming Transformers 網站上了解更多關於 VQGAN 的信息。

VQGAN 與傳統 GAN 的一個重要區別是,後者可以從任何輸入向量生成一個體面的圖像,而 VQGAN 可能生成不連貫的圖像。因此,我們需要進一步引導圖像創建過程,這可以通過 CLIP 完成。

VQGAN+CLIP 架構

為了生成與文本提示相符的圖像,我們從一些隨機編碼向量開始,將其通過 VQGAN 生成圖像。然後使用 CLIP 生成一個損失函數,該函數顯示圖像與文本提示的匹配程度。接下來的目標是最小化這個損失,通過反向傳播調整輸入向量參數。

一個實現 VQGAN+CLIP 的優秀庫是 Pixray

Pixray 生成的圖片 Pixray 生成的圖片 Pixray 生成的圖片
根據提示 一幅年輕男性文學教師手持書本的水彩特寫肖像 生成的圖片 根據提示 一幅年輕女性計算機科學教師手持電腦的油畫特寫肖像 生成的圖片 根據提示 一幅年長男性數學教師站在黑板前的油畫特寫肖像 生成的圖片

圖片來自 Dmitry Soshnikov人工教師 系列

DALL-E

DALL-E 是一個基於 GPT-3 的模型,專門用於從文本提示生成圖像。該模型擁有 120 億個參數。

與 CLIP 不同,DALL-E 將文本和圖像作為單一的 token 流處理。因此,通過多個提示,可以基於文本生成圖像。

DALL-E 1 和 DALL-E 2 的主要區別在於,後者能生成更真實的圖像和藝術作品。

以下是使用 DALL-E 生成圖像的示例:

DALL-E 生成的圖片 DALL-E 生成的圖片 DALL-E 生成的圖片
根據提示 一幅年輕男性文學教師手持書本的水彩特寫肖像 生成的圖片 根據提示 一幅年輕女性計算機科學教師手持電腦的油畫特寫肖像 生成的圖片 根據提示 一幅年長男性數學教師站在黑板前的油畫特寫肖像 生成的圖片

參考資料

免責聲明
本文件使用 AI 翻譯服務 Co-op Translator 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤讀概不負責。