當前位置:
首頁 > 新聞 > 深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

2017 年 11 月 8 日,在北京國家會議中心舉辦的 AI WORLD 2017 世界人工智慧大會開放售票!早鳥票 5 折 搶票倒計時 8 天開搶。還記得去年一票難求的AI WORLD 2016盛況嗎?今年,我們邀請了冷撲大師」之父 Tuomas 親臨現場,且谷歌、微軟、亞馬遜、BAT、訊飛、京東和華為等企業重量級嘉賓均已確認出席。

深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

我們通過實驗展示了,使用浮點運算實現的深度線性網路實際上並不是線性的,它們可以進行非線性計算。我們使用進化策略來發現具有這種特徵的線性網路中的參數,讓我們解決non-trivial的問題。

神經網路由線性層+非線性層堆疊而成。理論上,在沒有非線性層的情況下,連續的線性層實際等同於數學上的單個線性層。因此,浮點運算也能具有非線性特徵,並且足以生成可訓練的深度神經網路,這令人十分意外。

背景

計算機使用的數字不是完美的數學對象,而是使用有限比特的近似表示。計算機通常使用浮點數來表示數學對象。每個浮點數都由分數和指數組成,在IEEE的float32標準中,單精度二進位小數用32個比特存儲,指數用8個比特存儲,還有一個比特存儲符號。

深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

由於這個規定,再加上使用二進位的格式,我們將最小的規格化非零數(用二進位表示)為:1.0..0 x 2^-126,將其稱為 min。然後,下一個可以表示的數字就是 1.0..01 x 2^-126,可以寫為 min + 0.0..01 x 2^-126。

顯然,第二個數字與第一個數字之間的差距,比 0 和 min 之間的差距要小 2^20。在float32中,當數字小於最小可表示數時,它們就被映射到零。由於這個「下溢」,在 0 附近的所有涉及浮點數的計算都變成非線性的。

當然,有一個例外,那就是非規格化數字(denormal numbers),在一些計算硬體上可以禁用這樣的數字。在我們的這個例子中,我們將flush設置為零(FTZ)來禁用非規格化數,FTZ將所有的非規格化數字都視為零。

回到實驗的討論。儘管計算機浮點表示和「數學」數字之間的差距很小,但在零附近,有一個很大的差距,而這裡的近似誤差就很顯著。

深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

而這可能導致一些非常奇怪的結果,常用的數學定理不再適用。例如,(a + b) × c 的值與 a × c + b × c 不再相等。

假設 a = 0.4 x min, b = 0.5 x min, c = 1/min

按理

(a+b) x c = (0.4 x min + 0.5 x min) x 1/min = (0 + 0) x 1/min = 0

但實際上結果卻是

(a x c) + (b x c) = 0.4 x min / min + 0.5 x min x 1/min = 0.9.

再來一個例子:

假設 a = 2.5 x min, b = -1.6 x min, c = 1 x min

那麼 (a+b) + c = (0) + 1 x min = min

結果 (b+c) + a = (0 x min) + 2.5 x min = 2.5 x min

由此可見,在極小的規模上,基本的加法運算變為非線性的了!

使用進化策略(ES)探索

我們想知道這種固有的非線性是否可以被用作計算上的非線性,因為計算上的非線性將使深度線性網路進行非線性的計算。

而要這樣做的難點在於,現代分化庫(differentiation libraries)完全沒有考慮到零附近的這些非線性。因此,通過反向傳播訓練神經網路來探究它們十分困難,可以說是不可能的。

不過,我們可以使用進化策略(ES)來估計梯度,這樣就不必依賴於符號分化。實際上,使用ES,我們確實發現,float32在零附近的行為是一種計算非線性。

在MNIST數據集上訓練,一個用反向傳播訓練的深度線性網路實現了94%的訓練精度和92%的測試精度。而換成使用ES訓練,相同的線性網路,可以實現 >99%的訓練精度和96.7%的測試精度,同時確保激活足夠小,是處於float32的非線性範圍之中。

網路訓練性能之所以提升,是由於ES利用了float32表示中的非線性。這些強大的非線性使每層網路都生成了新的特徵,而這些新特徵就是低級特徵的非線性組合。

下面是網路結構:

深度線性神經網路也能做非線性計算,OpenAI使用進化策略新發現

除了MNIST,我們認為還能進行其他有趣的實驗,探究RNN的非線性計算特性,或者將利用非線性計算提升語言建模和翻譯等複雜機器學習任務的性能。歡迎大家加入我們,一起來探索。

原文鏈接:https://blog.openai.com/nonlinear-computation-in-linear-networks/

【掃一掃或點擊閱讀原文搶購五折「早鳥票」】

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

盛開互動CEO曾祥永博士:智能交互未來一定是多模態融合
功成身退:Yoshua Bengio宣布即將終止Theano的開發和維護
UCSB研究發現計算機與人類視覺差異,用人眼搜索策略提升計算機視覺

TAG:新智元 |