神经网络中的几个激活函数如何处理这么多不同的问题?
我知道 ANN 背后的一些基本理论,但我无法得到像 sigmoid 函数等与图像分类等有共同点的函数?
神经网络中的几个激活函数如何处理这么多不同的问题?
我知道 ANN 背后的一些基本理论,但我无法得到像 sigmoid 函数等与图像分类等有共同点的函数?
图像分类和其他任务可以表示为函数逼近,理论上,神经网络可以逼近(几乎)任何函数(给定激活函数的一些假设(参见Universal Approx. Theorem))。
然而,在实践中,并非所有满足这些假设的功能都同样有效。流行的激活函数通常共享一些允许神经网络在实践中有效学习的属性,例如它们是连续可微的(对于梯度下降),接近零附近的恒等(加速从小的随机权重的初始学习)等等。
像 sigmoid 函数这样的激活函数与图像分类或任何其他任务没有直接关系。相反,它们允许对神经网络进行有效训练,进而可以使用不同的架构和成本函数来表示各种各样的任务。
为了回答您关于为什么 sigmoid 或 tanh 而不是 sin 或 cos 的额外问题,我想说虽然所有这些函数的输出都有界,但只有 sigmoid 和 tanh 是一对一的函数。
回答您关于为什么在图像分类等示例中需要激活的问题(我有同样的感觉,为什么在世界上需要激活函数,为什么它真的存在于神经网络中)。
所以,有一些事情你应该事先知道:
神经网络只是非常“深度复合函数”,它们通过反向传播使用梯度下降来优化目标函数或损失函数。
神经网络的设计方式非常简单,正如 Hinton 先生所说,它们实际上是非常愚蠢的算法,它们运行得如此之好,这表明从人脑中得出的类比几乎与人脑做出决定的方式一样准确。
现在,神经网络由称为感知器的神经元组成,它们接收输入的加权和,然后将输入的加权和传递给激活函数,然后传递到下一层,这就是神经网络中前馈传递的样子。
如前所述,神经网络通过反向传播使用称为梯度下降的方法来最小化损失函数。现在,使用激活函数有两个主要原因:
4.1 Mr.hinton 提出了这种方法,即通过梯度下降优化神经网络的反向传播,梯度下降简单地利用神经网络的复合函数性质来计算损失函数的变化率 wrt 权重(你的神经网络的参数和逐层结构有助于通过分而治之的策略进行某种程度的贪婪优化)和偏差现在计算这个你需要一些可微的连续函数并且还具有一对一的映射(这样对于任何特定的输入你都会得到一个特定的该输入唯一的输出值,这就是周期性函数不具有的原因t 工作)以便我们能够计算它们的导数,从而解决我们的优化问题,因为直接传递输入的加权和将使其对于梯度下降不可微(因为它可以是离散的也可以是连续的,但你永远不会确定)这就是为什么它首先通过激活,以便输出现在是连续的并且单调递增(如 sigmoid 和 tanh 的情况)。
4.2 第二个原因是神经网络的工作方式源自人脑,作为人类,当我们看到事物或做出决定时,我们大脑的某些部分比现在使用这个类比的其他部分更活跃。Hinton 先生认为神经网络具有通用表示能力,现在可以表示任何类型的数据,同时做出预测,某些神经元可能会触发,某些神经元可能不会触发来测量它们并比较神经元的触发能力我们需要一个可以测量每个神经元的触发能力的量表可比的规模,这就是激活函数根据激活范围来缩放输出的地方。还,
现在回答第二部分:
正弦是周期函数。因此,低输入值和高输入值可能会产生相同的输出(这是一种多对一映射);换句话说,低输入值和高输入值通过正弦曲线看到是相似的,这会抛出输入信号的幅度,这意味着您的神经网络甚至可能无法学习任何东西。
有利于sigmoid和tanh函数的两个关键因素是:
此外,使用sigmoid和tanh的目的是不同的。它们的边界分别是 (0,1) 和 (-1,1)。因此,sigmoid适合计算事件的概率,而tanh更适合分类两个类别。
图像分类的一个基本问题是预测图像中是否有猫。因此,使用tanh函数,我们得到范围为 (-1,1) 的最终值。因此,您可以根据最终值是负数还是正数来决定图像分类的最终结论。