Neural Ordinary Differential Equations(NIPS2018)
我們引入了一個(gè)新的深度神經(jīng)網(wǎng)絡(luò)模型家族。我們不指定隱藏層的離散序列,而是使用神經(jīng)網(wǎng)絡(luò)參數(shù)化隱藏狀態(tài)的導(dǎo)數(shù)。利用黑盒微分方程解算器計(jì)算網(wǎng)絡(luò)的輸出。這些連續(xù)深度模型具有恒定的存儲(chǔ)成本,根據(jù)每個(gè)輸入調(diào)整其評(píng)估策略,并且可以明確地用數(shù)值精度換取速度。我們?cè)谶B續(xù)深度殘差網(wǎng)絡(luò)和連續(xù)時(shí)間潛變量模型中證明了這些性質(zhì)。我們還構(gòu)建了連續(xù)規(guī)范化流程,這是一個(gè)可以通過最大似然進(jìn)行訓(xùn)練的生成模型,無需對(duì)數(shù)據(jù)維度進(jìn)行劃分或排序。為了進(jìn)行培訓(xùn),我們展示了如何通過任何ODE求解器進(jìn)行可伸縮的反向傳播,而不需要訪問其內(nèi)部操作。這允許在較大的模型中進(jìn)行端到端ode訓(xùn)練。
從序列變換到神經(jīng)微分方程
多神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)(如 RNN 或殘差網(wǎng)絡(luò))包含重復(fù)的層塊,這些層塊能夠有序保留信息,并通過學(xué)習(xí)函數(shù)在每一步中對(duì)其進(jìn)行更改。一般來說,這種網(wǎng)絡(luò)可以用下面的方程來描述:?
?
?因此,ht?是時(shí)間步長 t 的hidden信息,f(ht,θt)是當(dāng)前隱藏信息和參數(shù)θ的學(xué)習(xí)函數(shù)
當(dāng)我們添加更多的層、每一步更小的時(shí)候會(huì)發(fā)生什么?在極限的情況下,我們參數(shù)化隱藏神經(jīng)元的連續(xù)動(dòng)態(tài)(continuous dynamics),并使用一個(gè)神經(jīng)網(wǎng)絡(luò)指定的 ordinary differential equation (ODE):
?
?這個(gè)值可以由一個(gè)黑箱微分方程求解器計(jì)算,它評(píng)估隱藏神經(jīng)元?jiǎng)恿W(xué)f ff在任何需要的地方求解符合精度要求的解.
我們將ODE求解器視為一個(gè)黑盒,并使用伴隨法計(jì)算梯度。這種方法通過在時(shí)間上反向求解第二個(gè)增強(qiáng)的ODE來計(jì)算梯度,并且適用于所有的ODE求解器。這種方法隨問題的大小線性擴(kuò)展,具有較低的內(nèi)存成本,并顯式地控制數(shù)值誤差。
?
?
這個(gè)數(shù)量伴隨著 ODE 的增加。?
?
?
?所有這三個(gè)積分都可以在一個(gè)ODE解算器的調(diào)用中計(jì)算出來,它將原始狀態(tài)、伴隨和其他偏導(dǎo)數(shù)連接到一個(gè)單獨(dú)的向量。
連續(xù)歸一化流
它們可以通過一系列非線性變換將簡單的概率密度轉(zhuǎn)換為復(fù)雜的概率密度,正如在神經(jīng)網(wǎng)絡(luò)中一樣。因此,它們利用分布中的變量轉(zhuǎn)換公式(類似于變分)
?
?
?
?
歸一化流的一個(gè)常見應(yīng)用是變分自動(dòng)編碼器(VAE),它通常假定潛在變量是高斯分布的。這一假設(shè)使得 VAE 的輸出結(jié)果變差,因?yàn)樗辉试S網(wǎng)絡(luò)學(xué)習(xí)所需的分布。對(duì)于歸一化流,高斯參數(shù)可以在「解碼」之前轉(zhuǎn)換成各種各樣的分布,從而提高 VAE 的生成能力
通過 ODE 生成時(shí)間序列模型?
本文提到的第三個(gè)應(yīng)用(可能是最重要的應(yīng)用),是通過 ODE 進(jìn)行時(shí)間序列建模。作者開始這項(xiàng)工作的動(dòng)機(jī)之一是他們對(duì)不規(guī)則采樣數(shù)據(jù)的興趣,如醫(yī)療記錄數(shù)據(jù)或網(wǎng)絡(luò)流量數(shù)據(jù)。這種數(shù)據(jù)的離散化常常定義不明確,導(dǎo)致某些時(shí)間間隔內(nèi)數(shù)據(jù)丟失或潛在變量不準(zhǔn)確。有一些方法將時(shí)間信息連接到 RNN 的輸入上,但這些方法并不能從根本上解決問題。
?
我們提出了一個(gè)連續(xù)時(shí)間,生成的方法建模時(shí)間序列。我們的模型用一個(gè)潛在的軌跡來表示每個(gè)時(shí)間序列?
?神經(jīng)網(wǎng)絡(luò)函數(shù) f 負(fù)責(zé)計(jì)算從當(dāng)前時(shí)間步長開始的任何時(shí)間 t 處的潛伏狀態(tài) z。該模型是一個(gè)變分自動(dòng)編碼器,它使用 RNN 在初始潛伏狀態(tài) z0?下編碼過去的軌跡(在下圖中為綠色)。與所有變分自動(dòng)編碼器一樣,它通過分布的參數(shù)(在本例中,滿足均值為μ、標(biāo)準(zhǔn)差為σ的高斯分布)來捕獲潛在狀態(tài)分布。從這個(gè)分布中,抽取一個(gè)樣本并由 ODESolve 進(jìn)行處理。
?使用ode作為生成模型允許我們?cè)谶B續(xù)的時(shí)間線上對(duì)任意時(shí)間點(diǎn)t1…tM做預(yù)測
?
?
結(jié)論
本文提出了一種非常有趣和新穎的神經(jīng)網(wǎng)絡(luò)思維方法。這可能是一篇開啟深度學(xué)習(xí)新進(jìn)化的里程碑式論文。我希望隨著時(shí)間的推移,越來越多的研究人員開始從不同的角度來思考神經(jīng)網(wǎng)絡(luò),正如本文所做的那樣。
文中的方法是否確實(shí)適用于現(xiàn)有的各種模型、是否會(huì)被時(shí)間證明是有效的,仍有待觀察。作者也提到了他們方法的一些局限性:
-
小批量可能是這種方法的一個(gè)問題,然而作者提到,即使在整個(gè)實(shí)驗(yàn)過程中使用小批量,評(píng)估的數(shù)量仍然是可以管理的。
-
只有當(dāng)網(wǎng)絡(luò)具有有限的權(quán)值并使用 Lipschitz 非線性函數(shù)(如 tanh 或 relu,而不是階躍函數(shù))時(shí),才能保證 ODE 解的唯一性。
-
前向軌跡的可逆性可能會(huì)受到前向模式求解器中的數(shù)值誤差、反向模式求解器中的數(shù)值誤差以及由于多個(gè)初始值映射到同一結(jié)束狀態(tài)而丟失的信息的綜合影響。
作者還提到,他們的方法是不唯一的,殘差網(wǎng)絡(luò)作為近似的 ODE 求解器的想法已經(jīng)過時(shí)了。此外,還有一些論文試圖通過神經(jīng)網(wǎng)絡(luò)和高斯過程來學(xué)習(xí)不同的方程。
本文提出的方法的一個(gè)重要優(yōu)點(diǎn)是,在評(píng)估或訓(xùn)練過程中,通過改變數(shù)值積分的精度,可以自由地調(diào)節(jié)速度和精確度之間的平衡。此外,該方法也非常適用(只要求神經(jīng)網(wǎng)絡(luò)的非線性是 Lipschitz 連續(xù)的),并且可以應(yīng)用于時(shí)間序列建模、監(jiān)督學(xué)習(xí)、密度估計(jì)或其他順序過程。
總結(jié)
以上是生活随笔為你收集整理的Neural Ordinary Differential Equations(NIPS2018)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式数据存储
- 下一篇: 工作学会9句话,升职加薪变股东