Essentially No Barriers in Neural Network Energy Landscape

Draxler F, Veschgini K, Salmhofer M, et al. Essentially No Barriers in Neural Network Energy Landscape[C]. international conference on machine learning, 2018: 1308-1317.

梗概

作者認爲, 神經網絡中,假設θ1,θ2\theta_1, \theta_2都是使得損失達到最小的參數,那麼通過一些手段,可以找到一個路徑(path),沿着這條路徑,其上的θ\theta也會使得損失很小,幾乎與最小沒什麼區別.

並且作者給出瞭如何尋找,以及一種擴展方式.

可惜的是,這些都只是猜想,有許多事實支撐,但缺乏理論論證.

在這裏插入圖片描述

主要內容

path的定義

p(θ1,θ2)=argminp from θ1 to θ2{maxθpL(θ)}. p(\theta_1, \theta_2)^*= \mathop{\mathrm{argmin}} \limits_{p \: from \: \theta_1 \: to \: \theta_2} \{\max_{\theta \in p} L(\theta)\}.

可以說,這個定義非常之簡單粗暴了.

需要一提的,作者是θp(θ1,θ2)\theta \in p(\theta_1, \theta_2)^*中使得L(θ)L(\theta)到達最大的點爲鞍點,不過我不知道該怎麼證明.

稱此路徑爲MEP(minimum energy path).

path的逼近

上面的那個問題自然是很難求解的,所以不得不去尋找一個替代.

Mechanical Model

假設已經有一組點pip_i(N+2)個, p0=θ0,pN+1=θ2p_0=\theta_0, p_{N+1}=\theta_2, 考慮下式:
E(p)=i=1NL(pi)+i=0N12kpi+1pi2, E(p)=\sum_{i=1}^N L(p_i) + \sum_{i=0}^N \frac{1}{2}k\|p_{i+1}-p_i\|^2,
其中,kk是人爲設定的值.

kk很小的時候,高能量(損失)的點之間的距離會拉大. 關於這個論點我有一點存疑,因爲我覺得如果kk真的很小很小,那麼pip_i應該會縮在一起吧,比如倆端. 當kk過大的時候,路徑會被縮短和拉緊(像彈簧),這點我是認同的,因爲p0,pN+1p_0, p_{N+1}之間的線段會最短,這個肯定是不會太好的,因爲會錯過"鞍點".

Nudged Elastic Band

一個改進的版本是:
Fi=piE(p)=FiL+FiS, F_i = -\nabla_{p_i} E(p)=F_i^L+F_i^S,
即把E(p)E(p)分成了倆個部分, 進一步:
FiNEB=FiL+FiS. F_i^{NEB}=F_i^L|_{\perp}+F_i^S|_{\parallel}.
也就是說,認爲第一部分L(pi)\sum L(p_i)只提供一個垂直的力,而剩下的一部分只提供一個平行的力,就像一根彈性繩一樣,一方面有一個上下拉扯的力,另一方面有一個水平伸縮的力.

在這裏插入圖片描述

在這裏插入圖片描述

其中τ^i\hat{\tau}_i是路徑的切線方向. 如何定義這個方向呢:

在這裏插入圖片描述
N(x)\mathcal{N}(x)xx歸一化.

作者說,這麼做,使得不會出現拉緊的情況了,值得商榷.

算法:

在這裏插入圖片描述
我奇怪的一點是,爲什麼更新pip_i的時候,只受到FiLF_i^L|_{\perp}的作用,切線方向的力呢?

還有一個AutoNEB, 這個算法就是上面的擴展,使得我們自動增加點pip_i.
在這裏插入圖片描述

局部最優

作者說,通過上面的算法,往往會找到局部最優的MEP,但是呢,通過某些方法,我們也能使得這些局部最優顯得可靠.

假設A,B,CA, B, C三個點,代表了三個最小的參數點, 而且我們有了局部最優的路徑LAB,LBCL_{AB}, L_{BC}, 那麼:
在這裏插入圖片描述
這個結論是顯然的, 另外:

在這裏插入圖片描述
這個什麼意思呢,就是ABCA\rightarrow B \rightarrow C也是ACA \rightarrow C的一個路徑,所以自然有上式成立.

這個有什麼用呢?

假設我們有很多個最小值點t1,,tNt_1, \ldots, t_N, 先利用算法找到t1t_1t2,,tNt_2, \ldots, t_N的路徑,這個就像一棵樹(論文用樹來表示,其實圖更恰當吧). 可能絕大部分都是局部最優的,如何判斷這些局部最優的優劣性. 首先,選出每一條路徑中的最大能量點(“鞍點”)c2,,cNc_2, \ldots, c_N, 不妨設t1tkt_1 \rightarrow t_k的路徑擁有這些點中最大的,也就是最壞的一個路徑. 我們可以試着從tkt_k往其它的尋找路徑,如果能夠找到一個路徑(假設爲tjt_j), tktjt_k \rightarrow t_j, 使得t1tjtkt_1 \rightarrow t_j \rightarrow t_k比直接t1tkt_1 \rightarrow t_k更優,那麼我們就找到一個更好的路徑,將其替換,以論下來,再對次劣的進行操作…
這樣子,我們就能夠有足夠的理由相信,這些局部最優的路徑是可靠的.

在這裏插入圖片描述

在這裏插入圖片描述

經過實驗,作者發現,越深,越寬(每層的神經元個數)的網絡,最優點之間的MEP越會展現出無障礙平坦的性質,即普遍的小損失.

如果確實如此,那麼我們就容易構造一族解,這樣網絡就更靈活了不是?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章