【问题标题】:Backpropogation: WHERE is Derivative of Transfer Function反向传播:WHERE 是传递函数的导数
【发布时间】:2014-05-27 00:50:10
【问题描述】:

首先:我了解导数和链式法则。我数学不是很好,但我有一个理解。

许多关于反向传播的教程(让我们使用thisthis)使用梯度下降状态,我们使用传递函数(sigmoid 或 tanh)的导数来计算梯度,从而计算接下来的行进方式。在这些教程中,我将 (t-o)(1-o)(o) 视为计算输出神经元误差的公式,这似乎是误差计算 (1/2)(t-o)^2 * ( 1-o)。 (t = 目标,o = output_actual)

为什么我在任何地方都看不到传递函数的导数(假设为 sigmoid):e^x/((e^x + 1)^2)?或者当使用 tanh 作为传递函数时: sech^2(x) ... 其中 x = 加权输入?

另外,一些教程使用 (target - actual) , (target - actual)^2 [平方和 - 对负输出有用] 或平方误差函数:(1/2)(target - actual)^2。

传递函数的导数在哪里,使用哪个正确的误差公式?

【问题讨论】:

  • 您是否寻找过“准牛顿法”?
  • 不,但我会的。在开始进一步修改之前,我更关心的是了解最常见(也是最容易找到的)错误传播方法。
  • 对不起,我认为这可以解释为什么你找不到 TF 的导数,因为伪牛顿法不需要它

标签: neural-network backpropagation derivative


【解决方案1】:

为什么我在任何地方都看不到传递函数的导数(假设为 sigmoid):e^x/((e^x + 1)^2)?

您可以,它在您链接的 wiki 页面中表示为 和派生的 。如果我们扩展后者,我们得到 ​​p>

(1/(1+e^-x))*(1-1/(1+e^-x)) = e^x/(e^x+1)^2

这是您记下的原始表格。

或者当使用tanh作为传递函数时:sech^2(x) ... where x = weighted input?

好吧,在这种情况下,这是因为页面没有提到 tanh 作为潜在的激活函数。但在现实生活中,它以类似的方式表达,这样我们就可以避免任何不必要的计算。

(目标 - 实际)^2 [平方和 - 对负输出有用] 或平方误差函数:(1/2)(目标 - 实际)^2。

差异只是一个常数因素。如果你保持除以 2,数学结果会更好一些。在实践中,唯一会改变的是你的学习率会隐式地乘/除以 2,具体取决于你看的角度。

另外,一些教程使用(目标 - 实际)

你可能误读了。 (t-a) 将是 (t-a)^2/2 的导数。 Just (t-a) 会有 -1 的导数,我相当肯定这会阻碍 nn 的学习。

【讨论】:

    【解决方案2】:

    求函数的导数是一个常见的微积分主题。

    您也可以使用在线mathematica 这样做,这里:http://www.wolframalpha.com/

    要输入的代码是

    D[ 1/(1+e^(-x)), x ]
    

    您可以使用 Mathematica 表示法输入任何函数:http://integrals.wolfram.com/about/input/

    借助导数,您可以将其代入误差函数的一般公式。当导数太复杂时,可以尝试使用函数 Simplify[...] 来寻找更好的解析形式。

    至于选择使用哪种传递函数,您可以考虑它们的域和范围。逻辑函数 (1 / (1 + exp(-x)) 的范围为 (0,1),但 atan(x) 函数的范围为 (-1, 1)。如果对学习算法进行数学分析,选择传递函数的大小可能很重要。但是,如果您正在运行模拟,则传递函数的选择应该不是关键,只要它们具有 S 形(S 形)即可。

    要指出的另一件事是,逻辑函数 (1 / (1 + exp(-x) ) 只是 sigmoidal 函数的一个实例。atan(x) 也是 sigmoidal。

    【讨论】:

    • 您显然没有阅读我的问题。 e^x/((e^x + 1)^2) 是sigmoid函数的导数。
    • 好的。已更正。逻辑函数的公式是 1/(1+e^(-x))。请区分逻辑函数和 sigmoid 函数,这经常被混淆。 atan 也是 sigmoid。
    猜你喜欢
    • 2016-05-09
    • 2017-06-21
    • 2016-06-16
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 2015-08-16
    相关资源
    最近更新 更多