深度學習知識地圖 · 基礎架構

ANN / MLP

人工神經網路

在互動地圖中開啟 回深度學習知識地圖

觀念教學

把一堆「會加權投票的小開關」層層疊起來,就是人工神經網路(ANN, Artificial Neural Network) — 靈感來自大腦神經元,本質是數學函數的堆疊。

核心觀念

最基礎的形態是多層感知器(MLP, Multi-Layer Perceptron),由三種層組成:輸入層(Input Layer)接收特徵,例如影像的像素值;隱藏層(Hidden Layer)負責逐層提煉特徵,層數多就叫「深」;輸出層(Output Layer)給出最終答案,例如各類別的機率。每個神經元做的事:把上一層輸出加權求和、加上偏差,再過激活函數往下傳。

白話理解

像公司的簽核流程:基層(輸入層)整理原始資料,各級主管(隱藏層)逐層彙整重點,總經理(輸出層)拍板。權重就是每個下屬意見的話語權;訓練就是不斷調整話語權,讓決策越來越準 — 練得好不好,看損失函數是否下降、準確率是否上升。

關鍵細節

  • MLP 是全連接(Fully Connected):每個神經元連向下一層的所有神經元
  • 沒有隱藏層,能力等同線性模型;隱藏層才是威力來源
  • 沒有激活函數,疊再多層在數學上仍是一個線性函數(超愛考)
  • MLP 適合表格類資料;影像交給 CNN,序列交給 RNN 與 Transformer
🎯 口訣:輸入進,隱藏層層煉,輸出定生死。

iPAS 考點

必考「三種層」的名稱與職責。經典陷阱:「隱藏層越多一定越準」錯,過深會過擬合、更難訓練;「MLP 不需要激活函數」錯,沒有非線性就退化成線性模型。看到全連接、輸入層/隱藏層/輸出層這些關鍵字,答案就在 ANN/MLP。

應用場景

函數逼近模式識別簡單分類問題

評估指標

損失函數準確率

iPAS 歷屆考題詳解(2 題)

先自行作答,再展開詳解。題目出處均為 iPAS AI 應用規劃師正式考題,著作權屬原主辦單位。

114年第二梯次中級AI應用規劃師第三科機器學習技術與應用 第49題

使用鐵達尼號資料集(前處理後 X_train 具有 9 個特徵欄位)建立 MLP 分類模型,程式碼與 model.summary() 輸出如下: model = Sequential() model.add(Input(shape=(X_train.shape[1],))) model.add(Dense(10, activation="relu")) model.add(Dense(10, activation="relu")) model.add(Dense(1, activation="sigmoid")) model.summary() model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"]) Model: "sequential" dense (Dense) 輸出 (None, 10) Param # = 空格1 dense_1 (Dense) 輸出 (None, 10) Param # = 空格2 dense_2 (Dense) 輸出 (None, 1) Param # = 11 參考上述執行結果,下列何者正確?

  1. Aactivation="relu" 其數學式為 f(x) = 1/(1+e^(-x))
  2. B空格1值為 110,空格 2值為 100
  3. C空格1值為 100,空格 2值為 110
  4. Dactivation="sigmoid" 一般用於多類別分類預測模型
看正解與逐選項詳解

正解:C

正確答案:(C) 【正解解析】 Dense 層參數量公式為(輸入維度+1)×神經元數,其中 +1 來自每個神經元的偏差項(Bias)。第一層 dense:輸入為 9 個特徵,(9+1)×10 = 100,故空格1 = 100;第二層 dense_1:輸入為前一層的 10 個輸出,(10+1)×10 = 110,故空格2 = 110;以第三層 dense_2 驗算:(10+1)×1 = 11,與 summary 顯示的 11 吻合,推算無誤,選項 (C) 正確。 【為何其他選項錯了?】 - (A):f(x) = 1/(1+e^(-x)) 是 Sigmoid 的數學式;ReLU 的定義為 f(x) = max(0, x),兩者完全不同。 - (B):數值對調了:110 是第二層的參數量,100 才是第一層。 - (D):sigmoid 搭配 binary_crossentropy 用於二元分類(本題預測存活與否正是如此);多類別分類的輸出層慣用 softmax。 提示:Keras Dense 參數量=(輸入數+1)×神經元數;可由已知層(本題輸出層參數為 11)反推驗證偏差項的存在。
115年第一次中級AI應用規劃師第三科機器學習技術與應用 第40題

分析師準備建立一個能將手寫數字圖片(28x28 像素展平為 784 維度)分為 0~9 共 10 個類別的多層感知機(MLP),且標籤已轉為 One-Hot 編碼(One-Hot Encoding)。為符合 10 個類別的單標籤分類需求,以下程式碼中 (A) 與 (B) 的函數應填入何者? from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense model = Sequential([  Dense(64, activation='relu', input_shape=(784,)),  Dense(10, activation='___(A)___') ]) model.compile(loss='___(B)___', optimizer='adam')

  1. Asigmoid,mean_squared_error
  2. Bsoftmax,categorical_crossentropy
  3. Crelu,binary_crossentropy
  4. Dtanh,sparse_categorical_crossentropy
看正解與逐選項詳解

正解:B

正確答案:(B) 【正解解析】 10 類單標籤分類、標籤已 One-Hot:輸出層應使用 softmax,把 10 個神經元的輸出轉成總和為 1 的機率分布,對應「十選一」的互斥語意;損失函數搭配 categorical_crossentropy,衡量預測分布與 One-Hot 標籤分布的差異。softmax 搭配 categorical crossentropy 是 Keras 多類單標籤分類的標準組合。 【為何其他選項錯了?】 - (A):sigmoid 讓每個類別獨立輸出 0~1、總和不為 1,語意是多標籤而非十選一;mean_squared_error 用於分類則梯度訊號差、收斂慢,等於把分類當迴歸處理。 - (C):relu 輸出無上界、也不是機率;binary_crossentropy 是二元或多標籤分類的損失,與 10 類單標籤不匹配。 - (D):sparse_categorical_crossentropy 適用於整數標籤(0~9 直接作為標籤),題目已說明標籤轉成 One-Hot,格式不符;tanh 輸出 -1~1,同樣不是機率。 提示:單標籤多類分類:輸出層固定 softmax,損失看標籤格式——One-Hot 配 categorical CE,整數標籤配 sparse categorical CE。

相關節點