地址:https://zhuanlan。zhihu。com/p/396204813
01
概述
神經網路之所以強大,在於它強大的模擬能力。理論上,它可以以無限小的誤差模擬任意函式。
也就是說,可以利用神經網路構建任意函式,得到任意演算法。
這裡使用一些視覺化的樣例,幫助大家獲得一些直觀的理解。
02
一元函式的模擬
直線
這個是最簡單的情況,我們使用一個不帶啟用函式的神經元即可模擬。
透過調整
引數,即可模擬任意直線。
階躍函式Step Function
我們使用一個帶Sigmoid啟用函式的神經元來模擬。
隨著
引數繼續增大,神經網路就會逐步逼近該函式。
矩形脈衝函式
我們分成幾步來模擬:
1。 使用1個神經元來模擬函式的左半部分。
2。 使用1個神經元來模擬函式的右半部分(上下顛倒)。
3。 再使用一個神經元將前2步的影象進行合成
得到的結果很好地近似了目標函式。
其它一元函式
利用矩形脈衝函式,我們很容易近似其它任意函式,就像積分原理一樣。
03
二元函式的模擬
平面
這個是最簡單的情況,我們使用一個不帶啟用函式的神經元即可模擬。
透過調整
引數,即可模擬任意平面。
二元階躍函式Step Function
我們使用一個帶Sigmoid啟用函式的神經元來模擬。
二元矩形脈衝函式
與一元函式的情況類似,我們分步實現它:
1。 使用一個神經元來模擬函式的一個邊緣
2。 然後我們可以得到以下函式:
3。 最後,可以合成以下函式
最終的神經網路結構如下圖所示:
其它二元函式
利用二元矩形脈衝函式,我們很容易近似其它任意二元函式,就像積分原理一樣。
n元函式的模擬
原理一樣,自己想象!
04
問題
我們已經擁有了數位電路以及軟體程式演算法,為什麼還需要神經網路?
構建與數位電路之上的軟體程式也可以模擬任意函式,那為什麼還要發明人工神經網路呢?