熱線電話:13121318867

登錄
首頁大數據時代為什么我們的神經網絡需要激活函數
為什么我們的神經網絡需要激活函數
2020-07-30
收藏

今天小編給大家分享的文章是:為什么我們的神經網絡需要激活函數。神經網絡機器學習里極為重要的一門技術。學習神經網絡不僅能讓讓我們掌握一門強大的機器學習方法,還有利于我們理解深度學習技術。希望通過這篇文章能讓大家對神經網絡有一個更深刻的理解,對大家的機器學習有所幫助。

文章來源: DeepHub IMBA微信公眾號

作者:P**nHub兄弟網站

如果你正在讀這篇文章,那么很可能你已經知道什么是神經網絡,什么是激活函數,但是,一些關于機器學習的入門課程并不能很清楚地說明,為什么我們需要這些激活函數。我們需要它們嗎?沒有它們,神經網絡還能工作嗎?

首先讓我們回顧一下關于神經網絡的一些事情。它們通常被可視化地表示為一個類似圖表的結構,如下圖所示:

如上圖所示,神經網絡有3層:輸入層、隱藏層、輸出層,共3、4、2個神經元。輸入層的節點數量與數據集的特性數量相同。對于隱藏層,您可以自由選擇需要多少節點,并且可以使用多個隱藏層。

網絡中的每個神經元,除了那些在輸入層的神經元,可以被認為是一個線性分類器,它將前一層神經元的所有輸出作為輸入,并計算這些輸出加上一個偏置項的加權和。然后,下一層的神經元將前一層線性分類器計算的值作為輸入,然后計算這些值的加權和,依此類推。我們希望,通過以這種方式結合線性分類器,我們可以構建更復雜的分類器,可以代表我們的數據中的非線性模式。

讓我們看看下面的例子數據集:

這個數據集不是線性可分的,我們不能將一個類從另一個通過一條線分開。但我們可以通過使用兩條線作為決策邊界來實現這種分離。

所以,我們可能認為兩個中間神經元可以完成這個工作。這兩個神經元將學習上圖中的兩條分離線。然后我們需要一個輸出神經元它將之前的兩個神經元作為輸入,這樣它就能正確地進行分類。

對于最后一個做正確分類的神經元,它需要n1和n2隱藏神經元的輸出是線性可分的,如果我們把它們畫在一個二維平面上。上面畫的兩條線有方程:

這意味著這兩個隱藏的神經元正在計算輸入x1和x2的如下線性組合:

我們畫出n1和n2看看它們是否有用。

我們對我們的小神經網絡感到失望。n1和n2的輸出仍然不是線性可分的,因此輸出神經元不能正確分類。那么,問題是什么呢?

問題是,任何線性函數的線性組合仍然是線性的,在一張紙上證明它是正確的并不難。這一事實的證據在本文的結尾。所以,不管我們用了多少層或多少神經元,按照我們目前的方式,我們的神經網絡仍然只是一個線性分類器。

我們需要更多的東西。我們需要將每個神經元計算出的加權和傳遞給一個非線性函數,然后將這個函數的輸出看作那個神經元的輸出。這些函數稱為激活函數,它們在允許神經網絡學習數據中的復雜模式時非常重要。

[1] 已經證明,具有2層(輸入層除外)和非線性激活函數的神經網絡,只要在這些層中有足夠多的神經元,就可以近似任何函數。那么,如果只有兩層就夠了,為什么人們現在還在使用更深層次的網絡呢?嗯,僅僅因為這兩層網絡“能夠”學習任何東西,這并不意味著它們很容易優化。在實踐中,如果我們的網絡產能過剩,他們就會給我們提供足夠好的解決方案,即使他們沒有盡可能地優化。

還有更多種類的激活函數,我們想在上面的示例中使用其中的兩種。它們分別是ReLU(直線單元)和tanh(雙曲正切),如下圖所示。

如果我們在示例中使用ReLU激活,將會發生什么?下圖是應用ReLU激活后n1和n2神經元的輸出。

現在,我們的這兩類點可以用直線分開,這樣輸出神經元就可以正確地對它們進行分類。

如果我們使用tanh激活,也會發生類似的事情,但這次我們的點之間的差距更大。

同樣,輸出神經元可以正確地分類這些點。

這里有一個簡單的數學證明,證明任何線性函數的線性組合仍然是線性的:

其中a0, a1,…,an是不依賴于輸入x1,…,xn的常數。

我希望這篇文章對你有用,謝謝閱讀!

參考

[1] Cybenko, G.V. (2006). “Approximation by Superpositions of a Sigmoidal function”. In van Schuppen, Jan H. (ed.). Mathematics of Control, Signals, and Systems. Springer International. pp. 303–314.

作者:Dorian Lazar

deephub翻譯組

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