sigmoid 函数如何帮助我们减少神经网络中的错误?

人工智能 神经网络
2021-11-02 20:32:15

就像在 sigmoid 函数中一样,当输入 x 非常大或非常小时,曲线是平坦的,这意味着梯度下降低,但是当它在斜率之间时更是如此,我的问题是这个东西如何帮助我们在神经网络中。

1个回答

使用逻辑函数有几个好处,也有一些缺点。我不打算讨论所有这些,但这里有一个小概要。

尼斯物业

在此处输入图像描述

对于计算概率的网络,它将输入特征带入一个不错的 0 到 1 范围。

由于逻辑函数将输入映射到范围 (0,1),因此它通常用作需要某种分类的神经网络中的激活函数。例如,如果我们有一个卷积神经网络 (CNN) 来分类给它的图像是否是狗,它可能有一个输出神经元,如果图像不是狗则返回 0,如果是狗则返回 1。当为 CNN 提供具有不同尺寸和范围的输入的图像时,处理 0 到 1 范围内的输入特征而不是 0 到 255 或您正在处理的任何输入格式会更直观。

它是平滑且可微的。

在执行反向传播时,处理差分函数要容易得多。否则,您必须近似梯度,这可能会导致不利的结果。

一个消失的问题

在极值处,梯度消失。

OP 还暗示,在 X 的非常正和非常负的值下,逻辑函数的导数可能接近 0。对于大输入值,这可能会阻碍对极值的学习。如果您考虑梯度下降,那么梯度下降所产生的跳跃仅与其所需的梯度幅度一样强。从分析上讲,这也损害了反向传播,因为学习是使用链式法则计算的,最终将多个梯度相乘。