不只是預測:動力學學習中「記憶」的五重境界

圖片

導語

從Takens嵌入定理到Koopman算子,從RNN、Transformer到Neural ODE與TimeGPT,時間序列預測的發展史本質上是一部「機器學習記憶」的進化史。近日,集智學園張江老師系統梳理了動力學學習的發展脈絡,揭示了一個貫穿半個世紀的核心問題:機器究竟該如何表示過去,才能預測未來?文章以「記憶」為主線,串聯動力系統理論、深度學習與基礎模型的發展歷程,展示了人工智慧如何從數據中自動發現複雜系統的演化規律,並逐步邁向跨領域、跨系統的通用預測能力。

關鍵詞:動力學學習、時間序列預測、RNN、Transformer、擴散模型、複雜系統

圖片
付雯欣丨作者

引言:從「拍腦袋建模」到「數據驅動發現」,我們用記憶讓機器學會預測複雜世界

預測,是人類最古老也最前沿的智力活動。遠古先民觀察星象預測四季,牛頓用萬有引力定律預測行星軌道,現代科學家用超級電腦預測氣候變遷,這些預測的本質是相同的:從推斷出的已知模型推演未知的未來。

然而,隨著觀測手段的爆炸式發展(如衛星遙測、腦電記錄、物聯網感測器),我們往往擁有海量時間序列數據,卻對背後的動力學機制知之甚少。於是問題被顛倒過來:給定觀測數據,能否自動推斷出系統的演化規則?

這就是動力學學習——讓機器從觀測數據中,自動發現系統演化的規則。

2025年,這個方向迎來了兩個標誌性時刻。微軟的 Aurora 模型用一個統一框架同時預測颱風軌跡、空氣污染和海浪高度,論文登上《Nature》。與此同時,TimeGPT 把千變萬化的時間序列預測任務塞進一個預訓練模型,實現了零樣本預測。

這些驚豔的模型是半個世紀以來一代代研究者反覆追問同一個問題的結果:

「現在」到底要被記成什麼樣子,「未來」才能從中自然地長出來?

這個問題聽起來抽象,但它就是整條演進路線的暗線。本文把它叫做「對記憶的追問」,即模型(或數學框架)用什麼方式來表示過去和現在的狀態(處理記憶),又用什麼方式來預測未來(運用記憶),並把這個過程總結為以下五個階段,對應文章的五個章節。

圖片

一、記憶有用嗎?——Takens 定理:過去的觀測裡藏著完整的世界

1.1 正問題與反問題

要理解動力學學習在做什麼,首先要分清兩個方向相反的問題。

正問題是傳統的思路:已知系統的演化方程式,給定初始狀態,求未來的軌跡。比如天體物理中已知行星的運轉規律,給定今天的位置和速度,就能算出明天在哪裡。數學上寫為:

圖片

其中 image.png 是系統在時刻 t 的狀態向量(可能包含 n 個節點或變數的值),F 是已知的演化規則。把 s0 代入 F,得到 s1;再代入,得到 s2——如此遞推,整條軌跡就出來了。

反問題是現實世界裡更常見的情形:F 是未知的。我們只能觀測到系統運行產生的數據,任務是從這些數據中,把隱藏的 F 學出來。

圖片

學到的 image.png 就是原始系統的替代模型(surrogate model)。有了它,我們就能做預測(給定歷史推未來)、模擬(在不同初始條件下看系統如何演化)、甚至最佳化和控制(找到最優的干預策略)。

這裡有一個關鍵的思維轉換:我們的最終目標是學到 F,但實現手段是構造一個監督式學習問題——預測下一個時間步

圖片

訓練一個參數為 θ 的模型 fθ,讓它能夠從上一時刻的狀態預測下一時刻的狀態。如果預測足夠準確,那麼 fθ 就是對真實動力學 F 的一個好的近似。

圖片

圖1:正問題(從右向左)是從模型推數據,反問題(從左向右)是從數據推模型

圖1是對正反問題的一個圖示,表面上我們在做預測,實際上我們在做的是建模,學到動力學規律才是目的。

