類神經網路:節點和隱藏層

為了建構類神經網路 會將模型學習非線性、 從以下熟悉的模型結構開始: 形式的線性模型 $y'= b + w_1x_1 + w_2x_2 + w_3x_3$。

我們用視覺方式呈現這個方程式,如下所示:$x_1$, $x_2$ 和 $x_3$ 是三個輸入節點 (藍色),而 $y'$ 則是輸出節點 (綠色)。

運動 1

在上述模型中,權重bias 值是隨機的 初始化。請執行以下工作,熟悉 介面,並探索線性模型你可以 暫時忽略「Activation Function」下拉式選單;我們將介紹 會深入討論這些主題

  1. 按一下網路上方的「播放」按鈕 (▶️) 即可計算 輸入值的輸出節點:$x_1 = 1.00$、$x_2 = 2.00$,以及 $x_3 = $3.00 美元。

  2. 按一下第二個節點 輸入層, 擷取的值 至 2.50請注意,輸出節點的值會改變。選取輸出內容 並查看「計算」面板,瞭解輸出結果 。

  3. 按一下輸出節點 (綠色) 即可查看權重 ($w_1$、$w_2$、$w_3$),以及 調整 ($b$) 參數值。降低 $w_3$ (再次提醒您,輸出節點的值和下列計算方法的值) 已變更)。然後提高偏誤值。查看這些變更 已影響到模型輸出內容

新增圖層至網路

請注意,當您調整 練習 1,這項操作並未改變整體數學 說明輸入與輸出之間的關係模型仍是線性模型。

但是如果在網路的輸入層之間 再加入另一層 和輸出層?在類神經網路術語中 會呼叫輸入層和輸出層 「隱藏層」和節點 這些層中的 神經元

隱藏層中每個神經元的值的計算方式與 線性模型的輸出內容:以其每個輸入的乘積總和 (前一層網路層中的神經元) 和專屬的權重參數 加上偏誤同樣地,進入下一層 (這裡是輸出層) 是以隱藏層的神經元值做為輸入內容

新的隱藏層可讓模型使用另一個 參數組這有助於我們的模型學習非線性關係嗎?

運動 2

我們已在模型中新增含有四個神經元的隱藏層。

按一下網路上方的「播放」按鈕 (▶️) 即可計算 四個隱藏層節點和輸入值的輸出節點 $x_1 = 1.00$、$x_2 = 2.00$ 和 $x_3 = 3.00$。

接著探索該模型,並用於回答下列問題。

有多少 parameters (權重和偏誤), 網路模型
4
我們的原始練習 1 模型 4 個參數:w11、w21、 w31 和 b.由於這個模型包含 隱藏層,也可使用更多參數
12
請注意,參數總數會同時包含這兩個參數 用來計算從 以及用來計算輸出值的參數 隱藏層的節點值
16
請注意,參數總數同時包含權重 參數和偏誤參數
21
接著使用 4 個參數來計算「Google Analytics」的這 4 個節點值 顯示 3 個權重 (每個輸入值各一個) 總和為 16 個參數接著使用 5 個參數 計算輸出值:4 個權重 (每個節點各有一個權重) 隱藏層) 和偏誤。這個類神經網路總共有 21 個 參數。

嘗試修改模型參數,並觀察 隱藏層節點值和輸出值 (您可以查看 下方的計算面板可查看這些值 計算結果)。

這個模型能學習非線性嗎?

按一下隱藏層中的每個節點 和輸出節點 並檢閱下方的計算結果。你注意到什麼? 這些計算呢?

按一下隱藏層中的每個節點 下方計算的數值都是線性 (包括乘法和加法運算)。

如果點選輸出節點並查看計算結果 可能會發現也是線性計算方式線性 您對線性計算結果所執行的 線性關係,因此這個模型無法學習非線性