人工神經元
人工神經元是神經網路中最小的計算單元:一個接收若干數字、輸出一個數字的微小函數。這個比喻借自生物學,生物神經元透過樹突接收許多其他神經元的訊號、加總起來,若合併訊號夠強,就沿軸突「激發(fire)」出一個輸出。人工版本保留了這個漫畫式直覺、捨棄了生物細節:它為每個輸入數字加權、相加、再加上一個常數,然後把結果送過一個簡單的非線性函數,以決定激發的強度。
嚴格來說,給定輸入向量 x = (x1, ..., xn),神經元持有一個權重向量 w = (w1, ..., wn) 與一個純量偏置(bias)b。它計算預激活值(pre-activation,亦稱 logit 或淨輸入)z = w·x + b =(wi·xi 之總和)+ b,也就是權重與輸入的內積再加上偏置,接著套用激活函數 phi 得到輸出 a = phi(z)。權重表示每個輸入有多重要(負權重代表該輸入把輸出往下壓),偏置則獨立於輸入地平移神經元變為活躍的門檻。
幾何上,方程式 w·x + b = 0 在輸入空間中定義了一個超平面(hyperplane),神經元本質上是在問輸入落在該平面的哪一側、距離多遠。若沒有激活函數 phi,多個神經元的堆疊永遠只能產生仿射(線性)函數,因為線性映射的複合仍是線性映射,網路便無法表示彎曲的決策邊界。非線性 phi 正是讓一層層神經元堆疊出真正複雜函數的關鍵,這也是為什麼在有用的網路裡 phi 從不會是恆等函數。
在電腦視覺中,全連接層裡的單一神經元可能會看遍一張小圖的每個像素;而卷積層裡的神經元只看一個小的局部區塊,並在整張影像上共享權重(這種受約束的神經元就是濾波器 filter)。現代架構,從 ResNet 這類 CNN 到視覺 Transformer(ViT),再到 CLIP 或 SAM 的輸出頭,本質上仍是數百萬到數十億個這種「加權和加非線性」單元連接而成。理解單一神經元,就是解開這一切的鑰匙。
一個神經元權重 w=(0.5, -0.3)、偏置 b=0.1、使用 ReLU 激活,輸入 x=(2, 4):z = 0.5·2 + (-0.3)·4 + 0.1 = 1.0 - 1.2 + 0.1 = -0.1,因此 a = ReLU(-0.1) = 0。對這個輸入,此神經元保持沉默。
常見的混淆是把神經元的輸出稱為「激活值(activation)」、把 z 稱為「預激活值」,務必區分兩者,因為反向傳播兩者都會用到。此外,偏置和其他權重一樣是真正會被學習的參數,省略它會迫使每個超平面都通過原點,可能嚴重削弱模型能力。