1.2 從一步到多步:隱變數與長程記憶

前面的例子做的實際上是一步預測,而一步預測的假設是馬可夫性:下一時刻只依賴於當前時刻。但真實系統往往不滿足這個假設。原因在於隱變數(latent variables)。所觀測到的變數可能只是系統狀態的一部分——還有一些維度是看不見的,這些更可能是真實的原因或者影響力更強的變數,類似於我們能很容易地觀察到其他人的外顯行為表現,但不知道他腦子裡在想什麼,也不知道這是如何演化而來的。

這些看不見的維度在暗中影響著系統的演化,體現在可觀測數據上,就是長程記憶性:今天的狀態不僅依賴於昨天,還可能依賴於一週前、一個月前。這時候一步預測就不夠了,需要構造多步預測問題:

圖片

輸入變為過去 T 步的歷史,輸出則是未來 τ 步的預測。這個框架更貼近真實場景,也是後續Transformer等架構大顯身手的舞台。

1.3 Takens定理:用歷史重構相空間

隱變數的存在看似讓問題無解——觀測不到完整狀態,怎麼可能學到真實動力學?Takens定理[1](嵌入定理)給出了一個令人驚喜的理論:一個變數的歷史包含了其他隱變數的資訊。

例如,今天的溫度、昨天的溫度、前天的溫度——這些延遲值裡隱含了氣壓、濕度等沒直接測量的變數的資訊。Takens定理保證了這種資訊的充分性,如圖2所示,Takens定理指出,即使只能觀測到系統的一個純量輸出 x(t),只要把它的時延嵌入(delay embedding)排成向量:

圖片

只要觀測函數足夠「通用」,即當嵌入維度 d 足夠大時(具體地,d > 2n,其中 n 是系統的真實維度),這個重構的相空間與原始相空間拓撲等價,或者通俗點說,雖然只盯著一個變數看,但如果你看得夠久,這個變數留存的記憶足以讓你重構出整個系統的動力學結構。

圖片

圖2:Takens定理的核心思想:僅通過洛倫茲系統一個維度(如 x(t))的時間序列,經過時間延遲嵌入,即可與完整三維系統(x(t), y(t), z(t))的吸引子建立微分同胚關係。

*註:微分同胚是指兩個光滑流形之間存在一個雙射映射,使得該映射及其逆映射都是光滑(無限次可微)的,從而表明這兩個流形具有相同的光滑結構。可以理解為,兩個形狀不僅能被像橡皮泥一樣捏來捏去變成對方(拓撲同胚),而且整個變形過程平順滑順、沒有任何尖角褶皺和撕裂——就像把甜甜圈柔順地揉成咖啡杯,沒有粗暴地折出稜角一樣。

這意味著:動力學資訊並不神秘,它就藏在時間序列的時序關聯之中。 這一思想為後來的所有時間序列預測方法奠定了哲學基礎——過去包含著未來的種子。

1.4 本節小結

這一節回答了一個最基本的問題:僅憑觀測數據,學習動力學規律這件事,在理論上到底可不可能?

答案是肯定的,但是記憶的存在讓事情看起來棘手了:我們觀測到的可能只是冰山一角,真正驅動系統的變數藏在水面之下,今天的天氣不只取決於昨天,可能還取決於一週前大洋上空的氣壓分佈。

Takens 定理在這個看似絕望的地方給出了希望:你不需要看到所有變數,只需要看一個變數看得足夠久。 時間延遲本身就是一面鏡子,能把隱藏的維度映射出來,過去的記憶是重構完整世界的原材料。

但是,Takens 定理只保證了記憶有用,從有用到能用,中間還隔著一整套方法論。這就像有人告訴你「這座山裡一定有金礦」,但沒給你地圖,也沒給你鏟子。

下一節,我們就去找第一把提取記憶的鏟子:Koopman 算子會告訴我們,存在一種特殊的「眼鏡」,戴上它之後,整個非線性系統看起來就像線性的,而線性系統的預測,不過就是做矩陣乘法而已。

二、怎麼提取記憶?——Koopman 算子:換一副眼鏡,讓彎路變直路

2.1 Koopman算子:把非線性變線性

Takens告訴我們可以重構相空間,但重構之後,問題仍然棘手:真實系統幾乎都是非線性的,這意味著線性方法不能直接用。

但Koopman算子理論(1931年提出,近年被重新發現)[2]提供了一條繞行路線:在函數空間中,非線性動力學可以被一個線性算子描述。關於Koopman算子,蘭岳恆老師在集智學園有更深入的介紹,感興趣的小夥伴可以進一步了解:https://pattern.swarma.org/study_group_issue/747

Koopman算子提供了一個天才的迂迴策略:非線性系統在有限維空間中難以處理,但如果把它提升到無限維的函數空間,它的演化可以變成線性的。具體來說,Koopman算子定義在系統的觀測函數上。假設系統狀態 x 按照非線性規則 xt+1 = F(xt) 演化。對於任意一個觀測函數 g(比如「取溫度值的平方」),Koopman算子 image.png 定義為:

圖片

它把函數 g 在當前狀態的值,映射為 g 在下一時刻狀態的值。即使在有限維空間 F 是非線性的,image.png作為函數空間上的算子是線性的。而線性問題其實就是矩陣問題,有成熟的數學工具(特徵值分解、譜分析)可以用,這就是它的價值所在。

然而,這個方法的代價是函數空間變為無限維。在實際計算中,我們必須挑選一組有限的基函數來近似Koopman算子。這正是DMD及其變種做的事情。

2.2 DMD與eDMD:從數據中近似Koopman

理論上Koopman算子是無窮維的,實際計算中需要有限維近似。動態模態分解(Dynamic Mode Decomposition, DMD)就是做這件事的數值方法。如圖3所示,它的思路極其簡潔:給定時序數據矩陣 image.pngimage.png,是前者在時間上一步的平移),然後尋找一個線性算子 A 使得 Y≈AX。最小二乘解 image.png(†表示偽逆)就是對Koopman算子的有限維近似[3]。

通過數值方法求解 A 的特徵值和特徵向量,可以揭示了系統的主導動態模態——哪些模式在增長、哪些在衰減、振盪頻率是多少。比如在流體力學中,DMD的模態恰好對應流場中的渦脫落頻率;在腦電訊號分析中,DMD模態對應不同腦區的節律活動。

圖片

圖3:DMD從時間序列數據構建矩陣 X 和 X',通過計算 A = X' X 學習線性動力學算子,然後利用 xk+1 = A xk 進行未來狀態預測。

後來的擴展DMD(eDMD,Extended DMD) 則引入非線性基函數 ψ(s),不直接在原始狀態上做DMD,而先把狀態通過一組非線性基函數(如多項式、徑向基函數、或神經網路)提升到高維特徵空間,這本質上是在用「核技巧」的思路逼近Koopman算子[4]。

2.3 儲備池計算:固定隨機網路的奇蹟

如果說Koopman方法是從「升維線性化」的數學路徑逼近動力學,儲備池計算(Reservoir Computing) 則從「高維隨機表示」的工程路徑給出了答案。如圖4所示,它的核心思想也很簡單:用一個固定的、隨機初始化的遞歸神經網路作為「儲備池」,只訓練最後的輸出層[5-7]。

因為Koopman算子理論實際上是一種高維隨機投影,所以直覺上來說,一個足夠大的、具有適當耗散性質的隨機遞歸網路,天然形成了一個「隨機特徵庫」,輸入訊號在高維空間中被展開成多樣化的瞬態響應模式,然後線性組合就能逼近任意的非線性函數[8]。

圖片

圖4:儲備池計算的基本架構:輸入訊號 xin 進入一個高維、隨機連接且固定的循環儲池(Reservoir),其內部狀態 x1, x2, ..., xN 透過線性加權求和得到輸出 image.png,只有輸出層的權重 wi 需要訓練。

