天天看點

黎曼流形學習的學習筆記(2):Neural Ordinary Differential Equations(來源:NIPS 2018 oral) (未完待續)

作者想解決的問題:這是一篇提出新模型的論文,把輸入和輸出當作微分方程在不同時刻的解,這樣做可以節省很多空間,因為不需要計算每一步的具體結果,隻需要儲存得到的函數。

思路:由于殘差網絡 (空間上) 和RNN單元 (時間上) 往往都是可以複用的,這裡使用ODE方程解出關于時間的方程,可以得到一連串的資料,與原有标簽進行對比,更新網絡後使得ODE方程的可以得到原有标簽的解。但是這篇文章主要是用Neural ODE網絡代替ResNet網絡,并不是全面替代MLP,CNN,RNN,這些基礎網絡依舊可以是Neural ODE的組成部分。

        有一個很大的誤區 (對我而言) 在于這裡神經網絡不再是去拟合資料本身,而是拟合資料的變化趨勢。但是這兩種方法屬于不分伯仲的地位,現在沒有很充分的證據說明拟合變化趨勢一定好,但是在序列類分布下的資料應該是有天然的優勢的。

給出殘差網絡和ODE的差別:

(來自這篇論文的海報)

黎曼流形學習的學習筆記(2):Neural Ordinary Differential Equations(來源:NIPS 2018 oral) (未完待續)

        殘差網絡的最終輸出就是神經網絡的輸出加上神經網絡的輸入,而ODE-Net的最終輸出則是神經網絡作為原函數在時間上 (深度上)的積分。注意這裡的ODE-Net不是簡單的相加,或者說不是有限的相加了。

        那麼下一個問題來了,怎麼去訓練他呢?直接更新參數就能得到符合變化趨勢的解了嗎?

        在一般的深度學習中,依賴的是随機梯度下降算法來更新參數,但是對于這裡的NODE方程往往是沒有解析解的,是以作者引入了伴随法進行求導,這個方法非常類似于拉普拉斯算法,利用了某個導數的特殊性質,因而跳過了一些求導過程。

進而引出本文中對我而言最重要的内容:Continuous Normalizing Flow, CNF。

還有一些寫的非常好的Neural ODE的筆記資料:

Understanding Adjoint Method of Neural ODE - 知乎

David Duvenaud · Bullshit that I and others have said about Neural ODEs · SlidesLive

對于Neural ODE的小研究_沖沖沖!-CSDN部落格

https://towardsdatascience.com/the-story-of-adjoint-sensitivity-method-from-meteorology-906ab2796c73

https://vaipatel.com/deriving-the-adjoint-equation-for-neural-odes-using-lagrange-multipliers/

繼續閱讀