當我們說「類神經網路會學習」,電腦裡真的住著一顆顆腦細胞嗎?答案是否定的。生物神經元提供了「接收多個訊號、整合後再產生輸出」的靈感;人工神經元則把這個想法濃縮成乘法、加法與函數。兩者有相似的敘事框架,實際機制卻相差很遠。理解這個界線,能幫助我們看懂 AI 的數學,也避免把模型擬人化。
一、生物神經元如何傳遞訊號
神經元(Neuron)是神經系統中負責接收、處理與傳遞資訊的細胞之一。典型神經元可以先用四個部分理解:
• 樹突像分枝,接收其他細胞傳來的訊號。
• 細胞本體包含細胞核並維持細胞運作,也整合傳入的影響。
• 軸突把訊號由細胞本體帶往較遠的位置。
• 突觸是細胞之間傳遞訊息的接點;許多情況下,軸突末端釋放神經傳導物質,跨越突觸間隙,影響下一個細胞。
NICHD 的神經系統介紹說明,訊號可沿軸突以電訊號傳遞,到了末端轉為化學訊號,再透過神經傳導物質跨越突觸。[1] 這只是入門層級的簡化:真實神經元有不同種類、時序、離子通道、抑制與興奮作用,也與膠細胞等共同運作。下圖呈現的是訊號方向示意,並不是完整的神經生理模型。

圖 1:生物神經元接收、整合與傳遞訊號的簡化示意。真實神經傳導比圖中流程複雜。
二、從生物靈感到工程抽象
人工神經元(Artificial Neuron)不是把一顆腦細胞複製到電腦,而是採用一個方便計算的抽象:收進多個數值,讓每個數值乘上一個可調整的權重,加總後再經過活化函數,得到輸出。
| 生物靈感(簡化) | 人工模型中的對應 | 作用 |
| --- | --- | --- |
| 接收多路訊號 | 輸入 `x` | 表示資料特徵 |
| 連結影響強弱 | 權重 `w` | 決定某個輸入影響多大、方向為何 |
| 整合訊號 | 加權和加偏置 `z` | 把多個輸入合成一個數值 |
| 是否及如何輸出 | 活化函數 `φ` 與輸出 `a` | 引入非線性並傳給下一層 |這個對照只說明靈感來源,不表示兩者一一等同。人工神經元沒有樹突、細胞膜或神經傳導物質;反向傳播也不是「真實大腦已被完整複製」的證明。神經網路能完成分類或生成任務,也不因此自動具有意識、意圖或人類式理解。
也要留意,「輸入」不是未經處理的世界本身,而是設計者選擇並轉換後的數值表示。例如預測用電量時,輸入可能包含溫度、時段與過去用量;分析圖片時,輸入可能來自像素或由前面網路層整理出的特徵。人工神經元只看見這些數字,不知道數字背後是天氣、照片或一段文字。特徵如何定義、資料是否有偏差,以及目標是否合理,都會影響模型最後學到什麼。
三、人工神經元的核心算式
單一人工神經元常寫成兩步:
z = Σ(wᵢ × xᵢ) + b
a = φ(z)• x 是輸入特徵,例如感測值、像素或前一層的輸出。
• w 是權重。正負號與大小共同決定輸入如何影響結果。
• b 是偏置。它不是某個輸入的權重,而是整體平移判斷基準的可調參數。
• z 是所有「輸入乘權重」加總後再加偏置的結果。
• φ 是活化函數。
• a 是活化後的輸出。
可以把權重想成每個旋鈕各自的倍率,把偏置想成整個判斷基準的平移。假設其他條件不變,提高某個正權重,對應輸入對 z 的推升效果就更明顯;負權重則可能把 z 往相反方向拉。偏置即使在所有輸入都是零時仍會加入計算,因此能調整神經元開始產生正輸出的門檻。這只是幫助理解的比喻,真正的參數值是訓練程序依資料與目標共同調整的結果。
若每一層都只有線性乘加,不論疊多少層,整體仍可化成線性關係。加入非線性活化函數後,網路才有機會表示彎曲、分段或更複雜的關係。[2][3]
常見的 ReLU 定義很簡單:
ReLU(z) = max(0, z)當 z 小於 0,輸出 0;當 z 大於或等於 0,輸出就是 z。Sigmoid 則會把數值壓到 0 與 1 之間,在某些輸出設計中可搭配其他條件轉成機率,但不能因為任何神經元輸出剛好位於 0 到 1,就直接叫它「機率」。
四、一起手算一個人工神經元
設定:
x₁ = 0.6 x₂ = 0.9
w₁ = 0.7 w₂ = 0.2
b = -0.3先各自相乘:
x₁ × w₁ = 0.6 × 0.7 = 0.42
x₂ × w₂ = 0.9 × 0.2 = 0.18再相加並加入偏置:
z = 0.42 + 0.18 - 0.3
= 0.30最後套用 ReLU:
a = ReLU(0.30)
= max(0, 0.30)
= 0.30這裡的 0.30 是這顆人工神經元在目前參數下的活化輸出,不能直接解讀成「30% 機率」或「模型有 30% 信心」。要形成可解讀的機率,還需要符合任務的輸出層、轉換方式與訓練定義。

