ReLU(Rectified Linear Unit)是深度学习中最常用的激活函数之一,其公式为:
f(x) = max(0, x)
它通过引入非线性特性,帮助神经网络学习复杂模式。🌱
📘 参数说明
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
function | str |
'relu' |
激活函数名称,支持 'relu' 或 'linear' |
name | str |
None |
激活层名称,用于模型调试 |
dtype | tf.DType |
None |
数据类型,如 tf.float32 |
⚠️ 注意:ReLU的参数在Keras中通常通过
activation
参数传递给层(如Dense
),而非直接调用tf.keras.activations.relu
。
🧪 使用示例
import tensorflow as tf
# 定义模型
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(32,)),
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
📌 关键特性
- 计算高效:仅需一次比较操作,显著加速训练
- 缓解梯度消失:正区间梯度恒为1,适合深层网络
- 可变体:如
Leaky ReLU
(tf.nn.leaky_relu
)可解决死亡神经元问题
📚 扩展阅读
如需深入了解ReLU的数学原理与优化技巧,可参考官方文档中的详细说明。📖