儲備池的隨機遞歸連接為輸入訊號提供了豐富的非線性變換和記憶能力。只要儲備池足夠大、連接足夠豐富,它就能把輸入訊號「展開」到一個高維空間中,使得簡單的線性輸出層就能完成複雜的預測任務。同時,儲備池方法因其訓練極快(只最佳化輸出層)、適合混沌系統(隨機性質本身具備混沌系統的某些特性)而長盛不衰。Lorenz系統、Kuramoto-Sivashinsky方程式等經典混沌系統上,儲備池能以極低的運算成本實現超越許多深度模型的長期預測能力[9-10]。

2.4 本節小結

既然 Takens 定理保證了有用的記憶資訊就藏在歷史觀測裡,那我們怎麼把它提取出來?答案是一個優雅的迂迴策略:不要硬碰非線性,換一副眼鏡,讓彎路變成直路。

Koopman算子的核心洞見就是這樣:一個在有限維空間中扭曲翻轉的非線性系統,如果你願意跳到一個更高維(甚至無窮維)的函數空間中去觀察它,它的演化就變成了線性的。

DMD和eDMD是這套理論的數值實現,用有限維基函數近似無窮維 Koopman 算子,儲備池計算則從一個完全不同的方向抵達了相似的目的地,即不必精心設計基函數,使用一個隨機初始化的大規模遞歸網路來提供足夠豐富的高維展開空間。

但這條路有一個天花板:基函數需要人來選擇。當系統足夠複雜(幾百個變數、高度非線性的耦合、多尺度的時間結構),沒有人能保證哪組基函數是對的。

下一節,我們將介紹如何讓模型學會自主決定怎麼記憶。

三、讓模型自己學會記憶:RNN、CNN與Transformer

隨著觀測手段的爆炸式發展,我們可以擁有的數據越來越多,衛星圖像、腦電訊號、感測器讀數,就算是最頂尖的科學家,也根本來不及為每一個新系統重新設計觀測函數。這引出一個大膽的問題:能不能讓模型自己學怎麼記憶?

這其實就是反向傳播所做的事情,梯度下降讓模型能夠「自主」學習如何壓縮資訊、如何遺忘雜訊、如何提取規律。最樸素的方法是用前饋神經網路直接擬合映射 image.png,把過去時刻的值作為輸入,直接回歸下一個時刻。只要神經元足夠多,它可以逼近任意函數。但問題在於,該方法沒有時序結構的先驗知識,它對 t-1 和 t-10 時刻的輸入一視同仁,參數數量隨著歷史視窗長度急劇膨脹。

3.1 RNN:從隱式記憶中學習

循環神經網路(RNN)的出現,讓動力學學習第一次「有了記憶」。如圖5所示,不同於前饋網路,RNN 隱層單元之間存在遞歸連接,使得網路能夠保存歷史資訊。對於時間序列預測,RNN 可以像微分方程式一樣遞歸地更新狀態[11]:

圖片
圖片

圖5:RNN結構(示例):編碼部分隱藏狀態 h0 到 h4 沿時間步遞歸傳遞,每個時刻接收輸入 x1 到 x4,並通過共享參數實現序列資訊的記憶與傳遞。

隱狀態就像一個記憶單元,理論上可以把過去所有時間步的資訊積累起來。但RNN有一個根本的結構性瓶頸:它是順序運算的——必須先算 h1,才能算 h2,再算 h3。這使得訓練無法並行化,在長序列上效率低下[12]。

另一個問題是記憶的衰減。早期RNN在反向傳播時,梯度會指數級消失或爆炸。1997年,Hochreiter和Schmidhuber提出了LSTM,用門控機制(輸入門、遺忘門、輸出門)讓網路自己決定什麼時候記、什麼時候忘[13–14],後來有學者提出其簡化版,即GRU[15],這些變體讓RNN能記住上百步之前的依賴。

RNN家族的最新成員,比如RWKV和Mamba,正在挑戰Transformer的統治地位。RWKV用注意力機制的形式配合RNN的結構,設計了一種可以像RNN一樣遞歸推理(線性複雜度)、同時可以像Transformer一樣並行訓練(通過時間維度的前綴和計算)的模型,這是對「記憶」的又一次重新定義[16-19]。

3.2 CNN:把時間當空間處理

