2017-12-05 5 views
0

こんにちはみんな、オートエンコーダは、私だけが1Dにいくつかの簡単な2Dデータを縮小オートエンコーダに今働いているリニア出力

を提供します。アーキテクチャは2 - 10 - 1 - 10 - 2ニューロン/レイヤーです。アクティベーション機能としてすべてのレイヤーでsigmoidを使用しますが、出力レイヤーではアイデンティティを使用します。 私はそれを構築するためにAccord.NET Frameworkを使用しています。

私は、RBMとCDアルゴリズムでオートエンコーダーを事前トレーニングしています。ここでは、初期の重み、学習率、運動量、および体重減少を変更できます。

微調整は、私が学習率と勢いを設定できるバックプロパゲーションによって行われます。

データは、いくつかの人工的に作成された形状であり、画像の緑色のマークされている:オートエンコーダの

data + reconstruction

再構成が黄色の線です。それは私の問題につながります。何とかエンコーダは出力として非線形を作成することができません。 私はarroundをたくさん試して値を数十回変えましたが、私は良い結果を得ていません。たぶん誰かがここで問題を見つける方法を知っているかもしれない。

ありがとうございます!一般的な任意のニューラルネットワークにおける

答えて

0

ルックがそのようにネットが実際に何をしているのか(二つの特徴を考慮)出力に対するあなたの機能のための線形表現に基づいていることである[W1の*×1 + W2の*×2 =出力]。

非線形表現を実現するために必要なことは、古いフィーチャの非線形表現である特別なフィーチャを使用することです。たとえば、追加機能としてx1^2を使用したり、x2^2またはその両方を使用するとします。したがってネットは、この大域方程式[w1 * x1 + w2 * x2 + w3 * x1^2 = output]を自然に非線形方程式とし、非線形表現にすることができます。

追加機能の式は、主にデータに依存します。私の例では二次方程式を使用しましたが、必ずしも正しいことではありません。あなたはcos(x)またはsin(x)表現を使用する必要があると思います。 Your data

関連する問題