我們在 ARC 的最新論文中研究了以下問題:給定一個隨機初始化的多層感知器,在不需要運行模型的情況下,透過機制性的方法產生模型在高斯輸入下預期輸出的估計值。對於寬模型而言,我們的法不論在理論或實踐上都比傳統的採樣方法更準確。
這篇文章涵蓋了與 Wilson Wu、George Robinson、Mike Winer、Victor Lecomte 和 Paul Christiano 的共同研究成果。感謝 Geoffrey Irving 和 Jess Riedel 對本文提出的建議。
在 ARC 的最新論文中,我們研究了以下問題:給定一個隨機初始化的多層感知器(MLP),如何估計該模型在高斯輸入下的期望輸出。處理此問題的通常方法是採樣許多可能的輸入,將它們全部運行過模型,然後取平均值。相反地,我們提出了一種「機械式」(mechanistically)的估計方法,甚至不需要運行模型一次。對於寬模型(wide models),無論在理論還是實踐上,我們的方法都能產生比採樣更準確的估計。
論文: Estimating the expected output of wide random MLPs more efficiently than sampling
代碼: mlp_cumulant_propagation GitHub repo
我們對這一結果感到興奮,因為這是朝向我們目標邁出的早期一步:即為任何經過訓練的神經網絡產生優於隨機採樣的機械式估計。如果將這個目標類比為數學歸納法證明,我們將此結果視為「基礎步驟」(base case)的一部分:處理初始化時的網絡。我們對「歸納步驟」(inductive step)已有願景,儘管我們預期那會困難得多。
在我們的論文中,我們考慮具有權重 $\theta$ 的 MLP $M_\theta : \mathbb{R}^n \to \mathbb{R}$,定義如下:
$$M_\theta(x) = W^{(L+1)} \phi(W^{(L)} \phi(\dots \phi(W^{(1)}x) \dots))$$
其中激活函數 $\phi$ 是逐元素應用的,默認採用 $\text{ReLU}(z) = \max(0, z)$。

我們的 ReLU MLP 示意圖。
估計算法接收 $\theta$ 和一個容差參數 $\epsilon$,目標是估計:
$$\mathbb{E}{x \sim \mathcal{N}(0, I)} [M\theta(x)]$$
使其誤差在 $\epsilon$ 左右。我們通過檢查算法在權重 $\theta$ 上的均方誤差來評估估計算法,這些權重的條目是從 $\mathcal{N}(0, 2/N)$ 中獨立隨機抽取的。^([1])
我們的基準是蒙地卡羅採樣(Monte Carlo sampling),它抽取 $k$ 個樣本,運行模型並平均結果。作為寬度 $N$ 和容差 $\epsilon$ 的函數(保持深度不變),在初始化的平均情況下,其均方誤差為 $\Theta(1/k)$,運行時間為 $\Theta(Nk)$。另一方面,我們表現最好的算法均方誤差為 $O(1/N^2)$,運行時間為 $O(N)$ —— 速度快了 $N$ 倍。^([2]) 這意味著對於任何給定的深度,當寬度足夠大時,我們的算法保證優於蒙地卡羅採樣,儘管我們的算法對深度的依賴性較差。^([3])
由於這一理論結果並未保證在特定寬度下的性能,我們實證檢驗了算法在現實寬度下的表現,觀察均方誤差與執行的浮點運算量(FLOPs)之間的關係。^([4]) 對於具有 4 個隱藏層、寬度為 256 的 ReLU MLP,我們最好的算法在跨越 7 個數量級的 FLOP 預算中均優於蒙地卡羅採樣,在某些情況下,使用不到 $10^{-5}$ 倍的 FLOP 即可達到相同的均方誤差。^([5])

