我有一个问题:我一直假设将非线性应用于神经网络以计算误差表面的最小值。如果函数为 f(x)=mx+b,则导数始终为 f'(x) = 1。
这是应用非线性(通过 sigmoid 函数的例子,其导数为 f'(x)=f(x)*(1-f(x)))的原因之一吗?
非常感谢。
我有一个问题:我一直假设将非线性应用于神经网络以计算误差表面的最小值。如果函数为 f(x)=mx+b,则导数始终为 f'(x) = 1。
这是应用非线性(通过 sigmoid 函数的例子,其导数为 f'(x)=f(x)*(1-f(x)))的原因之一吗?
非常感谢。
神经网络是您的问题的模型,对输入进行预测。损失函数是相对于观察结果的预测准确性的度量。“线性度”通常是指模型。线性模型是一个非常简单的模型:许多有趣的问题可以用线性函数来近似,但通常你需要一个更复杂的模型。由于线性函数的顺序组合仍然是线性的,因此深度网络的表现力源于插入非线性激活函数来调制人工神经元的输出(近似阈值滤波器)的事实。这些非线性函数必须是可导出的,才能与反向传播算法一起使用。独立于模型,损失函数可以是“线性的”(L1),例如绝对偏差之和,或非线性的,例如均方残差 (L2) 或其他不同的损失函数。同样,损失函数也必须是可导出的。
例如,参见 Hinton 等人的这个讲座。用于讨论具有 L2 损失函数的简单线性模型(然后丰富了 sigmoid 激活函数)。