当在深度神经网络中采用 Sigmoid 激活函数时 网络训练容易出现梯度消失问题 为分析此现象 请先求解 Sigmoid 导函数的值域 并根据该范围 进一步对该现象进行分析
Sigmoid 函数的导函数为 $f'(x) = \sigma(x)(1-\sigma(x))$, 其中 $\sigma(x)$ 表示 Sigmoid 函数.
将 $f'(x)$ 进行拆分可得到:
$$f'(x) = \sigma(x) - \sigma^2(x)$$
由于 Sigmoid 函数的值域在 $(0,1)$ 内, 因此 $f'(x)$ 的值域也在 $(0,1)$ 内.
当网络层数较多时, 梯度将会被多次乘以导数值小于 $1$ 的 Sigmoid 函数的导数, 导致梯度不断衰减, 最终梯度变得非常小甚至消失, 使得网络无法继续学习. 这就是所谓的梯度消失现象.
因此, 在深度神经网络中, 为了避免梯度消失现象, 通常会采用其他的激活函数, 如 ReLU、LeakyReLU 等.
原文地址: https://www.cveoy.top/t/topic/fa7A 著作权归作者所有。请勿转载和采集!