激活函数和激活函数汇总
激活函数和激活函数汇总
激活函数详细总结表
激活函数 | 数学表达式 | 导数表达式 | 详细特点及原理 | 输出范围 | 优点 | 缺点 | 使用场景 |
---|---|---|---|---|---|---|---|
Sigmoid | σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+e−x1 | σ ′ ( x ) = σ ( x ) ( 1 − σ ( x ) ) \sigma'(x) = \sigma(x)(1-\sigma(x)) σ′(x)=σ(x)(1−σ(x)) | • 输出范围原理: - x→+∞时,e^(-x)→0,σ(x)→1 - x→-∞时,e^(-x)→+∞,σ(x)→0 • 梯度消失原因: - σ’(x) = σ(x)(1-σ(x)) - x很大或很小时导数接近0 • 非零中心影响: - 造成锯齿形更新路径 | [0,1] | • 输出有概率解释 • 导数计算简单 | • 梯度消失 • 非零中心 • 计算成本高 | • 二分类输出层 • 早期隐藏层 |
ReLU | f ( x ) = max ( 0 , x ) f(x) = \max(0, x) f(x)=max(0,x) | f ′ ( x ) = { 1 if x > 0 0 if x < 0 undefined if x = 0 f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ 0 & \text{if } x < 0 \\ \text{undefined} & \text{if } x = 0 \end{cases} f′(x)=⎩ ⎨ ⎧10undefinedif x>0if x<0if x=0 | • 缓解梯度消失: - 正区间梯度恒为1 - 负区间避免负梯度累积 • 稀疏性形成: - 负值置0提高特征提取 • 死亡问题: - 负区间梯度为0导致 | [0,+∞) | • 计算快速 • 缓解梯度消失 • 产生稀疏性 | • 神经元死亡 • 非零中心 | • 深度网络默认 • CNN |
Tanh | tanh ( x ) = e x − e − x e x + e − x \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} tanh(x)=ex+e−xex−e−x | tanh ′ ( x ) = 1 − tanh 2 ( x ) \tanh'(x) = 1 - \tanh^2(x) tanh′(x)=1−tanh2(x) | • 零中心化好处: - 输入分布均衡 - 梯度更稳定 • 梯度消失原因: - tanh’(x) = 1 - tanh²(x) - |x|大时导数接近0 | [-1,1] | • 零中心化 • 梯度比Sigmoid大 | • 梯度消失 • 计算复杂 | • RNN/LSTM • 浅层网络 |
Leaky ReLU | f ( x ) = { x if x > 0 α x if x ≤ 0 f(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases} f(x)={xαxif x>0if x≤0 | f ′ ( x ) = { 1 if x > 0 α if x < 0 f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ \alpha & \text{if } x < 0 \end{cases} f′(x)={1αif x>0if x<0 | • 解决死亡ReLU: - 负区间保持小梯度 - 允许恢复激活 • 更快收敛: - 保持信息流动 - 平滑权重更新 | (-∞,+∞) | • 避免死亡问题 • 收敛更快 | • 需要调参α • 表现不稳定 | • ReLU替代品 • 负值输入多时 |
PReLU | f ( x ) = { x if x > 0 a x if x ≤ 0 f(x) = \begin{cases} x & \text{if } x > 0 \\ ax & \text{if } x \leq 0 \end{cases} f(x)={xaxif x>0if x≤0 | f ′ ( x ) = { 1 if x > 0 a if x < 0 f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ a & \text{if } x < 0 \end{cases} f′(x)={1aif x>0if x<0 | • 自适应学习: - a通过反向传播学习 - 每个神经元可不同 • 过拟合风险: - 参数增加 - 需要更多数据 | (-∞,+∞) | • 自适应学习 • 性能潜力大 | • 可能过拟合 • 训练复杂 | • 需要自适应场景 |
ELU | f ( x ) = { x if x > 0 α ( e x − 1 ) if x ≤ 0 f(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha(e^x - 1) & \text{if } x \leq 0 \end{cases} f(x)={xα(ex−1)if x>0if x≤0 | f ′ ( x ) = { 1 if x > 0 α e x if x ≤ 0 f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ \alpha e^x & \text{if } x \leq 0 \end{cases} f′(x)={1αexif x>0if x≤0 | • 平滑过渡: - x=0处导数连续 - 减少训练震荡 • 负值饱和: - 输出有界 - 抗噪声 | (-α,+∞) | • 平滑过渡 • 负值有界 | • 计算复杂 • 训练慢 | • 需要鲁棒性时 |
SELU | SELU ( x ) = λ { x if x > 0 α ( e x − 1 ) if x ≤ 0 \text{SELU}(x) = \lambda \begin{cases} x & \text{if } x > 0 \\ \alpha(e^x - 1) & \text{if } x \leq 0 \end{cases} SELU(x)=λ{xα(ex−1)if x>0if x≤0 | SELU ′ ( x ) = λ { 1 if x > 0 α e x if x ≤ 0 \text{SELU}'(x) = \lambda \begin{cases} 1 & \text{if } x > 0 \\ \alpha e^x & \text{if } x \leq 0 \end{cases} SELU′(x)=λ{1αexif x>0if x≤0 | • 自归一化: - λ≈1.0507 - α≈1.6733 - 自动均值方差归一 • 深层优势: - 避免梯度问题 - 保持信息稳定 | (-∞,+∞) | • 自归一化 • 防止梯度问题 | • 使用限制多 • 需特定初始化 | • 深层网络 |
Softmax | softmax ( x i ) = e x i ∑ j = 1 n e x j \text{softmax}(x_i) = \frac{e^{x_i}}{\sum_{j=1}^n e^{x_j}} softmax(xi)=∑j=1nexjexi | ∂ softmax ( x i ) ∂ x j = { s i ( 1 − s i ) if i = j − s i s j if i ≠ j \frac{\partial \text{softmax}(x_i)}{\partial x_j} = \begin{cases} s_i(1-s_i) & \text{if } i=j \\ -s_is_j & \text{if } i \neq j \end{cases} ∂xj∂softmax(xi)={si(1−si)−sisjif i=jif i=j | • 概率分布形成: - 指数确保正值 - 归一化和为1 • 数值稳定性: - 减去最大值 • 多分类优势: - 类别间竞争关系 | [0,1]总和为1 | • 多分类自然 • 概率解释 | • 计算复杂 • 可能溢出 | • 多分类输出层 |
损失函数详细总结表
损失函数 | 数学表达式 | 导数表达式 | 详细特点及原理 | 输出范围 | 优点 | 缺点 | 使用场景 |
---|---|---|---|---|---|---|---|
MSE (均方误差) | L = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 L = \frac{1}{n}\sum_{i=1}^n(y_i - \hat{y}_i)^2 L=n1i=1∑n(yi−y^i)2 | ∂ L ∂ y ^ i = − 2 n ( y i − y ^ i ) \frac{\partial L}{\partial \hat{y}_i} = -\frac{2}{n}(y_i - \hat{y}_i) ∂y^i∂L=−n2(yi−y^i) | • 误差平方的原理: - 放大大误差的影响 - 保证误差为正 • 梯度特性: - 误差越大梯度越大 - 对异常值敏感 | [0,+∞) | • 导数连续 • 计算简单 • 物理意义明确 | • 对异常值敏感 • 收敛可能较慢 | • 回归问题 • 输出连续值 |
MAE (平均绝对误差) | L = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ L = \frac{1}{n}\sum_{i=1}^n|y_i - \hat{y}_i| L=n1i=1∑n∣yi−y^i∣ | ∂ L ∂ y ^ i = − 1 n sign ( y i − y ^ i ) \frac{\partial L}{\partial \hat{y}_i} = -\frac{1}{n}\text{sign}(y_i - \hat{y}_i) ∂y^i∂L=−n1sign(yi−y^i) | • 绝对值的作用: - 减小异常值影响 - 保持线性惩罚 • 梯度特性: - 恒定梯度大小 - 在零点不可导 | [0,+∞) | • 对异常值鲁棒 • 误差线性增长 | • 零点不可导 • 梯度大小固定 | • 回归问题 • 存在异常值时 |
交叉熵 | L = − ∑ i = 1 n y i log ( y ^ i ) L = -\sum_{i=1}^n y_i\log(\hat{y}_i) L=−i=1∑nyilog(y^i) | ∂ L ∂ y ^ i = − y i y ^ i \frac{\partial L}{\partial \hat{y}_i} = -\frac{y_i}{\hat{y}_i} ∂y^i∂L=−y^iyi | • 信息论基础: - 衡量概率分布差异 - 惩罚错误预测 • 梯度特性: - 预测越错误梯度越大 - 与Softmax配合良好 | [0,+∞) | • 适合概率输出 • 训练收敛快 | • 需要概率分布 • 数值不稳定 | • 分类问题 • Softmax输出层 |
Hinge Loss | L = ∑ i = 1 n max ( 0 , 1 − y i y ^ i ) L = \sum_{i=1}^n\max(0, 1-y_i\hat{y}_i) L=i=1∑nmax(0,1−yiy^i) | ∂ L ∂ y ^ i = { − y i if y i y ^ i < 1 0 otherwise \frac{\partial L}{\partial \hat{y}_i} = \begin{cases} -y_i & \text{if } y_i\hat{y}_i < 1 \\ 0 & \text{otherwise} \end{cases} ∂y^i∂L={−yi0if yiy^i<1otherwise | • 间隔最大化: - 追求分类边界 - 支持向量特性 • 稀疏性: - 只关注边界样本 - 忽略远离边界的样本 | [0,+∞) | • 最大化间隔 • 计算高效 | • 非概率输出 • 对标签敏感 | • SVM • 二分类问题 |
Huber Loss | L = { 1 2 ( y − y ^ ) 2 if ∣ y − y ^ ∣ ≤ δ δ ∣ y − y ^ ∣ − 1 2 δ 2 otherwise L = \begin{cases} \frac{1}{2}(y-\hat{y})^2 & \text{if } |y-\hat{y}| \leq \delta \\ \delta|y-\hat{y}|-\frac{1}{2}\delta^2 & \text{otherwise} \end{cases} L={21(y−y^)2δ∣y−y^∣−21δ2if ∣y−y^∣≤δotherwise | ∂ L ∂ y ^ = { − ( y − y ^ ) if ∣ y − y ^ ∣ ≤ δ − δ sign ( y − y ^ ) otherwise \frac{\partial L}{\partial \hat{y}} = \begin{cases} -(y-\hat{y}) & \text{if } |y-\hat{y}| \leq \delta \\ -\delta\text{sign}(y-\hat{y}) & \text{otherwise} \end{cases} ∂y^∂L={−(y−y^)−δsign(y−y^)if ∣y−y^∣≤δotherwise | • 混合特性: - 结合MSE和MAE优点 - δ控制切换点 • 梯度特性: - 小误差二次梯度 - 大误差线性梯度 | [0,+∞) | • 对异常值鲁棒 • 梯度平滑过渡 | • 需要调节δ • 计算相对复杂 | • 回归问题 • 存在异常值时 |
Focal Loss | L = − α ( 1 − y ^ ) γ y log ( y ^ ) L = -\alpha(1-\hat{y})^\gamma y\log(\hat{y}) L=−α(1−y^)γylog(y^) | ∂ L ∂ y ^ = − α γ ( 1 − y ^ ) γ − 1 y log ( y ^ ) + α ( 1 − y ^ ) γ y y ^ \frac{\partial L}{\partial \hat{y}} = -\alpha\gamma(1-\hat{y})^{\gamma-1}y\log(\hat{y}) + \alpha(1-\hat{y})^\gamma\frac{y}{\hat{y}} ∂y^∂L=−αγ(1−y^)γ−1ylog(y^)+α(1−y^)γy^y | • 动态缩放: - γ控制难样本权重 - α平衡正负样本 • 聚焦效应: - 关注难分类样本 - 降低易分类样本权重 | [0,+∞) | • 处理类别不平衡 • 关注难样本 | • 参数敏感 • 计算复杂 | • 类别不平衡 • 目标检测 |
KL散度 | L = ∑ i = 1 n y i log ( y i y ^ i ) L = \sum_{i=1}^n y_i\log(\frac{y_i}{\hat{y}_i}) L=i=1∑nyilog(y^iyi) | ∂ L ∂ y ^ i = − y i y ^ i \frac{\partial L}{\partial \hat{y}_i} = -\frac{y_i}{\hat{y}_i} ∂y^i∂L=−y^iyi | • 分布差异度量: - 衡量信息损失 - 非对称特性 • 概率解释: - 信息增益 - 相对熵 | [0,+∞) | • 概率分布比较 • 信息论基础 | • 非对称性 • 要求概率分布 | • 概率分布学习 • 变分推断 |