だから私は自分自身にニューラルネットワークを教えようとしています(猫の写真を分類するのではなく、回帰アプリケーションのために)。
私の最初の実験は、FIRフィルターと離散フーリエ変換を実装するためのネットワークのトレーニング(「前」と「後」の信号でトレーニング)でした。これらはどちらも活性化機能のない単一のレイヤーで実装できる線形演算だからです。 どちらもうまくいきました。
それで、私はを追加してabs()
、振幅スペクトルを学習させることができるかどうかを見たかったのです。最初に、非表示層に必要なノードの数を考え、3のReLUがの大まかな近似に十分であることを認識したabs(x+jy) = sqrt(x² + y²)
ので、その操作を単独の複素数(2入力→3 ReLUノードの非表示層→1)で単独でテストしました出力)。時々それは動作します:
しかし、私がそれを試すほとんどの場合、それは極小値で行き詰まり、正しい形を見つけることができません:
KerasですべてのオプティマイザーとReLUバリアントを試してみましたが、それほど違いはありません。このような単純なネットワークを確実に収束させるために他に何かできることはありますか?それとも私は間違った態度でこれに近づいていますか、そしてあなたは問題で必要以上に多くのノードを投げるはずであり、それらの半分が死んだとしても大したこととは考えられませんか?