为什么神经网络需要激活函数?我知道这是为了捕捉“非线性”,但我一直无法找到一个合适的脚踏实地的解释。特别是,我对 ReLU 函数很好奇,因为它非常有效,但看起来很简单。这如何捕捉非线性?
为什么神经网络需要激活函数?
机器算法验证
神经网络
深度学习
2022-03-14 08:05:13
1个回答
通常,非线性用于通过函数灵活地压缩输入并为恢复更高级别的抽象结构铺平道路,但请允许我变得更具体。
我发现的关于 ReLU 激活的信息量最大的插图之一如下:
图片来自A. Punjani 和 P. Abbeel的作品,描绘了一个带有 ReLU 激活单元的简单神经网络。现在假设您有一个 2D 输入空间,可以看出 ReLU 单元实际上对输入空间进行分区并回归到您想要的结果,其中空间分区是非线性操作。这就是它如此强大的原因,因为它允许组合不同的输入转换,这些转换是从数据集本身学习的。
更具体地说,作者的描述是:
ReLU 网络模型的灵活性的图形表示。每个隐藏单元都可以被认为是在如图所示的 2D 输入空间中定义一个超平面(线)。数据点(灰色)每个都落在输入空间的某个位置,每个都有一个我们希望回归的值(未图示)。考虑隐藏单元,以紫色绘制。紫色箭头指向权向量 的方向 ,长度与一致 。这条线一侧的点不会激活单元,而另一侧的点(阴影)导致正输出。这有效地划分了输入空间,并且通过考虑许多隐藏单元(蓝色)生成的分区将空间划分为多个区域。这些区域使模型可以灵活地捕获输入数据中的结构。在 ReLU 网络模型中,分区是从数据中学习的。
其它你可能感兴趣的问题