您的位置:首頁>科技>正文

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

2017 年 11 月 8 日, 在北京國家會議中心舉辦的 AI WORLD 2017 世界人工智慧大會開放售票!早鳥票 5 折 搶票倒計時 8 天開搶。 還記得去年一票難求的AI WORLD 2016盛況嗎?今年,

我們邀請了冷撲大師”之父 Tuomas 親臨現場, 且穀歌、微軟、亞馬遜、BAT、訊飛、京東和華為等企業重量級嘉賓均已確認出席。

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

讓我們解決non-trivial的問題。

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

背景

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

由於這個規定, 再加上使用二進位的格式, 我們將最小的規格化非零數(用二進位表示)為: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將所有的非規格化數字都視為零。

回到實驗的討論。 儘管電腦浮點表示和“數學”數位之間的差距很小, 但在零附近, 有一個很大的差距, 而這裡的近似誤差就很顯著。

而這可能導致一些非常奇怪的結果, 常用的數學定理不再適用。 例如, (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表示中的非線性。 這些強大的非線性使每層網路都生成了新的特徵, 而這些新特徵就是低級特徵的非線性組合。

下面是網路結構:

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

原文連結:https://blog.openai.com/nonlinear-computation-in-linear-networks/

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

而這些新特徵就是低級特徵的非線性組合。

下面是網路結構:

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

原文連結:https://blog.openai.com/nonlinear-computation-in-linear-networks/

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

Next Article
喜欢就按个赞吧!!!
点击关闭提示