深度學習知識地圖 · 基礎架構
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 應用規劃師正式考題,著作權屬原主辦單位。
使用鐵達尼號資料集(前處理後 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 參考上述執行結果,下列何者正確?
- Aactivation="relu" 其數學式為 f(x) = 1/(1+e^(-x))
- B空格1值為 110,空格 2值為 100
- C空格1值為 100,空格 2值為 110
- Dactivation="sigmoid" 一般用於多類別分類預測模型
看正解與逐選項詳解
正解:C
分析師準備建立一個能將手寫數字圖片(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')
- Asigmoid,mean_squared_error
- Bsoftmax,categorical_crossentropy
- Crelu,binary_crossentropy
- Dtanh,sparse_categorical_crossentropy
看正解與逐選項詳解
正解:B