卷積神經網路(CNN)對記憶的理解是局部的資訊對於判斷該局部的模式更有幫助,乍看之下,CNN是圖像數據的專屬。

一維卷積的操作很直觀:一個長度為 k 的卷積核 w,在時間序列上滑動,每一步計算內積:

圖片

通過堆疊多層卷積,感受野指數級增長。第 L 層的每個神經元,理論上能看到 kL 個原始時間步——既能保持局部性,又能覆蓋長程依賴。

這種技巧在週期性數據上很適用,可以把週期的規律升維處理,如圖6所示。比如電力負荷數據,它一般以24小時為週期,把多個週期「上下堆疊」成一張二維圖像:橫軸是時間(小時),縱軸是週期(天數),然後直接用二維CNN處理,就可以很直觀地處理不同週期內同一時間段的模式(如每天傍晚),這本質上是把時間週期性轉化成了空間週期性[21]。

圖片

圖6:CNN對時間序列建模的兩種方式:左邊為一維CNN直接處理原始序列,右邊通過Reshape將一維序列轉化為二維陣列,從而用二維CNN同時捕捉週期內模式與週期間的依賴關係。

CNN和RNN的選擇,本質上是並行性與記憶長度的權衡。CNN可以完全並行訓練(每個時間步的卷積計算獨立),但感受也受限於層數;RNN理論上能記住無限遠,但必須順序計算。這個權衡,直到Transformer才被打破。

3.3 Transformer:讓所有位置直接對話

Transformer的自注意力機制從根本上改變了序列建模的方式,它讓序列中任意兩個時間步之間直接建立聯繫[17]:

圖片

每個時刻都能「看到」所有其他時刻,長程依賴不再需要通過中間狀態間接傳遞。

但Transformer在時間序列預測上會有幾個問題。

第一個問題是複雜度。 標準自注意力的計算量是序列長度的平方,如輸入一千步,就需要百萬級的注意力分數。Informer論文發現,這些分數呈現「長尾分佈」:極少數幾對位置貢獻了絕大部分注意力,絕大多數接近於零,白白浪費算力。

Informer使用ProbSparse自注意力來降低計算量[22],通過一個採樣策略,只保留最重要的少數鍵值對,將複雜度從 O(L2)降到 O(L log L)。配合生成式解碼器一次輸出長序列,Informer讓長序列預測成為可能。

圖片

圖7:Informer模型中的嵌入與注意力模組:輸入序列在時間步 t 和 t + Dx 處經過嵌入(Embedding)和一維卷積處理,隨後通過多頭注意力機制以及多個注意力塊(如Attention Block 2)來捕捉長序列中的依賴關係,實現對長時間序列的高效預測。

第二個問題則更隱蔽。標準Transformer處理多變數時間序列時,預設的做法是把每個時間步的所有變數拼成一個token,即第t秒的「溫度、濕度、風速」和第t+1秒的「溫度、濕度、風速」互相關注。溫度和濕度在每一秒都被重新打包成同一個向量,模型不知道哪一維是溫度、哪一維是濕度,變數之間的因果關係(例如溫度上升導致濕度下降)只能通過時間步之間的注意力間接傳遞。

iTransformer方法做了一個看似「大逆不道」的改進:把Transformer的傳統用法倒過來[23]。如圖8所示,原來的方法是把「每個時間步的所有變數」當作一個token,iTransformer改為把「每個變數的整個時間序列」當作一個token。於是注意力從時間維轉移了變數維,模型直接學習溫度序列和濕度序列之間的關係,而不是第3秒和第4秒之間的關係。每個變數的時序模式,在嵌入空間中保留完整,由另一個分支(前饋網路)處理。這個反轉讓iTransformer能夠更好地建模多變量時序中的變數間相關性和變數內時序模式,在多個長序列預測基準上取得了顯著提升。

圖片

圖8:標準Transformer與iTransformer在處理多變量時間序列時的核心架構差異:傳統Transformer按時間步切分Token,iTransformer按變數切分Token,將注意力從「時間依賴」轉向「變數依賴」。

3.4 本節小結

