Q1: Transformer 中的 Softmax 的作用是歸一化嗎?
A: Softmax 并非僅僅“歸一化”。它的主要功能是把注意力得分(查詢 Q 與鍵 K 的點積)轉(zhuǎn)換為一個概率分布,從而得到注意力權(quán)重。具體步驟:
- 計算注意力得分:
score = Q·K? / √d_k(除以 √d_k 為尺度因子)。 - 對每一行(對應(yīng)一個查詢向量)使用 Softmax:
α_i = softmax(score_i)。Softmax 將該行所有得分映射到 (0,?1) 區(qū)間,并使它們的和為 1。 - 歸一化后的權(quán)重
α_i與值向量 V 相乘,得到加權(quán)求和的注意力輸出。
因此,Softmax 的核心是把原始相似度得分轉(zhuǎn)化為可解釋的概率權(quán)重,實現(xiàn)歸一化并提供完整的概率分布,這對注意力機制的學(xué)習(xí)與推理至關(guān)重要。
Q2: 歸一化的通俗理解是什么?
A: 歸一化即把一組得分(或原始數(shù)值)轉(zhuǎn)換成概率,使每個概率值位于 0 到 1 之間,并且所有概率的和恰好等于 1。這樣處理后,得分可以解釋為“在所有可能選項中占多大比例”,便于后續(xù)基于概率的加權(quán)或采樣操作。
Q3: Sigmoid 函數(shù)有什么作用?
A: Sigmoid(σ)函數(shù)定義為 σ(x) = 1 / (1 + e^{-x}),其主要作用包括:
- 映射到 (0,?1) 區(qū)間:輸出可直接解釋為概率或激活程度,常用于二分類任務(wù)的輸出層。
- 平滑且可微:在整個定義域上都有導(dǎo)數(shù),便于梯度下降等基于梯度的優(yōu)化方法進行訓(xùn)練。
- 提供非線性變換:在神經(jīng)網(wǎng)絡(luò)隱藏層加入非線性,使網(wǎng)絡(luò)能夠?qū)W習(xí)更復(fù)雜的特征。
- 在門控機制中的應(yīng)用:雖然 Transformer 主要使用 Softmax 計算注意力權(quán)重,但在一些改進模型或 LSTM、GRU 等循環(huán)網(wǎng)絡(luò)中,Sigmoid 用于控制信息流的開閉(如門控單元)。
Q4: Sigmoid 和 Softmax 的聯(lián)系與區(qū)別是什么?
A:
相同點
- 都是單調(diào)遞增的 S 形函數(shù),輸出位于 0 與 1 之間。
- 都是可微的,梯度可用于反向傳播。
- 都可以把原始得分轉(zhuǎn)化為概率形式,便于后續(xù)加權(quán)或決策。
區(qū)別
| 維度 | Sigmoid | Softmax | ||
|---|---|---|---|---|
| 作用范圍 | 對每個標量獨立計算,σ(x)=1/(1+e^{-x})。 |
對一組向量(通常是一行或一列)整體計算,softmax(z_i)=e^{z_i}/∑_j e^{z_j}。 |
||
| 歸一化方式 | 只保證單個輸出在 (0,1);多個 Sigmoid 輸出的和不一定為 1。 | 所有輸出之和必然等于 1,形成完整的概率分布。 | ||
| 使用場景 | 二分類任務(wù)的輸出層、門控機制(LSTM、GRU、某些 Transformer 改進)。 | 多分類任務(wù)的輸出層、Transformer 中的注意力權(quán)重計算。 | ||
| 梯度特性 | 在極端值( | x | 很大)時梯度趨近于 0,易出現(xiàn)梯度消失。 | 梯度受整個向量分布影響,配合交叉熵損失時更穩(wěn)定。 |
| 計算成本 | 只需一次指數(shù)運算。 | 需要對整個向量求指數(shù)并歸一化,計算量隨向量長度線性增長。 |
總結(jié):Sigmoid 是對單個數(shù)值的“概率化”,適合二分類或門控;Softmax 是對一組數(shù)值的“歸一化”,生成完整的概率分布,適合多分類或注意力權(quán)重分配。兩者在數(shù)學(xué)上都涉及指數(shù)函數(shù),但作用范圍和歸一化方式?jīng)Q定了它們在模型中的不同角色。
結(jié)束語
通過上述問答,清晰地了解 Softmax 與 Sigmoid 在 Transformer 與其他神經(jīng)網(wǎng)絡(luò)中的功能、原理以及何時該使用哪一種激活/歸一化函數(shù)