問題タブ [autoencoder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neural-network - このオートエンコーダー ネットワークを適切に機能させることができません (畳み込みレイヤーと maxpool レイヤーを使用)
オートエンコーダーネットワークは、通常の分類子 MLP ネットワークよりも複雑なようです。ラザニアを使用して何度か試みた後、再構成された出力で得られるものはすべて、入力数字が実際に何であるかを区別せずに、 MNISTデータベースのすべての画像のぼやけた平均によく似たものです。
私が選択したネットワーク構造は、次のカスケード層です。
- 入力レイヤー (28x28)
- 2D 畳み込み層、フィルター サイズ 7x7
- 最大プーリング層、サイズ 3x3、ストライド 2x2
- 密な (完全に接続された) 平坦化層、10 単位 (これがボトルネックです)
- 高密度 (全結合) レイヤー、121 ユニット
- レイヤーを 11x11 に変形
- 2D 畳み込み層、フィルター サイズ 3x3
- 2D アップスケーリング レイヤー係数 2
- 2D 畳み込み層、フィルター サイズ 3x3
- 2D アップスケーリング レイヤー係数 2
- 2D 畳み込み層、フィルター サイズ 5x5
- 機能最大プーリング (31x28x28 から 28x28 へ)
すべての 2D 畳み込み層には、バイアスが解かれ、シグモイド活性化と 31 個のフィルターがあります。
すべての全結合層にはシグモイド活性化があります。
使用される損失関数は二乗誤差であり、更新関数はadagrad
です。学習用のチャンクの長さは、1000 エポックを掛けた 100 サンプルです。
完全を期すために、次のコードを使用しました。
このネットワークを改善して、合理的に機能するオートエンコーダーを取得する方法についてのアイデアはありますか?
machine-learning - Autoencoder をスタックする方法 / Theano クラスで Deep Autoencoder を作成する方法
Stacked/Deep Autoencoders の背後にある概念を理解しているため、単層ノイズ除去 Autoencoder の次のコードを使用して実装したいと考えています。Theano は Stacked Autoencoder のチュートリアルも提供していますが、これは教師ありの方法でトレーニングされています。
次のコードでこれを機能させる方法はありますか?
python - Lasagne/nolearn autoencoder - 隠れ層の出力を取得する方法は?
lasagne/nolearn を使用してオートエンコーダーをトレーニングしました。ネットワーク層が [500, 100, 100, 500] であるとします。私は次のようにニューラルネットを訓練しました:
次のようなことをしたい:
そのため、データの抑制された表現を取得します。したがって、初期データの形状が [10000, 500] の場合、結果のデータは [10000, 100] になります。
検索しましたが、その方法を見つけることができませんでした。ラザニア/ノーラーンで可能ですか?
machine-learning - 一般にディープ オートエンコーダー/ディープ ラーニングを使用する場合の適切な平均二乗誤差
私は現在、Deep Autoencoders のトレーニングを停止するタイミングを考えています。特に、ローカル ミニマムでスタックしているように見える場合は特にそうです。
使用するデータセットに応じて、トレーニング基準 (MSE など) を 0.000001 に設定し、強制的に入力を完全に再構築することが不可欠ですか、それとも違いを保持しても問題ありませんか (MSE が約 0.5 のときに停止するなど)。
より良い再構成が後でより良い分類結果につながる可能性があることは知っていますが、停止する「経験則」はありますか? 私は、「MSE が x 回の反復で小さくならない場合」のようなヒューリスティックな性質を持たないルールに特に興味があります。
python - Keras オートエンコーダーの精度/損失は変化しません
これが私のコードです:
X の形状は (537621, 256) です。サイズ 256 のベクトルを 100 に、次に 70 に、次に 50 に圧縮する方法を見つけようとしています。
出力は次のとおりです。
エポック 1/500 537621/537621 [============================] - 27 秒 - 損失: 0.1339 - acc: 0.0036
エポック2/500 537621/537621 [============================] - 32 秒 - 損失: 0.1339 - acc: 0.0036
エポック 3 /500 252336/537621 [=============>................] - ETA: 14 秒 - 損失: 0.1339 - acc: 0.0035
そして、それはこのように延々と続く..
machine-learning - オートエンコーダーからデータを抽出した後、データを再度正規化する必要がありますか?
データの事前トレーニングに Autoencoder を使用しました。そのために、入力データを正規化し、Autoencoder に渡します。その結果、オートエンコーダーは機能の数を減らすことになります。
ここで、オートエンコーダーの出力を予測タスクに使用したいと考えています。そのために、オートエンコーダーの出力を完全なフィード ネットワークに渡したいと考えています。
私の質問は、完全なフィード ネットワークに渡す前に、データを再度正規化する必要がありますか?