1

チュートリアルからANNを作っています。チュートリアルでは、sigmoid と dsigmoid は次のとおりです。

sigmoid(x) = tanh(x)

dsigmoid(x) = 1-x*x

ただし、定義により、dsignmoid はシグモイド関数の導関数であるため、( http://www.derivative-calculator.net/#expr=tanh%28x%29 ):

dsigmoid(x) = sech(x)*sech(x)

1-x*x を使用すると、トレーニングは収束しますが、数学的に正しい導関数を使用すると、つまり. sech 二乗すると、トレーニング プロセスは収束しません。

問題は、なぜ 1-x*x が機能し (重みを修正するようにトレーニングされたモデル)、数学的導関数 sech 2 (x) が機能しない (反復の最大回数後に取得されたモデルが間違った重みを保持する) ことです。

4

1 に答える 1