概述
毫無疑問,目前最受關注且不斷發展的最重要的主題之一是使用人工智能生成圖像、視頻和文本。大型語言模型 (LLM) 已展示出其在文本生成方面的卓越能力。它們在文本生成方面的許多問題已得到解決。然而,LLM 面臨的一個主要挑戰是它們有時會產生幻覺反應。
最近推出的新模型(如新發布的 GPT-40)尤其令人驚嘆。OpenAI 無疑正在改變游戲規則。此外,谷歌強大的模型 Gemini 1.5 Pro 極大地改變了我們的看法。因此,我們可以看到模型正在改進。輪子已經發明,現在必須加以改進。
最初,LLM 是為翻譯任務而開發的。現在,我們看到它們執行各種任務,趨勢是朝著多模態模型發展。Transformers 強大而重要的架構使這一切成為可能。
Transformers 可以執行的另一項任務是圖像生成,如 DALL-E、Midjourney 或 Ideogram 等產品中所示。這些模型接受文本提示并生成圖像。最近發布的 LlaMa 3 模型在編寫文本提示時生成圖像,并在我們修改文本時更改圖像。
但更令人驚訝的是從文本生成視頻。幾個月前,OpenAI 推出了一款名為Sora的產品。它令人印象深刻,令人驚嘆,能夠生成高質量、高度逼真的圖像,甚至可以創造其他世界。當我看到它時,我首先想到的是電影《黑客帝國》。
在本文中,我們將從頭開始研究從文本生成圖像和視頻的想法,并追溯其演變過程。我們的目標是首先了解圖像生成,然后了解視頻生成,并研究用于這些任務的架構。
歷史
第一批電影于 19 世紀 80 年代制作,令觀眾驚嘆不已,為今天我們所知的強大的電影業奠定了基礎。在電影制作中使用人工智能 (AI) 的概念出現于 20 世紀初,隨著計算機的興起而逐漸流行。1960 年,約翰·惠特尼 (John Whitney) 創立了 Motion Graphics Incorporated,并使用他的模擬計算機制作電影片段、電視劇名和廣告,開創了計算機動畫的先河。IBM于1966 年授予他第一位駐場藝術家職位,以表彰他的貢獻。多年來,各種關于計算機生成的電影和動畫的文章相繼發表,為今天我們所知的 AI 在電影制作和表演藝術中的應用鋪平了道路。21 世紀和21世紀的進步,包括深度學習算法和生成對抗網絡 (GAN),進一步推動了 AI 在數字內容創作和編輯中的應用。下一節將探討使用 Transformer 架構生成圖像的可行性。
跨平臺對抗網絡TransGANs
生成對抗網絡 (GAN) 由Ian Goodfellow及其同事于2014 年 ( Transformers 誕生之前) 提出,用于圖像處理和其他任務。生成對抗網絡
生成對抗網絡 (GAN) 的概念早于 Transformer,涉及兩個參與零和博弈的深度神經網絡。第一個網絡是生成器,它創建合成樣本;第二個網絡是鑒別器,它負責區分真實樣本和合成樣本。生成器的目標是生成可以欺騙鑒別器的樣本,使其無法區分真實樣本和合成樣本。
Transformer 與 GAN 的結合(稱為 TransGAN)表明,Transformer 既可以充當 GAN 中的生成器,也可以充當鑒別器。這些模型利用 Transformer 的優勢來捕捉數據的復雜特征。這種方法在2021 年由Yifan Jiang、Shiyu Chang和Zhangyang Wang 發表的同名論文中進行了詳細介紹。TransGAN:兩個純 Transformer 可以組成一個強大的 GAN,而且可以擴展
TransGAN 是 Transformer 生成對抗網絡的縮寫。該模型是一種 GAN,其生成器和鑒別器均采用 Transformer 架構。與傳統 GAN 不同,TransGAN 不使用 CNN 作為生成器或鑒別器,而是同時采用 Transformer 結構。
這幅圖清晰地展示了 TransGAN 的架構以及生成器和鑒別器的結構。輸入圖像是一張 3×3 的彩色照片。來源
生成器Generator
在 TransGAN 中,生成器使用 Transformer 架構來生成數據序列。生成器從隨機噪聲輸入開始,該輸入通常是具有高斯(正態)分布的隨機值的向量。此噪聲輸入被轉換為更高維的特征空間。此階段涉及多個前饋層和 MHA 層。
基于 Transformer 的生成器逐步生成數據序列。在每個步驟中,生成器生成一部分數據(例如,圖像的一個像素),然后將此輸出用作下一步的輸入。注意力機制可幫助生成器對數據中存在的長期依賴關系和復雜性進行建模。
在生成完整的數據序列后,這些序列被轉換成完整的樣本(例如,完整的圖像)。這種轉換包括重建復雜的特征和最終的細節。
鑒別器Discriminator
TransGAN 中的 Discriminator 負責判斷 Generator 生成的樣本是真是假,它采用 Transformer 架構來分析生成的數據序列。
最初,鑒別器接收可能是真實圖像或虛假圖像的樣本。這些樣本作為圖像塊序列輸入到模型中。每個圖像塊代表圖像的一小部分,例如16×16像素塊。每個圖像塊首先轉換為矢量表示。此矢量表示通常通過嵌入層獲得,該嵌入層將每個圖像塊轉換為指定維度的矢量。然后將這些矢量與位置嵌入相結合,以保留每個圖像塊的空間信息。
然后將編碼的塊序列輸入到多個多頭注意力 (MHA) 層。這些層允許鑒別器對圖像不同塊之間的長期依賴關系和關系進行建模。MHA 幫助模型同時關注圖像的不同特征。
注意力層的輸出被輸入到多個前饋層。這些層提取并處理組合特征,從而產生更復雜、更豐富的圖像表示。然后,前饋層的最終輸出被輸入到聚合層。該層將所有提取的特征組合成一個綜合表示。然后,這個綜合表示連接到最后一層,例如密集層,最終決定圖像是真是假。
在 GAN 中使用