私は UFLDL チュートリアル (matlab/octave 内) に取り組んできました:
http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial
さまざまなデータセットでスパースオートエンコーダーを試しています。時系列データで実行してみましたが、問題が発生しました。入力データが負の値であるため、シグモイド活性化関数 (1/1 + exp(-x)) は不適切です。tanh に代入すると、最適化プログラム minfunc (L-BFGS) が失敗します (ステップ サイズが TolX 未満)。TolX 定数を変更せずに劇的に減らしました。出力層を線形に変更し、入力層をシグモイドのままにしましたが、これは望ましい解決策ではありません。オートエンコーダーの出力は定数 (0.5) で拡大され、コスト関数が大きくなります。つまり....要するに:
Tanh活性化関数がL-BFGSで機能しないのはなぜですか? (または何か他の問題がありますか)?
..何が欠けていますか? どこを読んでも、アクティベーション関数はかなり交換可能であると書かれています。回避策 (データの再スケーリング、FFT 係数の使用など) があることは知っていますが、なぜこれが機能しないのかわかりません。
とにかく、答えてくれた人に前もって感謝します!ここへの最初の投稿、私はこれらのタイプのフォーラムをますます読んでおり、ますます役立つと感じています..