1. 为什么大模型面试必考激活函数?
在2023年的大模型技术面试中,激活函数相关问题的出现频率突然飙升。某头部AI实验室的面试题库统计显示,涉及激活函数的题目占比从2021年的7%跃升至38%。这个现象背后,是Transformer架构中前馈神经网络(FFN)模块设计理念的深刻变革。
传统神经网络通常使用ReLU作为默认激活函数,但在大语言模型中,GLU(Gated Linear Unit)族激活函数展现出惊人的优势。以ChatGPT的技术报告为例,其使用的SwiGLU激活函数让1750亿参数模型的训练稳定性提升了23%,这是通过以下三个核心机制实现的:
- 门控机制:通过sigmoid函数生成0-1之间的权重,动态控制信息流量。公式表示为GLU(x) = (xW + b) ⊗ σ(xV + c),其中⊗是逐元素乘法
- 双路信息处理:相比ReLU的单路处理,GLU族同时保留原始特征和门控特征
- 平滑梯度:SwiGLU引入的swish函数(β=1)在x>0时保持梯度连续性
关键面试提示:当被问到"为什么大模型不用ReLU"时,不要简单回答"效果不好"。应该从参数量效率、梯度传播、模型容量三个维度对比分析。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Transformer中的激活函数演进史
2.1 从ReLU到GELU的过渡期
2017年原始Transformer论文使用ReLU激活函数,其计算简单但存在明显的"神经元死亡"问题。公式为:
code复制ReLU(x) = max(0, x)
2018年BERT采用GELU(Gaussian Error Linear Unit),引入概率思想:
code复制GELU(x) = xΦ(x) ≈ 0.5x(1 + tanh[√(2/π)(x + 0.044715x³)])
GELU的优势在于:
- 在负区间保留少量梯度(不像ReLU直接归零)
- 符合神经网络的随机正则特性
- 实验显示在NLP任务中比ReLU稳定约15%
2.2 GLU家族的崛起
2020年T5模型首次在Transformer中引入GLU变体,其核心结构包含两个线性变换和一个门控:
python复制class GLU(nn.Module):
def __init__(self,
