現在、単純なニューラル ネットワークとバックプロップ アルゴリズムを Python で numpy を使用して実装しています。中心差分を使用して backprop メソッドを既にテストしましたが、結果の勾配は同じです。
ただし、ネットワークは単純な正弦曲線を近似できません。このネットワークには、tanh 活性化関数を持つ 1 つの隠れ層 (100 ニューロン) と、線形活性化関数を持つ出力層があります。各ユニットにはバイアス入力もあります。トレーニングは、学習率 0.2 の単純な勾配降下法によって行われます。
問題は、すべてのエポックが大きくなる勾配から発生しますが、その理由はわかりませんか? さらに、学習率を下げても問題は変わりません。
編集: コードをペーストビンにアップロードしました: http://pastebin.com/R7tviZUJ