每日最新頭條.有趣資訊

神經網絡如何完成表征?

本文為 AI 研習社編譯的技術部落格,原標題 :

Representation Power of Neural Networks

作者 |ASHISH RANA

翻譯 | 小冷、jinlilei 校對 | 醬番梨

整理 | 菠蘿妹

原文鏈接:

https://towardsdatascience.com/representation-power-of-neural-networks-8e99a383586

我們了解神經網絡以及它們從數據科學到電腦視覺的多個領域中的無數成就。眾所周知,它們在解決有關泛化性方面的複雜任務中表現良好。從數學上講,他們非常擅長近似任何的複雜函數。讓我們形象化地理解這種近似概念,而不是前向和後向傳播方法中的最小化預測誤差。假設你了解前向和後向傳播的一點基礎,其旨在借助梯度和網絡中的錯誤傳播來近似函數。讓我們通過另一種視覺解釋來理解神經網絡的近似能力。其中涉及基礎數學和圖形分析。

在數學上,我們將研究給定神經網絡的表征能力,以便提供近似的函數。

表征能力與神經網絡的能力相關,神經網絡會為特定實例分配適當標簽並為該類創建明確定義的準確決策邊界。在本文中,我們將探索一種視覺方法,用於更多地了解神經網絡的近似特性,這與神經網絡的表征能力直接相關。

旅程

它始於MP 神經元模型,它是一個非常簡化的神經元模型。通過非常簡單地概念,神經元激活與否取決於某一閾值,即只有當其輸入總和大於給定函數的閾值時,神經元才被激活,否則神經元不會發生輸出信號。為了檢查它的表征能力,讓我們看它的幾何解釋。首先進行2-D分析,使用2個輸入來近似OR函數,然後使用3個輸入進行3-D分析。

對於二維坐標系中的分離,需要一條分類直線。神經元會向直線右側的點發射信號。因此,就創建出了分離邊界。

對於三維坐標系中的分離,需要一個分類面。神經元會向這個面上方的所有的點發射信號。

因此,M-P神經元模型可用於表示任何線性可分的布爾函數。此外,我們可以看到一個嚴格的分界規則,而不是一個漸進的決策邊界,任何略高於分離邊界的為1,下面的正好為0。神經元觸發了和階梯函數一樣的行為。感知器的每個輸入都帶有權重,但仍然存在嚴格的劃分,從而實現了更大的靈活性。但是,上述機制不能處理非線性可分函數。一個非常簡單的例子比如異或(XOR,兩個輸入如果相同,輸出為0;兩個輸入如果是不同,輸出為1),就無法用一條直線來分割開來,想象一下在這個函數的2維平面上繪製一條分離線。讓感知器處理異或這樣線性不可分問題,它就無能為力了。大多數數據與異或非常相似,本質上是線性不可分的。

因此,需要先進的計算模型,如當前需要為這些函數創建分離邊界的神經網絡。只需看一個包含一個隱藏層和一些複製異或函數的預定義權重的基本圖。

圖:紅線表示權重為-1,藍色表示權重為+1

異或函數實現的條件:w1

記住:具有n個輸入的任何布爾函數都可以由感知器網絡表示,感知器網絡包含具有2 ^ n個感知器的1個隱藏層和包含1個感知器的1個輸出層。這是充分不必要條件。

通過我們對具有階梯函數(如近似)的單個隱藏層網絡的分析。它的嚴格判斷標準與階梯函數一樣具有局限性。讓我們深入研究具有S形非線性逼近函數的多層深度網絡。

時過境遷

經過sigmoid激活的神經元具有非常強的表征能力。具有一個單隱層的多層神經元網絡可以近似任意連續函數,並達到任何想達到的精度。

數學上,可以得到這樣的證明:對於任意函數f(x):R(n)→ R(m),我們總可以找到一個擁有(單或多)隱層的神經網絡,其輸出g(x)滿足 |g(x)-f(x)|

上述的說法在自然界中是非常的。因為它意味著,我們可以用一個給定的神經網絡去近似任意函數。從數學角度來講,萬能近似定理(universal approximation theorem)指出,在對激活函數溫和的假設下,一個包含有限神經元的單隱層自編碼網絡可以近似R(n)緊致子集上的任意連續函數。這個理論因此也就說明,在給定合適參數下,簡單的神經網絡可以代表各種各樣的函數。然而,它並沒有涉及到那些參數的算法收斂性。收斂是和前饋、後饋算法相關的。下面讓我們通過一種直觀的解釋方式來理解上述理論,它是神經網絡學習的基礎。

對函數近似的幾何解釋。是數值近似中一種經典的數學方式。

