可視化線性修正網路:看Fisher-Rao範數與泛化之間的關係
選自inFERENCe
作者:Ferenc Huszár
機器之心編譯
參與:程耀彤、思源
深度模型的泛化性能一直是研究的主題。最近,Twitter 的機器學習研究員 Ferenc Huszár 發表了一篇文章專門討論泛化與 Fisher-Rao 範數之間的關係,它先分析了提出 Fisher-Rao 度量方法的論文,包括帶偏置項和不帶偏置項的分段線性網路的可視化,然後再討論了其它如 Fisher-Rao 範數是否會成為有效的正則化器等問題。
在上周發布的關於泛化之謎的文章之後,有研究者向我介紹了最近將 Fisher-Rao 範數度量與泛化聯繫起來的工作:
Tengyuan Liang, Tomaso Poggio, Alexander Rakhlin, James Stokes (2017) Fisher-Rao Metric, Geometry, and Complexity of Neural Networks:https://arxiv.org/abs/1711.01530
合著者 Sasha Rakhlin 的這篇關於泛化的簡短材料也是值得關注的,儘管我必須承認很多關於學習理論的引用都有所丟失。雖然我不夠理解第四節中所描述的有界性證明,但我想我已經理解了大概,所以我將嘗試在下面的部分總結要點。另外,我想補充一些圖表,它們能幫助我理解作者所使用的受限模型和這種限制引起的「梯度結構」。
基於範數的容量控制
本文的主要觀點與 Bartlett (1998) 的結果是一致的,他觀察到在神經網路中,泛化與權重的大小有強相關,而與權重的數量沒有多大關係。這個理論的基礎是使用諸如權值衰減、甚至提前終止等技術,因為兩者都可以被看作是保持神經網路權重向量有較小值的方法。根據一個神經網路權重向量的大小量級或範數而推理其泛化能力稱為基於範數的容量控制。
Liang 等人(2017)的主要貢獻是提出 Fisher-Rao 範數作為衡量網路權重有多大的指標,從而作為網路泛化能力的度量方法。它的定義如下:
其中 I 是 Fisher 信息矩陣:
Fisher 信息矩陣有很多形式,因此 Fisher-Rao 範數的形式取決於期望的分布情況。經驗樣本 x 和 y 都來自經驗數據分布。模型從數據中抽取樣本 x,若假定損失是概率模型的對數損失,那麼我們可以從這個模型中抽樣 y。
重要的是,Fisher-Rao 範數是依賴於數據分布的(至少是 x 的分布)。它在參數重設時也是不變的,這意味著如果有兩個參數 θ_1 和 θ_2 實現相同的功能,那麼它們的 FR 範數就是相同的。最後,這是一個與平坦度相關的度量,因為 Fisher 信息矩陣在某些條件下逼近損失函數的 Hessian 矩陣。
本論文主要觀點:
在不帶偏置項的修正線性網路中,Fisher-Rao 範數有一個更容易計算和分析的等價形式。
以前提出的其它用於限制模型複雜性的範數可以用 Fisher-Rao 來界定。
對於沒有修正的線性網路(實際上只是一個線性函數),Rademacher 複雜性可以用 FR 規範來界定,且邊界不依賴於層數或每層單元的數量。這表明 Fisher-Rao 範數可能是泛化性能非常好的間接度量方法。
作者沒有證明更一般模型的泛化邊界,但是該論文基於與其它範數的關係提供了直觀的論點。
作者還做了大量的實驗來展示 FR 規範如何與泛化性能相關聯。他們研究了一般 SGD 和 二階隨機法 K-FAC。他們研究了如果我們將標籤隨機地混合到訓練中會發生什麼,並發現最終解決方案的 FR 範數似乎能追蹤到泛化差距。
這裡仍然有一些未解決的問題,例如解釋是什麼具體使 SDG 選擇更好的極小值,以及該極小值如何伴隨著批量大小的增加而變化。
不帶偏置項的修正神經網路
我認為能在這篇論文中擴展的地方,就是作者研究特定模型類型(不帶偏置項的修正神經網路)的一些細節。這種限制最終保證了一些非常有趣的屬性,而不傷害網路的經驗性能(所以作者聲明並在一定程度上證明了這一點)。
首先我們可以可視化具有偏置項的修正多層感知器的輸出數據。我使用了 3 個隱藏層,每個層都有 15 個 ReLU 單元,並且使用了 PyTorch 默認的隨機初始化。網路的輸入是 2D 的,輸出是 1D 的,所以我可以很容易的繪製梯度的等高面:
圖 1:帶偏置項的修正神經網路
左圖顯示函數本身。它旁邊的圖分別顯示了該損失函數對 x_1 和 x_2 的梯度。該函數是分段線性的(這很難觀察,因為有很多的線性塊),這意味著梯度是分段恆定的(這在視覺上更明顯)。
f 的分段線性結構變得更加明顯,我們在 f 本身的等高面(紅—藍)上疊加了梯度的等值線圖(黑色)。
這些函數顯然非常靈活,通過增加更多的層數,線性塊的數量呈指數增長。重要的是,如果我把函數的輸出作為 θ 的兩個成員的函數繪製,保持 x 固定,上面的圖看起來非常相似。
現在讓我們看看當我們從網路中刪除所有的偏置項僅保留權重矩陣時會發生什麼:
圖 2:不帶偏置項的修正神經網路
哇,現在函數看起來很不一樣,不是嗎?在 x=0 時,它總是等於 0。它由楔形(或在更高維度,廣義金字塔形)區域組成,在這個區域中函數是線性的,但每個楔形的斜率是不同的。然而表明仍然是連續的。讓我們再來做一張疊加圖:
從這些圖中不太清楚,為什麼像這樣的函數能夠模擬數據,以及為什麼如果我們添加偏置項會得到更一般的分段線性函數。在高維上理解是有幫助的,因為高維度中兩個隨機採樣的數據點落入同樣的「pyramind」(即共享相同的線性區域)的概率是非常小的。除非你的數據有一定結構,使得對於很多數據點同時可能發生這種情況,否則我想你不需要擔心。
此外,如果我的網路有三個輸入維度,但是我只用兩個維度 x_1 和 x_2 來編碼數據並固定第三個坐標 x_3=1,我可以在我的輸入上實現相同類型的功能。這被稱為使用齊次坐標,而一個具有齊次坐標且不帶偏置項的網路在其所能建模的函數方面,幾乎與有偏置的網路一樣強大。下面是一個使用齊次坐標時,不帶偏置項的修正神經網路例子。
圖 3:不帶偏置項的修正神經網路,齊次坐標
這是因為第三個變數 x_3=1 乘以它的權重實際上成為了第一個隱藏層的偏置。第二個觀察結果是,我們可以將 f_θ (x) 作為特定層權重矩陣的函數,保持其它所有的權重和輸入相同,函數的行為與輸入是 x 時的行為完全相同。如果我把它繪製為一個權重矩陣的函數(即使權重矩陣很少是 2D 的,所以我不能真的把它繪製出來),在 f 中我們將觀察到相同的輻射形狀。
梯度結構
作者指出,這些函數滿足以下公式:
此外,我認為這些都是上述等式成立的唯一連續函數,但我把它留給聰明的讀者來證明或反駁。注意到網路輸入和權重矩陣之間的對稱性,可以建立一個關於參數 θ 的相似等式:
其中 L 是層級數。
為什麼是這樣的?
以下是我的解釋,與作者給出的簡單證明略有不同。正如討論的那樣,一個通常的修正線性網路對於 x 是分段線性的。當我們改變 θ 時,線性分段的邊界和斜率隨之改變。若我們固定 θ,那麼只要 x 和一些 x_0 落在相同的線性區域內,函數在 x 處的值等於它在 x_0 的泰勒展開式:
現在,如果我們不使用偏置項,所有的線段總是楔形的,並且它們在原點 x=0 處相遇。所以,我們可以把上述泰勒級數的極限作為 x_00 時的極限。(我們只能從技術上取極限,因為函數在 x=0 處不可微分。)因為 f_θ (0)=0,我們發現
就像我們想要的那樣。現在將 l 層的權重 θ (l) 視為後續層級網路的輸入,而將前一層的激活視為權重乘以這些輸入,我們可以推導出由 θ (l) 表示的類似公式:
對所有層 l=1…L+1 應用此公式,並取平均值,我們得到:
我們根據隱藏層 L 加上輸出層得到了 L+1 層。
Fisher-Rao 範數的表達式
使用上面的公式和鏈式法則,我們可以簡化 Fisher-Rao 範數的表達式:
在這種形式中我們可以很清楚地看出,Fisher-Rao 範數只取決於函數 f_θ (x) 的輸出和損失函數的性質。這意味著如果兩個參數 θ_1 和 θ_2 實現相同的輸入-輸出函數 f,他們的 F-R 範數將是相同的。
總結
我認為這篇文章對修正線性網路的幾何結構提出了一個非常有趣的見解,並強調了幾何學信息和基於範數的泛化之間的一些有趣的聯繫。
我認為目前缺少的是解釋為什麼 SGD 能夠找到低 F-R 範數的解決方案,或一個解決方案的 F-R 範數是如何被 SGD 的批量大小影響的(如果有的話)。另一個缺少的是 F-R 範數是否能夠成為一個有效的正則化器。似乎對於沒有任何偏置參數的特定類型網路,模型的 F-R 範數可以相對便宜地計算並作為正則化項加入損失函數,因為我們已經計算了網路的前向傳播。
原文地址:http://www.inference.vc/generalization-and-the-fisher-rao-norm-2/
本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。
------------------------------------------------
※如此普通的一副塑料框智能眼鏡,英特爾究竟是怎麼拿出手的?
※情緒激動的陸奇在CES發布阿波羅2.0
TAG:機器之心 |