常见激活函数
激活函数
在 大语言模型( LLM ) 时代,激活函数的设计直接影响模型的表达能力、训练稳定性和计算效率。以下是当前主流的激活函数及其应用场景的总结,涵盖经典方法和最新趋势:
1. 核心激活函数
(1) GeLU( Gaussian Error Linear Unit )
公式:
\[\text{GeLU}(x) = x \cdot \Phi(x) = x \cdot \frac{1}{2} \left(1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right)
\]
特点:
结合了ReLU的非线性和概率建模能力( 通过高斯分布加权 )。
平滑性:在接近0时梯度更连续,缓解ReLU的“死区”问题。
近似实现:实际计算中常用近似公式( 如 0.5x(1 + tanh(sqrt(2/π)(x + 0.044715x^3))) )。
应用:
Transformer的FFN层:BERT、GPT系列、LLaMA等模型的标准选择。
替代ReLU以提升深层模型训练稳定性。
(2) Swish( 自门控激活函数 )
公式:
\[\text{Swish}(x) = x \cdot \sigma(\beta x) \quad (\beta \text{可学习,常固定为1})
\]
特点:
非单调性有助于模型捕捉复杂特征。
在极负区域梯度非零,缓解梯度消失。
应用:
部分LLM的前馈网络替代GeLU( 如PaLM中使用 SwiGLU 变体 )。
轻量级模型的激活函数选择。
(3) ReLU及其变体
ReLU:
\[\text{ReLU}(x) = \max(0, x)
\]
优势:计算高效,稀疏激活。
劣势:输出非零中心化,可能导致“神经元死亡”。
LLM应用:部分早期模型( 如T5 )仍使用ReLU,但逐渐被GeLU取代。
Leaky ReLU:
\[\text{LeakyReLU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{otherwise} \end{cases} \quad (\alpha \text{为小斜率,如0.01})
\]
用途:缓解ReLU的死亡问题,但在LLM中较少使用。
2. 门控机制激活函数
(1) GLU( Gated Linear Unit )
公式:
\[\text{GLU}(x) = (W_1 x + b_1) \otimes \sigma(W_2 x + b_2)
\]
特点:通过门控信号动态调节特征重要性,增强模型表达能力。
变体:
SwiGLU:用Swish替代Sigmoid作为门控函数( PaLM、LLaMA-2使用 )。
GeGLU:用GeLU作为门控函数( T5变体 )。
优势:显著提升模型容量,适合大规模参数下的特征交互。
计算代价:参数量和计算量翻倍,需权衡性能与效率。
(2) GAU( Gated Attention Unit )
特点:将门控机制融入注意力层,动态调节注意力权重( 如FLASH模型 )。
公式:
\[\text{GAU}(Q, K, V) = \sigma(W_q Q + W_k K) \otimes (W_v V)
\]
3. 动态/参数化激活函数
(1) PReLU( Parametric ReLU )
公式:
\[\text{PReLU}(x) = \max(0, x) + \alpha \cdot \min(0, x) \quad (\alpha \text{可学习})
\]
用途:自适应调整负区斜率,但LLM中较少使用。
(2) Dynamic Activation Functions
Mixture-of-Experts( MoE )激活:
不同专家( 子网络 )通过门控选择激活路径( 如Switch Transformer )。
优势:动态激活不同参数子集,提升模型容量和稀疏性。
4. 选择激活函数的考量因素
训练稳定性:
GeLU/Swish的平滑性比ReLU更适合深层LLM训练。
计算效率:
ReLU > GeLU > GLU( 门控结构增加计算量 )。
模型容量:
门控机制( GLU/SwiGLU )显著提升模型表达能力,但需更多参数。
硬件优化:
激活函数的计算是否容易被融合( 如CuDNN的fused GeLU优化 )。
5. 常见LLM的激活函数实例
模型
激活函数
应用场景
GPT-3/4
GeLU
FFN层
PaLM
SwiGLU
FFN层( 替代GeLU )
LLaMA-2
SwiGLU
FFN层
BERT
GeLU
FFN层
T5
ReLU
FFN层( 轻量化设计 )
FLASH
GAU
注意力层门控
面试回答要点
强调GeLU和SwiGLU:解释它们在LLM中的主流地位及数学动机。
对比ReLU与GeLU:GeLU的平滑性如何缓解梯度问题。
门控机制的价值:GLU变体如何通过动态门控增强模型容量。
实际部署考量:激活函数对训练速度、显存占用和硬件支持的影响。
通过掌握这些核心概念,你可以清晰展示对LLM底层机制的理解!
sigmoid和softmax
在 大语言模型( LLM ) 时代,激活函数的设计直接影响模型的表达能力、训练稳定性和计算效率。以下是当前主流的激活函数及其应用场景的总结,涵盖经典方法和最新趋势:
1. 核心激活函数
(1) GeLU( Gaussian Error Linear Unit )
公式:
\[\text{GeLU}(x) = x \cdot \Phi(x) = x \cdot \frac{1}{2} \left(1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right)
\]
特点:
结合了ReLU的非线性和概率建模能力( 通过高斯分布加权 )。
平滑性:在接近0时梯度更连续,缓解ReLU的“死区”问题。
近似实现:实际计算中常用近似公式( 如 0.5x(1 + tanh(sqrt(2/π)(x + 0.044715x^3))) )。
应用:
Transformer的FFN层:BERT、GPT系列、LLaMA等模型的标准选择。
替代ReLU以提升深层模型训练稳定性。
(2) Swish( 自门控激活函数 )
公式:
\[\text{Swish}(x) = x \cdot \sigma(\beta x) \quad (\beta \text{可学习,常固定为1})
\]
特点:
非单调性有助于模型捕捉复杂特征。
在极负区域梯度非零,缓解梯度消失。
应用:
部分LLM的前馈网络替代GeLU( 如PaLM中使用 SwiGLU 变体 )。
轻量级模型的激活函数选择。
(3) ReLU及其变体
ReLU:
\[\text{ReLU}(x) = \max(0, x)
\]
优势:计算高效,稀疏激活。
劣势:输出非零中心化,可能导致“神经元死亡”。
LLM应用:部分早期模型( 如T5 )仍使用ReLU,但逐渐被GeLU取代。
Leaky ReLU:
\[\text{LeakyReLU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{otherwise} \end{cases} \quad (\alpha \text{为小斜率,如0.01})
\]
用途:缓解ReLU的死亡问题,但在LLM中较少使用。
2. 门控机制激活函数
(1) GLU( Gated Linear Unit )
公式:
\[\text{GLU}(x) = (W_1 x + b_1) \otimes \sigma(W_2 x + b_2)
\]
特点:通过门控信号动态调节特征重要性,增强模型表达能力。
变体:
SwiGLU:用Swish替代Sigmoid作为门控函数( PaLM、LLaMA-2使用 )。
GeGLU:用GeLU作为门控函数( T5变体 )。
优势:显著提升模型容量,适合大规模参数下的特征交互。
计算代价:参数量和计算量翻倍,需权衡性能与效率。
(2) GAU( Gated Attention Unit )
特点:将门控机制融入注意力层,动态调节注意力权重( 如FLASH模型 )。
公式:
\[\text{GAU}(Q, K, V) = \sigma(W_q Q + W_k K) \otimes (W_v V)
\]
3. 动态/参数化激活函数
(1) PReLU( Parametric ReLU )
公式:
\[\text{PReLU}(x) = \max(0, x) + \alpha \cdot \min(0, x) \quad (\alpha \text{可学习})
\]
用途:自适应调整负区斜率,但LLM中较少使用。
(2) Dynamic Activation Functions
Mixture-of-Experts( MoE )激活:
不同专家( 子网络 )通过门控选择激活路径( 如Switch Transformer )。
优势:动态激活不同参数子集,提升模型容量和稀疏性。
4. 选择激活函数的考量因素
训练稳定性:
GeLU/Swish的平滑性比ReLU更适合深层LLM训练。
计算效率:
ReLU > GeLU > GLU( 门控结构增加计算量 )。
模型容量:
门控机制( GLU/SwiGLU )显著提升模型表达能力,但需更多参数。
硬件优化:
激活函数的计算是否容易被融合( 如CuDNN的fused GeLU优化 )。
5. 常见LLM的激活函数实例
模型
激活函数
应用场景
GPT-3/4
GeLU
FFN层
PaLM
SwiGLU
FFN层( 替代GeLU )
LLaMA-2
SwiGLU
FFN层
BERT
GeLU
FFN层
T5
ReLU
FFN层( 轻量化设计 )
FLASH
GAU
注意力层门控
面试回答要点
强调GeLU和SwiGLU:解释它们在LLM中的主流地位及数学动机。
对比ReLU与GeLU:GeLU的平滑性如何缓解梯度问题。
门控机制的价值:GLU变体如何通过动态门控增强模型容量。
实际部署考量:激活函数对训练速度、显存占用和硬件支持的影响。
通过掌握这些核心概念,你可以清晰展示对LLM底层机制的理解!