從Koopman到RNN、CNN、Transformer,深度學習終於讓記憶從數學構造變成了可學習的對象,梯度下降賦予了模型一種能力:通過反覆試錯,自主學會什麼該記、什麼該忘、怎麼組織。

對於如何在有限的計算資源下,讓記憶覆蓋盡可能遠的過去,這三種深度學習方法給出了不同的權衡方案。RNN 選擇了深度(時間步越多,傳遞越深),CNN 選擇了寬度(層越多,視野越大),Transformer 選擇了直接連接(犧牲計算量換取更少的資訊衰減)。

而 Informer 和 iTransformer 的出現,說明即使在 Transformer 內部,最佳化也遠未結束。Informer 問的是「注意力裡有多少是浪費的」,iTransformer 問的是「注意力應該施加在哪個維度上」。這些追問的本質仍然是同一件事:如何讓記憶更高效、更精準。

但無論 RNN、CNN 還是 Transformer,它們有兩個共同的隱含假設:第一,時間是離散的格子;第二,同一段記憶只指向一個確定的未來。

下一節,我們將同時挑戰這兩個假設:擴散模型讓預測從一個點變成一片機率雲,Neural ODE 讓時間從離散變成連續。

四、讓記憶擁抱真實:擴散模型的不確定性與Neural ODE的連續性

4.1 擴散模型:把預測變為機率分佈

確定性預測只給一個點估計,但真實世界充滿不確定性,氣象台預測明天的溫度時,我們在手機上看到的也只是一個分佈。擴散模型(Diffusion Models)將機率生成的框架引入時間序列預測,輸出可能軌跡的分佈。

擴散模型(Diffusion Model)並非為時間序列而生,但它天然契合條件生成任務。例如經典的DDPM(Denoising Diffusion Probabilistic Model,去噪擴散機率模型)中,其正向過程逐步向數據注入雜訊,最終將其轉化為純隨機雜訊;而逆向過程則是一個「去噪生成」過程——從純雜訊出發,一步步還原出原始數據。DDPM的訓練目標是,預測每一步添加的雜訊,從而還原出從雜訊生成數據的過程[24]。

TimeGrad為例,它將DDPM與自回歸時間序列模型結合,在每個預測時間步,通過逐步去噪的過程生成預測值的分佈,量化了預測的不確定性,對風險決策(金融、氣象)尤為重要[25]。

4.2 殘差網路:一種增加幀數的方法

在進入Neural ODE之前,我們先來重新解讀一下殘差網路所做的工作。殘差網路是當年一個突破性的方法,將神經網路的層數大幅度提升,殘差網路(ResNet)的每一層做的事情是[26]:

圖片

網路不從頭學習下一層的表示,轉為學習當前層應該改變多少,即 「殘差」image.png,然後加到當前狀態上。這個設計讓梯度可以通過恆等捷徑(identity shortcut)無損地回傳,解決了深層網路的梯度消失問題,使網路可以深達數百層。

把ResNet的遞推式改寫為以下形式:

圖片

左邊是變化量,右邊是一個關於當前狀態的函數,可以發現這個公式很像微分方程式。

事實上,從數學的角度,連續微分方程式 image.png 的歐拉離散化正是:

圖片

當步長 Δt = 1 時,就是ResNet的形式。

這意味著:ResNet本質上是某個連續動力系統的歐拉離散化。 層數 t 對應時間,f 對應速度場,ht 對應時刻 t 的系統狀態。從這個角度來說,現在大家耳熟能詳的深度網路絕不是在一味地堆疊抽象層次,是在模擬一個連續時間的演化過程

這樣自然地引出一個問題:如果ResNet是離散化的微分方程式,為什麼不直接解連續方程式

4.3 Neural ODE:把「層」變成「時間」

2018年,陳天琦(Tian Qi Chen)等人發表了《Neural Ordinary Differential Equations》,即著名的Neural ODE(神經微分方程式)方法[27],它迅速獲得了大量引用,至今仍是將數學與深度學習融合得最優美的工作之一。如圖9所示,其核心思想極其簡潔:不要離散的層,直接讓隱藏狀態按照一個由神經網路參數化的微分方程式連續演化:

