在 CNN、Transformer 那些花招之前,
先把神經網路的「內臟」一個一個拆開來看。
前面幾集聊的都是「傳統機器學習」。從這集開始進入深度學習——一群疊了很多層的神經網路。但在你被 CNN、RNN、Transformer 那些名詞轟炸之前,得先搞懂一件事:這些花俏的模型,內臟其實都是同一套。
最核心的那顆器官叫 ANN / MLP——多層感知機。它就是一疊「神經元」層層相連。而要讓這疊神經元真的會學習,需要三個配件同時到位:激活函數負責讓它變聰明、損失函數負責打分數、梯度下降負責改錯。少一個,這台機器就是廢鐵。
這集我們就繞著中心的 MLP,把上下左右這幾顆基礎零件一個一個點名。搞懂它們,後面所有深度學習模型你都只是在換殼而已。
一切的起點:把神經元疊成層,再靠三個配件讓它動起來。
MLP 是深度學習的原型細胞。每個神經元做的事蠢到不行:把輸入乘上權重、加起來、過一道激活函數,吐出一個數字。但把成千上萬個這種蠢神經元分層堆疊、層層相連,整體就能逼近幾乎任何複雜函數(這叫萬能近似定理)。
資料從輸入層往前傳、算出答案,叫前向傳播;答案錯了,再把錯誤從後往前一層層回推、修正每個權重,叫反向傳播。這一前一後的循環,就是所有神經網路學習的心跳。
激活函數、損失函數、梯度下降,加上驗收用的評估指標——缺一不可。
純粹的加權相加是線性的,你疊再多層,數學上還是一條直線,畫不出任何彎曲的決策邊界。激活函數的工作就是在每個神經元後面插入一點「非線性」,讓網路終於能學會複雜、扭曲的關係。
常見角色:ReLU(負的歸零、正的照過,簡單又好訓練,現代主力)、Sigmoid / Tanh(壓進固定範圍,老將但容易梯度消失)、Softmax(把輸出變成一組機率,分類收尾專用)。
模型吐出答案後,得有人打分。損失函數就是把「預測」和「正確答案」的差距量化成一個數字。這個數字越小,代表模型越準。整個訓練的唯一目標,就是把這個數字壓到最低。
看題型換筆:回歸用 MSE / MAE(算數值差多少);分類用 交叉熵 Cross-Entropy(算機率分佈差多少)。選錯損失函數,等於用錯考卷改分,模型會學歪。
知道錯多少(損失)還不夠,得知道怎麼改。梯度下降就是那個方法:算出損失對每個權重的梯度(斜率),然後往「讓損失下降最快」的方向,把權重挪一小步。反覆幾百萬次,就慢慢滑到損失的谷底。
那「一小步」多大,由學習率決定:太大會在谷口反覆橫跳跌不進去,太小則慢到天荒地老。實務上多用進化版 SGD、Adam 來加速又穩住這趟下山之旅。
注意:損失函數和評估指標不是同一回事。損失是拿來「訓練」的(要能微分、讓梯度下降有方向);評估指標是拿來「給人類判斷模型好不好用」的,不必可微、但要直觀。
比如訓練時最小化交叉熵,但你跟老闆報告時講的是準確率、F1、AUC;回歸訓練用 MSE,驗收卻看 RMSE、R²。兩者分工合作,別搞混。