從線性函數不做激活函數說起
ref: 線性到底是什麼意思?
在公司里小組討論,每周會分享一個有趣的知識,既然神經網路很火,最近各種知識相互混雜,大家都覺得是在煉丹,指望從一個講座裡面說清楚神經網路入門,當然是專家一般的行為,而我也是在學習中。
you are what you eat ---- 西方諺語
當我們拿起一個神經網路的教材(最新流行的方向是深度學習)我們一般會看到如下的定義:神經網路是使用一組人工神經元單元相互連接組成的計算系統。並且可以通過樣本對特定的函數進行學習。所謂相互連接的人工神經單元,既然是計算機系統的一部分,必然又有各自的輸入輸出函數,如此,不同的網路結構最終由如下幾個方面組成:神經元的傳導函數,神經元直接連接的激活函數,還有輸入的樣本。樣本(採集獲得)逐次輸入,給神經網路模型開闢了時域上的自由度,而神經網路結構(預定義)和超參數(訓練產生)則開闢(內存)空間上的自由度。
記憶性和訓練狀態
學習是對記憶的處理,首先我們的機器需要有學習能力。我們在自動機理論裡面學過,如果需要反向求解系統的輸入狀態(具有記憶),則系統的狀態數(對應空間的自由度)必須妖大於系統輸入次數(時間的自由度)。否則系統就不能有足夠的狀態可能性去對應輸入的狀態可能性,當然也就不可能區還原輸入,或者換而言之,系統就必須遺漏或者抽象它輸入的信息,當輸入信息較為複雜時,必須丟失決定性的細節,造成訓練誤差的擴大。
舉一個簡單的例子,我手上有一個6面骰子,標註了數字
0,1,2,3,4,5
當你具有無限的記憶力時,我不停在你面前拋這一枚骰子,你發現它的樣本平均數逐漸因為大數定理,收斂到了 (0+1+2+3+4+5)/6,你對骰子估計出的點數數學期望為 2.5 一個合理的數值。
此時我換一名記憶力不好的選手,只能記住上一次骰子的數值,他同樣需要給出他對骰子下一個數值的估計,他別無選擇,只能選擇他上一次記住的數字。
這時他可能給出的是,0,1,2,3,4,5中的任何一個,其中每一個都有相同的可能性。經過簡單的計算可以知道,他因為記憶力的不足,給出的每一個估計,都只能得到大於無限記憶選手的方差。
這是一個不嚴謹的例子,詳細的證明可見演算法概論中的自動機章節。
工業界早已注意到了這個現象,在控制系統的過程中,注意到了系統記憶性和超調的對應關係。在PID 控制中,比例控制因子P僅和系統當前輸入有關,在卷積變換中歸為常數項目,例如對一個控制系統施加 P = 1 的比例因子時,我們最終能夠獲得 dX = dE 最後獲得50% 的常量誤差,不能達到最終控制效果。
我們解這個簡單的比例控制方程得到
可以看到,線性控制的最終結果,必須得P趨向於無窮才能完全無偏差,否則,最終的結果都存在偏差。
單層神經網路
這個簡單的例子說完,類似地我們在機器學習中有一個簡單的入門線性演算法。
即使這樣的簡單線性分類也可以學習到很大一部分函數。例如並,交等運算用這樣的單神經元模型就能進行學習。
因為這個網路十分簡單,我們可以知道它的輸入輸出關係公式,並且直接結算最終訓練結果。我們發現帶入異或時,方程的最終解誤差無法為0,只能為0.5 ,問題不能解決。
從上圖中,我們可以看出,你無法畫一條直線來分開異或問題的四組輸入輸出,並給出正確的答案。因為在這個問題中,我們只有兩個超參數,可以看到系統的學習能力不足。我們可以增加問題的維度(增加神經元)來解決這一問題。但是請注意,線性環節的可約性恰恰會讓我們增加層數的努力白費。
單層神經網路往王可以等價於支持向量機,並且是可以直接求解的(不需要經過訓練)。我們知道支持向量機在最壞的情況下,需要等於樣本維度的超參數集合(維度)來完全分類樣本,因此也就對應了等於樣本維度的訓練集合,在對付複雜問題時,並不總是有效的。
為什麼線性函數層數會退化
f(ax)=af(x),
f(x+y)=f(x)+f(y),
線性函數具有可加性和齊次性,這使得任意線性函數的前後連接都可以等價成一個單個的線性函數,舉例子來說。
y = 2u + 3v
x = 3u + 2v
z = x + y
是典型的其次函數,我們發現它具有其次性和可加性。
z = 2u + 3v + 3u +2v
z = 5u + 5v
結果等價於一個單層的函數。那麼類似地多層神經網路也會因為線性等價與單層神經網路,因此神經網路的激活函數一定需要具備非線性特徵,因為傳導函數本身就是線性的。從上面的說明可以知道,多層神經網路退化成為單層後,記憶力就會下降,並且因此學習效能也就等價於單程神經網路,對很多任務不能有效學習。
結論
非線性問題,一直是我們本科階段教育試圖避免觸及的問題,我們學習的代數方法被刪減為線性代數,用來近似實踐中的大部分問題。
因為線性有易於化簡的性質,但也是因為這一性質,使得若干個線性變換總可以化簡為單個線性變換,這固然比較適合人類歸納的思維方法。而當前數學界的困難問題,例如混沌,概率等研究,又不得繞開非線性的環節,或者可以說,非線性本身才是這些學科得以工業應用,得以被積極研究的聖杯之水。不可化簡性和可訓練性,就是同一個性質的兩個方面,是數學界的唯物辯證法。
推薦閱讀:
※神經網路正則化(3):data augmentation & early stopping
※細粒度分類SCDA&Recurrent Attention Convolutional Neural Networ
※萌新誤入AI歧途怎麼辦?MIT博士小哥哥給你指條明路
※知識布局-神經網路-數學原理
※在Encoder-Decoder框架中加入Attention機制
TAG:神經網路 |