圖 2:本文數值例子的完整流向;輸出 0.30 是活化值,不是機率。
五、電腦究竟在算什麼
電腦不認得「貓」「句子」或「溫度很舒服」這些人類概念本身。資料必須先被表示成數值:表格欄位可成為特徵,影像可表示為像素陣列,文字則需先轉成 token 與向量。這些多維數值通常統稱為張量(Tensor)。TensorFlow 的官方說明把張量描述為具有形狀與資料型別的多維陣列,並提供加法與矩陣乘法等運算。[4]
一顆人工神經元只需要乘法、加法與活化函數;許多神經元可以排成向量與矩陣,使一整層寫成:
a = φ(Wx + b)其中 x 是一批輸入,W 集合了大量權重,b 是一組偏置。下一層再把 a 當輸入,於是形成多層類神經網路(Neural Network)。CPU 就能執行這些運算;GPU 的優勢在於能同時處理大量規律的矩陣計算,而不是「每一顆人工神經元都需要一顆實體晶片」。
矩陣寫法的價值不只是符號比較短。若一層有許多輸入與許多神經元,逐顆列出乘法會又長又難管理;整理成 Wx + b 後,程式庫可以一次安排整批資料和整層參數的運算。所謂「輸入層、隱藏層、輸出層」描述的正是資料流位置:輸入層承接數值表示,隱藏層逐步重新組合特徵,輸出層依任務產生分數、數值或其他結果。層數與節點數較多不保證更好,還要考慮資料量、計算成本與過度擬合。
六、模型如何從資料中學習
訓練不是把答案直接塞進權重,而是一個反覆調整的迴圈:
1. 前向計算:用目前的權重與偏置算出預測。
2. 與目標比較:把預測和已知目標放在同一個任務定義下比較。
3. 計算損失:用損失函數衡量差距。
4. 反向傳播:沿計算圖反向使用鏈式法則,求出損失對各參數的梯度。
5. 最佳化器更新:最佳化器依梯度、學習率及自身規則更新權重與偏置。
6. 下一輪:用新參數處理下一批資料,再次計算。
必須分清楚:反向傳播負責計算梯度;最佳化器才根據梯度更新參數。 PyTorch 的自動微分說明也把前向計算建立的計算圖與向後傳遞梯度分開描述。[5]
學習率控制每次更新的步幅。太大可能越過較好的區域或造成不穩定,太小則可能進展緩慢。一次更新也不保證損失必然下降;即使訓練資料上的 loss 下降,也不代表模型面對所有新資料都會更準。泛化能力仍取決於資料品質、資料切分、模型容量、正則化與評估方法。
損失函數也不是通用的「錯誤百分比」,而是依任務選擇的數學量。預測連續數值、判斷類別或生成下一個 token,可能使用不同損失。梯度告訴我們參數往哪個方向微調會讓目前這批資料的損失產生何種變化;最佳化器把這些局部資訊轉成實際更新。因為資料通常分批送入,梯度帶有抽樣變動,訓練曲線可能上下震盪。實務上要同時觀察未參與參數更新的驗證資料,不能只看訓練集表現就宣布模型已學會。

圖 3:人工模型的訓練流程。這不是生物大腦的完整運作圖,也不表示反向傳播就是大腦的學習機制。
訓練與推論有何不同?
訓練會重複前向計算、損失計算、反向傳播與參數更新,目的是找出較合適的參數。推論則使用已訓練好的參數,對新輸入做前向計算;一般不再執行反向傳播或更新權重。模型推論得到的是依訓練資料與目標所形成的數值結果,不等於理解了人類語意,也可能在超出訓練分布時犯錯。
七、不用大型框架也能執行的 Python 範例
下面程式只使用 Python 內建功能,重現本文算式,並加入一個 z 為負、經 ReLU 後變成 0 的案例:
def relu(value: float) -> float:
return max(0.0, value)
def artificial_neuron(inputs, weights, bias):
z = sum(x * w for x, w in zip(inputs, weights)) + bias
return z, relu(z)
z, a = artificial_neuron([0.6, 0.9], [0.7, 0.2], -0.3)
negative_z, negative_a = artificial_neuron([0.1, 0.1], [0.7, 0.2], -0.3)
print(f"example: z={z:.2f}, a={a:.2f}")
print(f"negative: z={negative_z:.2f}, a={negative_a:.2f}")
assert abs(z - 0.30) < 1e-12
assert abs(a - 0.30) < 1e-12
assert negative_z < 0
assert negative_a == 0.0實際執行輸出:
example: z=0.30, a=0.30
negative: z=-0.21, a=0.00八、把概念帶走
神經元概念給 AI 的核心靈感,是「接收、整合、輸出」;電腦真正執行的是張量上的乘法、加法與非線性函數。模型的學習,是依資料、目標與損失調整參數,不是把生物大腦搬進電腦。理解這三層差異後,我們既能看懂 a = φ(Wx + b),也能更務實地判斷模型能做什麼、何時可能失敗,以及輸出是否真的具有我們賦予它的意義。
自我檢核
1. 權重和偏置有什麼不同? 權重分別控制各輸入的影響強弱與方向;偏置是在加權總和之外調整整體基準位置的參數。
2. 為什麼多層網路需要非線性活化函數? 若每層都只有線性運算,多層仍可合併成一個線性關係;非線性使模型能表示更複雜的模式。
3. 反向傳播會直接更新權重嗎? 反向傳播計算損失對參數的梯度;最佳化器再依梯度、學習率與更新規則調整參數。
參考資料
1. Eunice Kennedy Shriver National Institute of Child Health and Human Development(NICHD), What are the parts of the nervous system?
2. Google for Developers, Neural networks: Nodes and hidden layers
3. Google for Developers, Neural networks: Activation functions
4. TensorFlow, Customization basics: tensors and operations
5. PyTorch Tutorials, Automatic Differentiation with torch.autograd