圖片

其中 fθ 是一個神經網路,參數 θ 與時間 t 無關,即每一時刻參數共享。給定初始狀態 h(0)(即網路的輸入),通過求解這個微分方程式,得到任意時刻的狀態。網路的輸出就是 h(T),其中 T 是所選擇的終止時間。該積分過程可以用任意數值ODE求解器(如歐拉法、龍格-庫塔法等)來計算:

圖片

這個看似只是把離散層變成連續積分的操作,一舉解決了ResNet遺留的全部三個問題:

第一,無窮深度,有限參數。 因為 fθ 的參數 θ 在所有層(時刻)之間共享,參數量不隨深度增長,可以被當作常數看待。如果把時間區間 [0, T] 分得任意細,相當於擁有任意多層,而儲存開銷並沒有增加。

第二,深度自適應。 ODE求解器(如自適應步長的Dormand-Prince方法)會根據動力學變化的劇烈程度自動調整步長——變化平緩時大步跳過(層數少),變化劇烈時小步精細積分(層數多)。網路的有效深度從需要預先指定超參數,轉為數據驅動式。

第三,連續時間建模。 層這個離散概念消失了,取而代之的是連續的時間 t。有了這個建模方式,就可以在任意時刻查詢系統狀態——不只是整數時間點,也包括 t = 1.2345 這樣的中間時刻。

圖片

圖9:殘差網路與 ODE 網路的核心差異:左側殘差網路通過有限層離散變換逐步映射狀態,層數 n 有限,輸入為 x0,輸出為 y,前向計算產生一系列離散激活值,損失為 L(y),通過反向傳播調整每層參數 Wi;右側 ODE 網路則定義了一個連續向量場 dz/dt = f(z, θ),狀態隨時間連續演化,理論上對應無限層,輸入為初始條件 z = z0,輸出為 T 時刻的解 z(T),前向計算產生連續軌跡 z(t),損失為 L(z(T)),通過伴隨方程式(Adjoint equation)調整參數 θ,而非逐層反向傳播。

4.4 伴隨方法:用微分方程式替代反向傳播

傳統深度網路的反向傳播需要儲存所有中間層的激活值:網路越深,記憶體越大。一個1000層的ResNet,就需要存1000層的中間結果。Neural ODE是將層數拓展到了無窮,那記憶體也要無窮大嗎?

伴隨靈敏度方法(Adjoint Sensitivity Method)解決了這個問題。它不儲存前向傳播的中間狀態,只通過求解一個「伴隨方程式」,即另一個ODE,來逆向計算梯度[28]。

具體地,定義伴隨狀態(adjoint state):

圖片

即損失函數 L 對時刻 t 隱狀態的梯度。可以證明,a(t) 滿足另一個微分方程式:

圖片

訓練過程變成:

  1. 前向:用ODE求解器從 h(0) 積分到 h(T),計算損失 image.png

  2. 反向:從終止條件 image.png 出發,逆向積分伴隨方程式(從 t = T 到 t = 0),同時累積參數梯度 image.png

整個過程不需要儲存前向計算的中間狀態,記憶體開銷也變為常數級,不隨深度增加。

圖片

圖10:伴隨方法的求解過程

這其實代表著,反向傳播本身就是一個動力學過程。 伴隨變數 a(t) 的逆向演化,與前向的隱狀態演化形成一對耦合的正向-反向微分方程式。整個訓練完全脫離了層的概念,變為解數學方程式。

4.5 Neural ODE做時間序列預測

Neural ODE天然適合時間序列預測,因為時間序列本身就是動力學系統在時間上留下的軌跡。

回到我們全文的核心任務:給定觀測序列 {s0, s1, …, sn},對應時刻 {t0, t1, …, tn}(可以不均勻取樣),學習驅動系統演化的動力學。用Neural ODE來做,步驟異常自然:

  1. 構建方程式image.png

  2. 初始條件:s(t0) = s0(觀測的初始狀態)

相關文章推薦

分享網址
AINews·AI 新聞聚合平台
© 2026 AINews. All rights reserved.