帶引導的進化策略:擺脫隨機搜索中維數爆炸的魔咒
選自arXiv
作者:Niru Maheswaranathan、Luke Metz、
George Tucker、Jascha Sohl-Dickstein
機器之心編譯
參與:Geek AI、淑婷
機器學習模型優化的很多案例中都需要對真實梯度未知的函數進行優化。雖然真實梯度未知,但其代理梯度信息卻可用。本文提出了一種帶引導的進化策略——一種利用代理梯度方向和隨機搜索的優化方法,並將該方法應用於合成梯度等問題,最終證明該方法在標準進化策略和直接遵循代理梯度的一階方法上得到提升。
1 引言
機器學習模型的優化常常涉及最小化代價函數,其中代價關於模型參數的梯度是已知的。當梯度信息可用時,梯度下降和變數等一階方法因其易於實現、存儲效率高(通常需要與參數維度相匹配的存儲空間)和收斂有保障 [1] 而廣受歡迎。然而,當梯度信息不可用時,我們轉向零階優化方法,包括隨機搜索方法,例如最近重新流行起來的進化策略 [2,3,4]。
然而,如果只有部分梯度信息可用,我們又該怎麼做呢?也就是說,如果我們能夠獲得與真實梯度相關的代理梯度,但是這種替代方法會以某種未知的方式產生偏置,我們該怎麼做?事實上,各種各樣的機器學習問題中都會出現這種情況。例如,Wu 等人 在論文 [5] 中說明,在展開優化(通過一種展開優化過程計算梯度)問題中,與在許多展開步驟之後計算(代價高昂的)梯度相比,計算小規模展開步驟的梯度是存在偏置的。在其它應用中,真實梯度並不提供學習信號,我們可以用代理梯度作為一種替代。例如,在神經網路的量化問題中,我們希望用離散(甚至二值化的)權重和/或激活函數來訓練神經網路。實現這個目標的一種方法是使用直流評估器 [6](STE),它通過平滑處理(或直接忽略)神經網路中一些執行量化的節點來生成代理梯度,並且使用該梯度來訓練網路。然而,我們並不能保證這個方向是一個好的梯度下降方向。最後,代理梯度也出現在強化學習演算法中,例如,actor-critic 方法 [7],和 Q-learning [8,9,10]。
圖 1:(a)帶引導的進化策略示意圖。我們使用沿著給定子空間(白色箭頭)延伸的分布(白色等高線)進行隨機搜索,而不是使用真正的梯度方向(藍色箭頭)。(b)對不同演算法的二次損失進行比較,向梯度顯式地加入一個偏置,用來模擬真實梯度未知的情況。優化過程中顯示了損失(左圖)以及代理梯度和真實梯度(右圖)之間的相關性。實驗細節請參閱 4.1 節。
直觀地說,有兩種極端的方法可以使用代理梯度進行優化。一方面,你可以完全忽略代理梯度信息並執行零階優化,使用進化策略等方法來估計梯度下降的方向。當參數的維度較大時,這些方法的收斂性較差 [11]。另一方面,你可以直接將代理梯度輸入到一階優化演算法中去。然而,代理梯度中存在的偏置會影響到目標問題的優化 [12]。理想情況下,我們希望有一種方法能夠融合上述兩種方法互補的優勢:我們希望將通過進化策略估計出的無偏梯度下降方向與通過代理梯度得到的低方差估計結合起來。在本文中,我們提出了一種被稱為「帶引導的進化策略」(Guided ES)的方法。
我們的想法是跟蹤一個低維子空間,這個子空間是由優化過程中代理梯度的最近歷史定義的(受擬牛頓法啟發),我們稱之為引導子空間。然後,我們優先在這個子空間內執行有限差分隨機搜索(就像在進化策略中那樣)。通過將搜索樣本集中在真實梯度具有非負支持的低維子空間中,我們可以顯著減小搜索方向的方差。本文的貢獻如下:
將代理梯度信息與隨機搜索相結合的新方法。
基於技術的偏置-方差權衡分析。(見 3.3 節)
為相關方法選擇最優超參數的方案。(見 3.4 節)
示例問題的應用。(見第 4 節)
文中方法的演示程序,請參閱:https://github.com/brain-research/guided-evolutionary-strategies
圖 2:在帶引導的進化策略中對偏置-方差權衡進行探索。歸一化偏置?b 的等高線圖(a),歸一化方差 v?的等高線圖(b),以及前面二者之和的等高線圖(c)。它們是關於權衡(α)和規模(β)超參數的函數,其中,是固定的。在這些等高線圖中,子空間維數被設定為 k=3,參數維數被設定為 n=100。(c)中藍色的線表示對於每一個 α 值來說最優的 β,星標表示全局最優點。
圖 3:選擇最優超參數。(a)陰影區域顯示了在平面中最優超參數的不同機制。細節請參閱 3.4 節。(b)隨著增加,最優超參數從 α^ ? = 1, β^? = n /(n+2) 到α^? = 0, β^? = k /(k+2) 划出了一條曲線。
圖 4:展開優化。(a)少量展開優化步驟(t)展開優化過程中的損失情況的偏置。(b)用於訓練多層感知器的訓練曲線(顯示為與最優點的距離),它作為一個用於優化的函數的特徵值的函數去預測最佳學習率。細節請參閱 4.2 節。
圖 5:作為帶引導的進化策略的引導子空間的合成梯度。(a)使用合成梯度最小化目標二次問題時的損失曲線。(b)帶引導的進化策略的優化過程中合成更新方向和真實梯度的相關性。
論文:Guided evolutionary strategies: escaping the curse of dimensionality in random search
論文鏈接:https://arxiv.org/pdf/1806.10230.pdf
摘要:機器學習中很多應用都需要對一個真實梯度未知的函數進行優化,但是其代理梯度信息(可能與真實梯度相關但不一定完全相同的方向)是可知的。當一個近似梯度比完整的梯度更容易計算時(例如,在元學習或展開優化中),或者當一個真實梯度比較棘手且可以被代理梯度替換時(例如,在某些強化學習應用中,或使用合成梯度時),就會出現這種情況。我們提出了帶引導的進化策略,這是一種利用代理梯度方向和隨機搜索的優化方法。我們為進化策略定義了一個搜索分布,它沿著代理梯度指向的引導子空間延伸。這使我們能夠估計出梯度下降方向,並且接著將這個方向傳遞給一階優化器。我們定性和定量地刻畫了因為調整搜索分布在引導子空間上的伸展程度而產生的權衡,並由此推導出了一個超參數的集合,該集合可以很好地解決各類問題。最終,我們將該方法應用於包括截斷展開優化和合成梯度問題在內的示例問題,證明了該方法在標準進化策略和直接遵循代理梯度的一階方法上的提升。我們為帶引導的進化策略(Guided ES)提供了一個演示程序,鏈接如下:http://github.com/brain-research/guided-evolutionary-strategies。
本文為機器之心編譯,轉載請聯繫原作者獲得授權。
------------------------------------------------
※香儂科技獨家對話AAAI、ACM、ACL三會會士UT Austin大學計算機系教授Raymond J.Mooney
TAG:機器之心 |