結束遊戲:Sigmoids的塔

繼續上述與神經網絡近似函數的對話。只需看下面的圖表並自行決定。可以通過疊加多個塔功能來近似函數。該過程將形成與給定函數等效的形狀,其中與一些小的近似誤差是近似的。現在,上面對通用近似定理的解釋告訴我們,我們用於近似的更多塔數是近似行為。因此,調整在Sigmoid激活函數中參數,目的是創建這樣的近似塔。從理論上講,根據這種解釋,對神經網絡的準確性沒有限制。

顯然,塔的數量越多,近似效果越好,近似誤差越小。

讓我們更深入地探討這個解釋過程。所有這些“tower”功能都是相似的,只是它們在x軸上的高度和位置不同。現在,我們必須看看這些Towers是如何用sigmoid激活函數創建的。

我們的目標是找出用於塔式結構的黑匣子塔式製造機。

典型的邏輯sigmoid激活函數方程如下。

w:代表權重 b:代表偏置

隨著w的增加,函數變得像階梯函數更陡峭。b的更正值將曲線從原始曲線向左移動。

因此,通過改變這些值,我們可以創建不同版本的sigmoids激活函數,我們可以相互疊加以獲得塔狀結構。為了在二維坐標系中創建塔,減去兩個曲線不同的偏置值。

左曲線的偏置值b具有更大的正值。因此,上面的隨機曲線可以用多個這樣的塔近似或表示。

我們可以將此操作擴展到神經網絡的隱藏層,以構建模擬這種曲線減法方法的神經網絡。因此,神經網絡可以表示任何具有權重和偏置的參數值的這樣的函數,我們使用我們的前向和後向傳播算法不斷的確定這些參數值直到收斂標準。

現在,可以通過疊加這樣的塔來近似上述功能的隨機曲線。

案例研究

考慮具有多個輸入的場景。假設我們在海床的特定位置是否會找到石油這個問題試圖做出決策。此外,假設我們的決策基於兩個因素:鹽度(x1)和壓力(x2)。一些數據已經給了我們, y(有油|無油) 似乎是一個x1和x2的複合函數。我們想要一個神經網絡來近似這個函數。

上面的插圖繪製了上述場景。顯然,我們需要三維塔近似這個分布函數。

按照我們的理解,需要在三維坐標系中製作這樣的三維閉合塔。如果我們繼續使用上述類似的方法,在三維太空中,兩個有不同偏置值的sigmoids激活函數相減。我們將得到以下的等效曲線。

我們仍然沒有得到一個封閉的塔。

但是,我們可以看到,如果我們採用另一個水準垂直的塔架到現在組合的曲線上。在疊加這兩個水準垂直的開放式塔時,我們就可以得到封閉的塔。

我們可以通過另一個組合的sigmoid激活函數來傳遞上面的輸出, 從而能得到一個最近似的合適的塔。

我們現在可以通過總結許多這樣的塔來近似任何的函數。

上述案例研究中的複雜分布函數可以借助多個這樣的塔來重建。在這裡,我們看一個神經網絡來表示上述過程。

我們可以通過另一個組合的sigmoid激活函數來傳遞上面的輸出, 這意味著我們可以有一個神經網絡,它可以準確地分離出像上面的案例研究中提到的分布。對神經網絡的準確性沒有理論上的限制。

我們有興趣將藍點與紅點分開。單個S形神經元存在明顯的誤差。但是,通過兩個隱藏層,我們可以通過塔的總和來近似上述函數。我們可以有一個神經網絡,它可以準確地將藍點與紅點分開!

致謝

用於近似的可視化方法非常獨特而且有趣,這就是我覺得需要進行這次討論的原因。我只是重新構建了來自neuralnetworksanddeeplearning.com的現有解釋。描述性插圖來自深度學習課程CS7015。感謝Mitesh M. Khapra教授和他的助教提供了這門精彩的課程!雷鋒網雷鋒網雷鋒網

想要繼續查看該篇文章相關鏈接和參考文獻?

點擊神經網絡如何完成表征?打開:

AI研習社每日更新精彩內容,觀看更多精彩內容:

進入 kaggle 競賽前 2% 的秘訣

如何極大效率地提高你訓練模型的速度?

用 4 種卷積神經網絡,輕鬆分類時尚影像

這 25 個開源機器學習項目,一般人我不告訴 Ta

等你來譯:

2018.11十大機器學習熱門網文

循環神經網絡的 Python 案例

時序預測的貝葉斯方法

一文帶你讀懂 WaveNet:谷歌助手的聲音合成器

獲得更多的PTT最新消息
按讚加入粉絲團