AIGC大一統模型來了! CV界泰斗黃煦濤創立團隊提出「全能Diffusion」
Diffusion模型的最新進展在許多生成任務中樹立了一個令人印象深刻的里程碑。諸如DALL·E 2、Imagen和Stable Diffusion(SD)等引人注目的工作,引起了學術界和工業界的極大興趣。
不過,雖然這些模型表現驚艷,但基本上都是專一於某一類任務,例如由給定文字產生圖像,而對於不同類型的任務,則往往需要專門單獨訓練,或重新建構新模型。
那麼能不能在前人基礎上搞一個「全能型」的Diffusion,實現AIGC模型的大一統呢?有人就在努力沿著這個方向進行探索,並且已經取得了進展。
這個來自伊利諾大學厄巴納-香檳分校、德州大學奧斯汀分校的聯合團隊,試圖將現有的單流Diffusion擴展為多流網絡,稱為Versatile Diffusion( VD),這是第一個統一的多流多模態Diffusion框架,是邁向通用生成性人工智慧的一步。
#論文網址:https://arxiv.org/abs/2211.08332
#Versatile Diffusion除了普通的文字生成圖像功能之外,還可以輸入圖像生成類似圖像,輸入圖像生成文字,輸入文字生成相似文字,圖片語義解耦編輯,輸入圖像及文字生成視頻,根據隱空間編輯圖像內容等等。
未來的版本也將支援更多的模式,如語音、音樂、視訊和3D。
據論文介紹,現已證明VD及其基礎架構具有以下優勢:
a) 可以以具有競爭力的高品質處理所有子任務。
b) 支援新的擴充功能和應用,如圖形風格和語意的分離、圖像-文字雙重引導生成等。
c) 透過這些實驗和應用,為產生的輸出提供了更豐富的語意洞察力。
在訓練資料集方面,VD使用帶有自訂資料過濾器的Laion2B-en作為主要資料集。
首次探索
VD的一個令人興奮的發現是,它可以從語義中增強或減少圖像風格,而無需進一步監督。
這樣的現象激發作者去探索一個全新的領域,其中,風格和語義之間的分離可以發生在具有任意風格和任意內容的圖像上。
作者表示,他們是第一個探索:a)在沒有領域規範的情況下,對自然圖像的語義和風格進行解讀;b)擴散模型潛在空間上的語意和風格分解的團隊。
在下圖中,作者首先產生輸入影像的變體,然後以語義(左邊)或風格(右邊)為重點對其進行操作。
由於VD同時支援圖像到文字和文字到圖像,因此作者團隊第一次嘗試了透過以下步驟從文字提示的角度編輯圖像:a)將圖像轉換成文本,b)編輯文本,c)將文本轉換回圖像。
在實驗中作者從圖像中刪除了描述的內容,然後用這種圖像-文字-圖像(I2T2I)範式添加新的內容。與繪畫或其他需要物體位置作為輸入的影像編輯方法不同,VD的I2T2I不需要掩碼,因為它可以按照指令自動定位和替換物體。
不過,I2T2I的輸出圖像與輸入圖像的像素不一致,這是由於圖像到文字的語義提煉和文字到圖像的內容創建造成的。
在下圖的展示中,輸入的圖像首先被翻譯成prompt,然後用減法(紅框)和加法(綠框)對prompt進行編輯。最後,編輯後的prompt被翻譯成圖像。
此外,他們也是第一個探索基於給定的文字去產生相似文字的團隊。
網絡框架
具體來說,文中提出的VD框架是一個多流網絡,有各種類型的數據作為輸入和背景。
VD多流多模態diffusion框架繼承了LDM/SD的優點,具有可解釋的潛在空間、模態化結構和較低的計算成本。
VD可以聯合訓練多個流,每個流代表一個跨模式的任務。其核心設計是diffuser網路內的分組、共享和交換協議,使框架適應所有支援的任務和其他任務。
diffuser分為三組:全域層、資料層、情境層。全域層是時間嵌入層,資料層是剩餘塊,而語境層是交叉關注。
這種分組與層的功能相對應。當處理多個任務時,全域層在所有任務中共用。資料層和語境層包含多個資料流。每個資料流都可以根據目前的資料和上下文類型進行共享或交換。
例如,當處理文字-圖像請求時,diffuser使用圖像資料層與文字情境層。當處理影像變異任務時,則使用影像資料圖層與影像情境層。
單一VD流程包含一個VAE、一個diffuser和一個情境編碼器,在一個資料類型(如圖像)和一個情境類型(如文字)下處理一個任務(如文字轉圖像)。
Versatile Diffusion的多流結構如下圖所示:
研究人員基於Versatile Diffusion,進一步提出了一個通用的多流多模態框架,其中包括VAE、上下文編碼器和包含三層(即全局、資料和情境層)的diffuser。
Diffuser:
#VD使用已被廣泛採用的交叉關注的UNet作為diffuser網路的主要架構,將層分為全域層、資料層和語境層。其中資料層和語境層有兩個資料流來支援圖像和文字。
對於影像資料流,遵循LDM並使用殘差區塊(ResBlock),其空間維度逐漸減少,通道數逐漸增加。
對於文字資料流,利用新的全連接殘差區塊(FCResBlock),將768維度的文字潛伏向量擴展為320*4的隱藏特徵,並遵循類似的通道增加範式,再利用GroupNorms、SiLU和跳過連接,就像普通的ResBlock。
如上圖所示,FCResBlock包含兩組全連接層(FC)、分組歸一化(GN)和sigmoid線性單元(SiLU)。 x是輸入文字潛伏程式碼,t是輸入時間嵌入,hi是中間特徵。
對於情境群組,影像和情境流都採用交叉注意力層,其中內容嵌入透過投影層、點積和sigmoids來操作資料特徵。
變分自編碼器(VAE):
VD採用先前的潛在擴散模型(Latent Diffusion Model,LDM)的自編碼器-KL作為影像資料VAE,採用Optimus作為文字資料VAE。 Optimus由BERT文字編碼器和GPT2文字解碼器組成,可以將句子雙向轉換為768維常態分佈的潛在向量。
同時,Optimus也以其可重構且可解釋的文本潛空間顯示出令人滿意的VAE特性。因此選擇Optimus作為文字VAE,因為它非常符合多流多模態框架的前提條件。
語境編碼器(Context Encoder):
VD使用CLIP文字和圖像編碼器作為上下文編碼器。與只使用原始文字嵌入作為情境輸入的LDM和SD不同,VD使用歸一化和投影嵌入,使文字和影像的CLIP對比損失最小化。
實驗表明,上下文類型之間更接近的嵌入空間有助於模型快速收斂,表現更好。類似的結論也可以在DALL·E 2中實現,DALL·E 2使用額外的投影層來微調文字到圖像的模型,以最小化文字和圖像嵌入之間的差異,用於圖像變化。
表現表現
作者將早期的單任務模型作為基準模型,並將VD的結果與這些基準進行比較。其中,SDv1.4作為文字到圖像的基線模型,SD-variation用於圖像-變體,而BLIP用於圖像-文字。
同時,作者也對不同的VD模型進行了定性比較,其中VDDC和VD-official用於文字到圖像,所有三個模型用於圖像變體。
其中SD和VD的影像樣本是用受控的隨機種子產生的,以便更好地檢查品質。
文字到圖像的性能
雖然DALLE 2和Imagen在這些任務上也取得了SOTA,但由於沒有公開的代碼或訓練細節,因此作者跳過了它們的比較。
結果顯示,多流程結構和多任務訓練可以幫助VD捕捉上下文語義並更精確地產生輸出,並出色地完成了所有的子任務。
圖片-變體的性能
##此外,由VD產生的圖像標註也包含了一些創意十足的字詞。相較起來,BLIP的生成就很短,缺乏對細節的描述。
#圖片到文字的效能
效果顯示#文生圖#
圖像變體
#以語義為重點的影像變體
# 雙重引導
- 總結
透過實驗,作者發現VD在所有支援的任務上都能產生高品質的輸出,其中VD的文字到圖像和圖像到變體的結果能更好地捕捉上下文中的語義,VD的圖像到文字的結果具有創造性和說明性。
鑑於VD的多流多模態屬性,作者引入了新穎的擴展和應用,可能會使從事這項技術的下游用戶進一步受益。伊利諾大學厄巴納-香檳分校的IFP團隊是由黃煦濤教授在80年代創立的,起初是貝克曼高級科學與技術研究所的圖像形成和處理小組。
多年來,IFP一直致力於圖像以外的研究和創新,包括圖像和視訊編碼、多模態人機互動、多媒體註釋和搜尋、電腦視覺和模式識別、機器學習、大數據、深度學習和高效能運算。
目前IFP的研究方向是透過協同結合大數據、深度學習和高效能運算來解決多模態資訊處理的問題。
######此外,IFP在人工智慧領域的頂級會議上獲得了多篇最佳論文,並在許多國際競賽中獲勝,包括首屆NIST TrecVID、首屆ImageNet挑戰賽和首屆人工智慧城市挑戰賽。 ############有趣的是,自黃教授1960年代開始在麻省理工學院任教以來,IFP小組的「成員」甚至包括朋友、學生、學生的學生、學生的學生,甚至是學生的學生的學生。 ######以上是AIGC大一統模型來了! CV界泰斗黃煦濤創立團隊提出「全能Diffusion」的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。
