神经网络激活函数、损失函数与反向传播详解
1. 激活函数
1.1 ReLU及其局限性
ReLU(Rectified Linear Unit)函数表达式为 ( ReLU(z) = max(0,z) )。在大型网络中,ReLU通常能显著加快训练速度,像TensorFlow和TFLearn等多数框架都能轻松在隐藏层使用ReLU。然而,它存在一个明显问题:所有负值都会变为零,这会导致无法正确映射负值,进而影响最终图形,还会降低模型从数据中拟合或学习的能力。
1.2 Leaky ReLU
Leaky ReLU(lrelu)的出现就是为了弥补ReLU的这个缺陷。其函数表达式如下:
[
g(Z) =
\begin{cases}
Z & \text{if } Z > 0 \
aZ & \text{otherwise}
\end{cases}
]
lrelu的取值范围是 (-\infty) 到 (+\infty)。在图中,a通常取值为0.01,当a不为0.01时,该函数被称为Randomized ReLU。
1.3 Softmax
Sigmoid函数在分类问题中只能处理两类情况,而对于多类分类问题,Softmax函数是更优选择。Softmax函数会计算每个目标类在所有可能目标类中的概率,其输出范围在0到1之间,且所有概率之和等于1。
下面我们从基础开始推导Softmax函数。假设输入向量 ( x = [x_1, x_2, x_3, x_4] ) 有3个标签a、b、c,模型权重如下表所示:
| |
超级会员免费看
订阅专栏 解锁全文
2967

被折叠的 条评论
为什么被折叠?