我們最好的累積量傳播算法在估計具有 4 個隱藏層、寬度為 256 的隨機 ReLU MLP 均值時的表現。
或許更重要的是,我們的算法在分佈尾部的表現比在主體部分更優於蒙地卡羅採樣。對於低概率估計,當概率顯著低於 $1/k$($k$ 為樣本數)時,蒙地卡羅採樣基本上是無效的。另一方面,使用與 $k$ 個樣本的蒙地卡羅採樣相似的 FLOP 量,我們的算法有時能在比 $1/k$ 低 100 倍的概率下,實現低於 30% 的相對誤差。^([6])
最後,將我們的方法從網絡的期望輸出擴展到真實的損失函數是很直接的。我們針對兩個不同寬度網絡之間的簡單蒸餾損失(distillation loss)演示了這一點。由於我們的估計是可微的,我們可以使用對該蒸餾損失的估計來訓練學生網絡,我們稱此過程為「機械式蒸餾」(mechanistic distillation)。雖然我們目前的表現並未超越普通訓練,但這可作為使用機械式估計進行訓練的概念驗證。
我們對這些結果感到興奮,不僅是因為性能的提升,更因為我們的算法是「機械式」的:我們不是運行網絡多次並觀察其行為,而是直接從權重中讀取網絡的行為特性。如果我們能為前沿模型產生良好的機械式估計,我們應該能在訓練時捕捉到欺騙性對齊(deceptive alignment),即使模型在每個訓練輸入上的行為看起來都是良性的。
這可能為我們提供一種完全不同的模型訓練方式,以避免欺騙性對齊。我們不使用隨機梯度下降,而是將梯度下降應用於機械式估計,我們稱此過程為「機械式訓練」。即使機械式訓練的整體效率與普通訓練相當,它產生的模型在分配容量的方式上也會非常不同,因為機械式估計所產生的錯誤類型非常不同。因此,這些模型的泛化方式也會截然不同。
例如,考慮一個包含某種「危險」事件的損失函數,該事件極其罕見但損失極高。隨機梯度下降在訓練期間可能連一次都採樣不到該事件,導致模型完全不考慮該危險事件。另一方面,機械式訓練可以察覺到罕見事件可能如何發生,從而產生一個能更好避開該事件的模型(可能會以犧牲其他方面的性能為代價來分配容量)。如果我們擔心危險事件在分佈偏移下變得顯著更有可能發生,這一點就顯得尤為重要。
當然,我們距離能夠使用機械式訓練來訓練前沿模型還有很長的路要走。隨機初始化的網絡是實現這一目標的自然起點,既因為它們是最簡單的網絡,也因為每個網絡最初都是隨機初始化的。我們已經為這些網絡產生了顯著優於隨機採樣(對於寬網絡)的機械式估計,^([7]) 並提供了低概率估計和機械式訓練的演示。
請注意,我們論文中的高層算法並非首創:它是累積量傳播(cumulant propagation)的一種形式,這是我們在 2022 年的《形式化獨立性假設》(Formalizing the presumption of indepdence)附錄 D 中介紹過的算法。其工作原理是在不針對任何特定輸入運行模型的情況下,將近似概率分佈傳播過模型。然而,我們算法中的許多具體細節是全新的,這些細節對於實現低均方誤差至關重要。^([8]) 正是因為我們將研究重新聚焦於超越隨機採樣,我們才最終發現了這些細節並獲得了目前的結果。
雖然我們能夠超越隨機採樣,但我們的方法依賴於網絡是隨機初始化的。粗略地說,我們的方法從激活分佈的高斯近似開始,然後追蹤與該分佈的最低階偏差。在經過訓練的網絡中,特定的高階偏差可能會變得更加重要,因此我們的算法需要進行調整以追蹤這些偏差。我們懷疑這可以通過給予估計算法某種輔助「建議」(advice)來實現,該建議以某種方式指出需要追蹤哪些高階偏差,並隨每個梯度步驟增量更新。在我們與歸納法證明的類比中,這種增量更新的算法將是我們的「歸納步驟」。
關於這可能呈現的形式,一個想法是讓「建議」提供一個不同的、更有結構的權重分佈,使得模型的權重可以被視為是從該分佈中隨機抽取的。這種結構化分佈可以被視為對模型權重的一種高效壓縮,我們在《壓縮作為一種可能的 MSP 方法》中進一步討論了這個想法。^([9]) 無論如何,能夠處理經過訓練的網絡顯然是我們的方法具有實際效用的關鍵,我們正在進一步的研究中探索這個方向。
我們的論文實現了目標,即在寬的、隨機初始化的 MLP 情況下,產生優於隨機採樣的機械式估計。我們正致力於將此擴展到經過訓練的網絡,以產生能降低欺騙性對齊可能性的新訓練方法。
對於 $\phi = \text{ReLU}$,這是標準的 He 初始化,確保 $M_\theta$ 的輸出方差在 1 左右。<a name="fn1"></a> ↩︎
這在 $\epsilon$ 隨 $N^{-\alpha}$(對於某些 $\alpha > 0$)增長的情況下成立。<a name="fn2"></a> ↩︎
算法的深度縮放討論見論文附錄 D。<a name="fn3"></a> ↩︎
我們還實證驗證了隨寬度縮放的情況符合我們的理論預測,討論見論文第 6.3 節。<a name="fn4"></a> ↩︎
我們的算法在實際運行時間(wall-clock time)上通常不如蒙地卡羅採樣,因為我們沒有認真嘗試優化它們在硬件上的性能。我們在論文附錄 I 中提供了實際運行時間。<a name="fn5"></a> ↩︎
我們在論文第 6.6 節中解釋了這一結果。<a name="fn6"></a> ↩︎
在其他制度下(例如深度隨寬度線性增長時)匹配隨機 MLP 的隨機採樣性能,仍是一個開放性問題。<a name="fn7"></a> ↩︎
論文第 6.4 節討論了其中一些細節的消融實驗。<a name="fn8"></a> ↩︎
我們不認為這種方法完全如所述那樣運作。例如,如果模型首先計算權重的單向函數,我們可能需要對該單向函數的輸出進行高效壓縮,而不是對權重本身進行壓縮。<a name="fn9"></a> ↩︎
相關文章
其他收藏 · 0