神經 ODE 的實際用途是什麼?
陳天琪、Yulia Rubanova、Jesse Bettencourt 和 David Duvenaud 合著的“Neural Ordinary Differential Equations”榮獲NeurIPS 2018 年最佳論文獎
在那裡,作者提出了 NeuralODE,這是一種融合微分方程和神經網絡概念的方法。借鑒以前的文獻並貢獻新的發展,例如,NeuralODE 可以在其正向傳遞中使用微分方程求解器,並且仍然保持可計算的反向傳遞。
論文中的兩個例子確實引起了媒體的關注,我認為它們是關於基於流的生成建模以及 ResNet 跳躍連接深度和 NeuralODE 函數評估數量之間的偽等價(更多信息請參見:What is the David Duvenaud 的 Neural ODE 論文中的連續深度概念?)。
因此,為簡潔起見,需要就它們的實際使用方式提出兩個問題(我很驚訝我們在 CV 中還沒有):
- NeuralODE 是否有“傳統”神經網絡無法做到的事情?連續時間計算?“無限”“深度”計算?
- 是否有一些“常規”神經網絡可以做到 NeuralODE 無法做到的事情?
TL;DR:對於時間序列和密度建模,神經 ODE 提供了一些我們不知道如何獲得的好處。對於普通的監督學習,有潛在的計算優勢,但出於實際目的,它們可能還不值得在那種環境中使用。
要回答您的第一個問題:
NeuralODE 是否有“傳統”神經網絡無法做到的事情?
神經 ODE 在兩個方面與標準網絡不同:
- 它們代表一組不同的函數,根據您的建模內容,它們可能是好是壞。
- 我們必須逼近他們的精確解,這為如何計算答案提供了更多自由,但增加了複雜性。
我想說神經 ODE 幫助的最清晰的設置是構建連續時間序列模型,它可以輕鬆處理不規則間隔的數據。然而,ODE 只能模擬確定性動力學,所以我對將這些時間序列模型推廣到隨機微分方程感到更加興奮。如果您正在對定期採樣的數據(如視頻或音頻)進行建模,我認為沒有太大優勢,標準方法可能會更簡單、更快。
他們具有優勢的另一個設置是為密度建模構建規範化流。標準化流的瓶頸是跟踪密度的變化,這對於標準網絡來說是緩慢的 (O(D^3))。這就是為什麼像 Glow 或 Real-NVP 這樣的離散時間歸一化流模型必須限制其層的架構,例如僅根據另一半更新一半的單元。在連續時間內,更容易跟踪密度的變化,即使對於不受限制的架構也是如此。這就是FFJORD論文的內容。從那時起,開發了剩餘流,它們是離散的時間流,也可以處理不受限制的架構,但有一些警告。
對於標準深度學習,有兩個潛在的巨大優勢:
- 訓練時的恆定內存成本。在神經 ODE 之前,已經有一些工作表明,如果我們可以從輸出“反向運行”神經網絡,我們可以降低計算神經網絡反向模式梯度的內存成本,但這需要限製網絡的架構。神經 ODE 的好處在於,您可以簡單地向後運行它們的動力學來重建原始軌跡。在這兩種情況下,複合數值誤差在某些情況下可能是一個問題,但我們認為這不是一個實際問題。
- 自適應時間成本。這個想法是,由於我們只是近似一個精確的答案,有時我們可能只需要我們的近似求解器的幾次迭代就可以得到一個可以接受的好答案,因此可以節省時間。
Deep Equilibrium Models共享這兩個潛在優勢,並且它們已經擴展到變壓器。但是在這兩種情況下,到目前為止,這些模型在實踐中總體上都比標準網絡慢,因為我們還不知道如何將這些模型正則化以易於近似。
回答你的第二個問題:
是否有一些“常規”神經網絡可以做到 NeuralODE 無法做到的事情?