類神經網路:互動式練習
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
在以下互動練習中,你將進一步探索神經網路的內部運作機制。首先,你將了解參數和超參數的變化如何影響網路的預測結果。然後,你將運用所學知識訓練一個神經網路來擬合非線性資料。
練習1
以下組件使用以下配置設定神經網路:
- 輸入層包含 3 個神經元
0.00其值分別為0.00和0.00 - 隱藏層包含4個神經元
- 輸出層(1個神經元)
- ReLU激活函數應用於所有隱藏層節點和輸出節點
查看網路的初始設定(注意:暫時不要點擊▶️或>|按鈕),然後完成小工具下面的任務。
任務1
神經網路模型的三個輸入特徵的值均為0.00 。點擊網路中的每個節點即可查看所有初始化值。在點擊「播放 ( ▶️ )」按鈕之前,請先回答以下問題:
你認為會產生什麼樣的產出值:正值、負值還是 0?
正輸出值
您選擇了正的輸出值。請按照以下說明對輸入資料進行推理,看看您的選擇是否正確。
負輸出值
你選擇了負的輸出值。請依照以下說明對輸入資料進行推理,看看你的判斷是否正確。
輸出值為 0
您選擇的輸出值為 0。請按照以下說明對輸入資料進行推理,看看您的選擇是否正確。
現在點擊網路圖上方的播放(▶️)按鈕,觀察所有隱藏層節點和輸出節點的數值如何變化。你上面的答案正確嗎?
點此看說明
具體的輸出值會根據權重和偏移參數的隨機初始化方式而有所不同。但是,由於輸入層中每個神經元的初始值為 0,因此用於計算隱藏層節點值的權重都會被置零。例如,第一個隱藏層節點的計算結果如下:
y = ReLU(w 11 * 0.00 + w 21 * 0.00 + w 31 * 0.00 + b)
y = ReLU(b)
因此,每個隱藏層節點的值將等於偏置項 (b) 的 ReLU 值,如果 b 為負,則該值為 0;如果 b 為 0 或正,則該值為 b 本身。
然後,輸出節點的值將如下計算:
y = ReLU(w 11 * x 11 + w 21 * x 21 + w 31 * x 31 + w 41 * x 41 + b)
任務 2
在修改神經網路之前,請先回答以下問題:
如果在神經網路的第一個隱藏層之後再增加一個隱藏層,並給這個新層 3 個節點,同時保持所有輸入和權重/偏移參數不變,那麼其他哪些節點的計算會受到影響?
網路中除輸入節點外的所有節點
您選擇了網路中除輸入節點之外的所有節點。請按照以下說明更新神經網絡,看看您的選擇是否正確。
僅第一隱藏層中的節點
您只選擇了第一個隱藏層中的節點。請按照以下說明更新神經網絡,看看是否正確。
僅輸出節點
您只選擇了輸出節點。請按照以下說明更新神經網絡,看看是否正確。
現在修改神經網絡,新增一個包含 3 個節點的新隱藏層,如下所示:
- 點選文字「1 個隱藏圖層」左側的「 +」按鈕,在輸出圖層之前新增一個新的隱藏圖層。
- 點選新隱藏圖層上方的「+」按鈕兩次,即可新增 2 個節點到該圖層。
你上面的答案正確嗎?
點此看說明
只有輸出節點會改變。由於此神經網路的推理是「前饋式」(計算從頭到尾進行),因此在網路中新增層只會影響新層之後的節點,而不會影響其先前的節點。
任務3
點選網路圖第一層隱藏區域中從上往下數的第二個節點。在對網路配置進行任何變更之前,請回答以下問題:
如果更改權重 w 12 (顯示在第一個輸入節點 x 1下方)的值,對於某些輸入值,哪些其他節點的計算可能會受到影響?
沒有任何
您選擇了“無” 。請按照以下說明更新神經網絡,看看您的選擇是否正確。
第一隱藏層中的第二個節點、第二隱藏層中的所有節點、輸出節點。
您選擇了第一隱藏層中的第二個節點、第二隱藏層中的所有節點、輸出節點。請按照以下說明更新神經網絡,看看您的選擇是否正確。
第一隱藏層、第二隱藏層和輸出層中的所有節點。
您選擇了第一隱藏層、第二隱藏層和輸出層中的所有節點。請按照以下說明更新神經網絡,看看您的選擇是否正確。
現在,點擊權重 w 12的文字方塊(顯示在第一個輸入節點 x 1下方),將其值變更為5.00 ,然後按 Enter 鍵。觀察圖表的更新。
你的答案正確嗎?驗證答案時要小心:如果節點值沒有改變,是否代表底層運算也沒有改變?
點此看說明
在第一層隱藏層中,唯一受影響的節點是第二個節點(您點擊的節點)。第一層隱藏層中其他節點的值計算不包含w12作為參數,因此它們不受影響。第二層隱藏層中的所有節點都會受到影響,因為它們的計算依賴第一層隱藏層中第二個節點的值。同樣,輸出節點的值也會受到影響,因為它的計算依賴於第二層隱藏層中節點的值。
你是因為更改權重值時網路中所有節點的值都沒有改變,就認為答案是「無」?請注意,節點的底層計算可能會在節點值不變的情況下發生變化(例如,ReLU(0) 和 ReLU(-5) 的輸出結果都是 0)。不要僅僅透過觀察節點值就對網路受到的影響妄下結論;務必同時檢查計算過程。
練習 2
在分類資料模組的特徵交叉練習中,您手動建立了特徵交叉來擬合非線性資料。現在,您將嘗試建立一個神經網絡,使其能夠在訓練過程中自動學習如何擬合非線性資料。
你的任務:配置一個神經網絡,使其能夠將下圖中的橙色點與藍色點分開,在訓練資料和測試資料上實現小於 0.2 的損失。
指示:
在下面的互動式元件中:
- 透過嘗試以下一些配置設定來修改神經網路超參數:
- 在網路圖中,按一下「隱藏圖層」標題左側的+和-按鈕,即可新增或刪除隱藏圖層。
- 點選隱藏層列上方的+和-按鈕,即可新增或刪除神經元到隱藏層。
- 透過從圖表上方的「學習率」下拉式選單中選擇新值來變更學習率。
- 透過從圖表上方的「啟動」下拉式選單中選擇新值來變更激活函數。
- 點選圖表上方的播放(▶️)按鈕,使用指定的參數訓練神經網路模型。
- 觀察模型在訓練過程中擬合資料的視覺化效果,以及輸出部分中的測試損失和訓練損失值。
- 如果模型在測試集和訓練集上的損失值均未低於 0.2,請按一下“重設”,然後使用不同的組態設定重複步驟 1-3。重複此過程,直至獲得理想結果。
點擊此處查看我們的解決方案
我們透過以下方式成功將測試損失和訓練損失都控制在 0.2 以下:
- 增加 1 個包含 3 個神經元的隱藏層。
- 選擇學習率為 0.01。
- 選擇 ReLU 作為激活函數。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-01-30 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-01-30 (世界標準時間)。"],[],[]]