神經網路如何模擬任意函式?

地址: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

問題

我們已經擁有了數位電路以及軟體程式演算法,為什麼還需要神經網路?

構建與數位電路之上的軟體程式也可以模擬任意函式,那為什麼還要發明人工神經網路呢?

TAG: 函式模擬神經元任意矩形脈衝