海量數據湧現物理認知?解讀OpenAI Sora文生視頻技術原理_風聞
返朴-返朴官方账号-关注返朴(ID:fanpu2019),阅读更多!1小时前
2月16日,OpenAI發佈文生成視頻模型Sora,可根據文字提示生成60秒視頻,輸出的視頻顯示了令人驚歎的細節,效果堪比影視CG。在逼真的場景背後,它的底層原理是什麼?本文依據OpenAI發佈的技術綜述進行解讀——生成視頻事小,模擬世界事大。
撰文 | 王慶法
OpenAI Sora文生視頻(圖像看作單幀視頻)一放出就炸翻整個AI圈,也是ChatGPT掀起GenAI熱潮時隔一年後,OpenAI再次史詩級的更新。OpenAI 隨後公佈的技術綜述[1],難掩其勃勃雄心:視頻生成模型作為世界模擬器。
筆者春節前原計劃整理一下對Google Lumiere文生視頻的認知,多個因素遺憾推遲。對比看兩者大的技術方向均選擇了擴散模型,卻也有許多關鍵細節不同。恰好可以藉着OpenAI技術綜述來提綱挈領,一起梳理一下,為什麼筆者覺得這是又一史詩級的更新。
01
Spacetime Latent Patches 潛變量時空碎片,建構視覺語言系統
在“ChatGPT是第一個真正意義的人工通用智能”中,筆者總結過大語言模型藉助Embedding將人類的語言“編碼”成自己的語言,然後通過注意力Attention從中提取各種豐富的知識和結構,加權積累與關聯生成自己的語言,然後“編碼”回人類的語言。
與ChatGPT首先引入Token Embedding思路一致,針對視覺數據的建模方法作為構建Sora最重要的第一步。碎片Patch已經被證明是一個有效的視覺數據表徵模型,且高度可擴展表徵不同類型的視頻和圖像。將視頻壓縮到一個低維的潛變量空間,然後將其拆解為時空碎片Spacetime Latent Patches。筆者覺得時空碎片是時空建模的關鍵,統一了時空分割的“語言”。
有了時空碎片這一統一的語言,Sora自然解鎖了多種技能:1. 自然語言理解,採用DALLE3 生成視頻文本描述,用GPT豐富文本prompts,作為合成數據訓練Sora,架起了GPT與Sora語言空間的更精確關聯,等於在Token與Patch之間統一了“文字”;2. 圖像視頻作為prompts,用户提供的圖像或視頻可以自然地編碼為時空碎片Patch,用於各種圖像和視頻編輯任務——靜態圖動畫、擴展生成視頻、視頻連接或編輯等。
02
擴散模型與Diffusion Transformer,組合成強大的信息提取器
OpenAI講Sora是一個Diffusion Transformer,這來自伯克利學者的工作Diffusion Transformer (DiT):“採用Transformer的可擴展擴散模型 Scalable diffusion models with transformers”[2],整體架構如下:
Diffusion Transformer (DiT)架構。左:我們訓練調節的潛DiT模型。輸入潛變量被分解成幾個patch並由幾個DiT塊處理。右:DiT塊的細節。我們對標準Transformer的變體進行了實驗,這些變體通過自適應層歸一化、交叉注意力和額外的輸入token做調節。自適應層歸一化效果最好。
擴散模型的工作原理是通過連續添加高斯噪聲來破壞訓練數據,然後通過逆轉這個加噪過程來學習恢復數據。訓練後可以使用擴散模型來生成數據,只需通過學習到的去噪過程來傳遞隨機採樣的噪聲。擴散模型是一種潛變量模型,逐漸向數據添加噪聲,以獲得近似的後驗
圖像漸進地轉化為純高斯噪聲。訓練擴散模型的目標是學習逆過程,即訓練pθ(xt-1|xt)。通過沿着這個過程鏈向後遍歷,可以生成新的數據。
從信息熵的角度可以這樣理解:結構化信息信息熵低,多輪加高斯噪音,提高其信息熵,逐步掩蓋原來的結構信息。本就無序的非結構化部分,信息熵很高,添加少量高斯噪音,甚至不用添加高斯噪音,已然很無序。
在此視角下,學習到的內容其實是原來結構化信息(如圖像)的“底片”。類似化學上的酸鹼中和,本來很酸的地方,得放更多的鹼,現在我們學到了放鹼的分佈和節奏,反過來,剔除鹼的分佈,酸的分佈就被還原了。
基礎的擴散模型,過程中不降維、無壓縮,還原度比較高。學習過程中的概率分佈作為潛變量參數化,訓練獲取其近似分佈,用KL散度計算概率分佈之間的距離[3]。Diffusion Transformer (DiT) 因為引入Transformer做多層多頭注意力和歸一化,因而引入了降維和壓縮,diffusion方式下的底片信息提取過程,原理與LLM的重整化無異。
03
DiT應用於潛變量時空碎片,學習獲得海量視頻中時空碎片的動態關聯
與“LLM在其高維語言空間中通過Transformer提取人類語言中無數的結構與關聯信息”類似,Sora是個基於擴散模型的Transformer,被用於從高維的時空碎片長成的空間中,觀察並提取豐富的時空碎片之間的關聯與演化的動態過程。如果把前者對應人類讀書,後者就是人類的視覺觀察。
遺憾的是,OpenAI的技術綜述沒有提供技術細節,不過筆者覺得大家可以參照Google Lumiere的技術原理來大膽推演一下。視頻其實是記錄了時空信息的載體:時空碎片patch可以看作是三維空間的點集(x,y,z)的運動(t),或者説其實是個四維時空模型(x,y,z,t)。Sora和Lumiere之類的生成模型的第一步都是如何從中提取出相應的關鍵信息。
Lumiere STUNet架構。將預訓練的T2I U-Net架構(Ho et al., 2022a)“膨脹”到一個時空UNet (STUNet),在空間和時間上對視頻進行上下采樣。(a)STUNet激活圖的示例;顏色表示不同時序模塊產生的特徵:(b)基於卷積的塊,由預訓練的T2I層和因子化時空卷積組成,以及(c)在最粗的U-Net級別上基於注意力的塊,其中預訓練的T2I層和時間注意力。由於視頻表徵在最粗的級別上被壓縮,我們使用有限的計算開銷堆疊幾個時間注意力層。
谷歌Lumiere: A Space-Time Diffusion Model for Video Generation[4]也選擇了擴散模型,堆疊了歸一化與注意力層,類似Sora的DiT,但細節如時長、分辨率、長寬比等的處理方式不同。細節決定成敗,OpenAI稱Sora摒棄了“其他文生視頻調整視頻大小、裁剪或修剪到標準大小的通常做法”,以可變時長、原始分辨率與長寬比訓練視頻生成獲得重要優勢,如採樣靈活性,改進的創作與成幀。
04
Sora 或Lumiere 視頻學習與生成的技術背後藴含的原理分析
讀完Sora的技術綜述,筆者的第一感覺是,Sora其實是在時空潛變量碎片上學習到了可視層面或者表面意義上的SSM(State Space Model),從而在視頻生成上展現出強大的湧現能力:人和景物在三維空間移動一致性;長程時間相關性與對象持久性,如事物被遮擋後重現;事物與周邊世界的互動性;仿真數字世界,等等。OpenAI認為持續擴大視頻模型的規模,將可以用來模擬整個物理和數字世界,畢竟它們純粹是尺度的現象(they are purely phenomena of scale)。
讓我們回顧一下“Transformer 的後浪來了”中筆者總結過的SSM整體思維模型:
1. 狀態空間對事物的表徵和刻畫:狀態空間的高維度,某時刻的信息,即某時刻的事物的能量的概率分佈,是眾多維度的聯合概率分佈,各維度都可能具有連續性和非線性,如何用線性系統近似,並最大努力消除非線性的影響非常關鍵;不同層次的潛變量空間,對信息的提取,和粗顆粒度逐層抽象,都需要類似重整化羣RG中的反覆歸一化,以消除“近似非線性處理”對整體概率為 1 的偏離。關於重整化羣信息提取的原理,請參考筆者梳理的“大模型認知框架”,此處不再贅述。這裏Sora採用的Diffusion Transformer (DiT) 架構與谷歌Lumiere 採用的Space-Time UNet (STUNet) 都具備注意力與歸一化,神經網路架構差異看起來主要來自是否採用“調整視頻大小、裁剪或修剪到標準大小的通常做法”。
2. 狀態空間的動態性:即從時間的維度,研究整個狀態空間的變遷。這個變遷是狀態空間的大量非時間維度的信息逐層提取,疊加時間這一特殊維度的(狀態-時間)序列sequence。不管是高維度低層次的細顆粒度的概率分佈的時間變化,還是低維度高層次的粗顆粒度概率分佈的時間變化,都是非線性時變系統,用線性時不變(LTI)的模型都是無法很好刻畫的。
Sora的具體做法技術綜述中沒有透露。Lumiere的處理中可以窺見端倪。這裏可以有多種建模的方式,最自然的方式就是 ((x,y,z), t )的方式,將事物整體的演化看成時間序列,但此種方式往往存在數字視頻採樣頻率不足導致的運動模糊與運動混淆問題。比如高速運轉的輪子有時候看起來像在倒轉。
Nyquist-Shannon採樣定理告訴我們,對於模擬信號,如果希望同時看到信號的各種特性,採樣頻率應該大於原始模擬信號的最大頻率的兩倍,否則將發生混疊即相位或頻率模糊。因而Lumiere採用了自監督時間超分辨率 (TSR) 與空間超分辨率 (SSR) 技術[5],將事物的運動建模成多維度兩兩組合的模型:(x,y), … ,(x,t),(y,t),(z,t)。
小的時空碎片會在視頻序列的各個維度上重複出現,特別是空間和時間維度之間進行交換時,因而可以對其在時間域與空間域的表徵做關聯分析,慢逆時針有可能是快順時針的假象,也可能就是慢逆時針。即使時域無法分辨,空域可以調整頻率,看到更模糊或者沒有特別變化的表徵。當物體快速移動時,x-t和y-t切片中的Patch看起來是高分辨率x-y切片 (傳統幀) 的低分辨率版本。在t方向上增加這些x-t和y-t切片的分辨率與增加視頻的時間分辨率是一樣的。因此,空間x-y視頻幀提供瞭如何在同一視頻中增加x-t和y-t切片的時間分辨率的示例。
即將t看成第四維度,可以用x-y高分辨率訓練修正x-t, y-t。同理,當物體移動非常緩慢時,x-t和y-t切片中的Patch呈現為x-y幀中Patch的拉伸版本,表明這些時間切片可以為如何提高視頻幀的空間分辨率提供示例。即時間切片,反過來提升空間分辨率。如果SSM學到了物理規律(如運動方程),直接輸出高頻幀理論上也應當可行。
“跨維”遞歸的一維圖示。1D對象向右移動。當適當的採樣時間 (T=1),時間切片類似於空間切片 (1D“幀”)。然而,當時間採樣率過低 (T=2) 時,時間切片是空間切片的欠採樣(混疊 aliasing)版本。因此,空間幀提供了消除時間混疊的示例。
3. 狀態空間時間序列的非馬爾可夫性:思考attention 的價值,時序數據上的attention注意到了什麼?諸如趨勢、週期性、 一次性事件等。非時間維度子空間內的attention,注意到的是範疇內與範疇間的關係, 即某個時刻的狀態空間。狀態空間的時序,研究的是狀態空間的動力學,外在驅動“力”或因素導致的狀態的“流動”,即狀態空間t時刻與 t-n時刻之間的關係,注意到的是其時間依賴規律,往往不具備馬爾可夫性。對此“Transformer 的後浪來了”以及筆者早前的“薛定諤的小板凳與深度學習的後浪”中都做了相應的闡釋。非馬爾可夫性其實是世界的常態,事實上時延系統基本都是非馬爾可夫的。時間維度的注意力與狀態空間選擇性非常關鍵。OpenAI對Sora視頻生成模型的技術綜述文章取了“視頻生成模型作為世界模擬器video generation models as world simulators”的題目,可見其宏大的願景。既然模擬世界,就繞不開萬事萬物的長程時間關聯或者因果關係,非馬爾可夫性不可避免會製造棘手的麻煩。
05
Sora的前景與未來
Sora和Lumiere等文生視頻模型其實就是大模型從側重空間關聯轉向了加強時間關聯。也就是從筆者上圖中“非時間維度子空間”的信息提取,轉向側重學習和表徵“狀態空間的動態性”及處理“非馬爾可夫性”。通過海量視頻中對時空碎片的動態關聯的學習,目前看文生視頻大模型可以學到可視層面或者表面意義上的SSM,此種意義上,SAMBA之類的SSM模型應該可以殊途同歸。
然而僅僅從時空碎片的表象上是獲取不到足夠捕獲其內在規律的信息的,未來人類科學家們可以將他們長期殫精竭慮探索的領域,包括但不侷限於物理化學生物等等學科的範疇,可視化為圖像或視頻,交給視頻生成大模型去學習,輔助發現其中藴含的潛在規律。
Sora開了一個好頭,或者説史詩級的把視頻生成模型泛化成了物理引擎。把LLM GPT加視頻生成模型Sora推到實時,就接近或達到人類的感知水平了。今後重要任務是處理好感知到概念體系的認知跨越,也就是處理好生成過程採樣和變分推斷的合理性。
普林斯頓和DeepMind科學家已經開始用隨機圖來解釋大模型湧現出來的新能力,與筆者去年9月整理過的“範疇的相變與知識的形成”不謀而合。處理好大模型感知到認知的跨越,不僅僅使得AI4Science領域迎來重大突破,Artificial Super Intelligence人工超級智能也將指日可待。
參考文獻
[1]https://openai.com/research/video-generation-models-as-world-simulators
[2]Scalable diffusion models with transformers, https://arxiv.org/abs/2212.09748
[3]https://ml.cs.tsinghua.edu.cn/~fanbao/Application-DPM.pdf
[4]Lumiere: A Space-Time Diffusion Model for Video Generation https://arxiv.org/pdf/2401.12945.pdf
[5]Across Scales & Across Dimensions: Temporal Super-Resolution using Deep Internal Learning https://arxiv.org/abs/2003.08872
本文經授權轉載自微信公眾號“清熙”,原題目為《解讀OpenAI Sora文生視頻技術原理》。
特 別 提 示
1. 進入『返樸』微信公眾號底部菜單“精品專欄“,可查閲不同主題系列科普文章。
2. 『返樸』提供按月檢索文章功能。關注公眾號,回覆四位數組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。