在神经网络中,激活函数就像神经元的"开关"和"变速器",决定信号是否传递以及传递的强度。没有它,神经网络就退化为简单的线性回归。
公式:
特点:
适用场景:二分类输出层
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x)) 公式:
特点:
适用场景:绝大多数隐藏层
def relu(x):
return np.maximum(0, x) 公式:
特点:
适用场景:RNN隐藏层
在Altair PhysicsAI等工程场景中:
def constrained_relu(x, threshold):
"""带物理约束的ReLU变体"""
return np.minimum(threshold, np.maximum(0, x)) def energy_aware_activation(x, E_max):
"""确保输出不超过最大能量E_max"""
scale = E_max / (np.abs(x).sum() + 1e-8)
return x * np.minimum(1, scale) ![激活函数曲线对比图]
(示意图显示:Sigmoid的S形曲线、ReLU的折线、Tanh的对称S形、Leaky ReLU的负斜率)
想象激活函数就像水龙头:
为什么需要它们?
工程中的特殊需求: