問題タブ [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.
python - Autoencoder で fit_generator が機能するために必要な変更
現在、畳み込みネットワークで正常に動作するジェネレーターを使用しています。ただし、オートエンコーダーのフィッティングに同じジェネレーターを使用すると、次のエラーが発生します。
私のコードは次のとおりです
ジェネレーターに加えた唯一の変更は、クラス モードを [なし] に設定することでした。クラスモードを「バイナリ」のままにしておくことも役に立ちませんでした。fit_generator はタプルを想定しているので、(train_generator, train_generator) と (valid_generator,valid_generator) を引数として fit_generator に渡してみました。
その場合、次の例外が発生しました
モデル入力をチェックする際のエラー: データは Numpy 配列、または Numpy 配列のリスト/dict である必要があります。見つかった:
しかし、何も機能していないようです。何が欠けているのかわからない。ケラスの初心者であるため、どんな助けでも大歓迎です。
ありがとうSK
machine-learning - tensorflow のスペア オートエンコーダー
テンソルフローにスパースオートエンコーダーの例はありますか? ここから通常のものを実行して理解することができましたhttps://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/autoencoder.py
スパースの場合、コスト関数を変更するだけでよいですか?
machine-learning - Weka のスパース オートエンコーダー
私はそれについてあまり知識がありませんが、Weka でスパース オートエンコーダーを使用する方法はありますか? 現時点では、MPLAutoencoder を使用したばかりで、スパーシング用に構成できるかどうかはわかりません。ありがとうございました。
machine-learning - パラメータ数に関して、オートエンコーダとニューラルネットワークのオーバーフィッティング?
私は1100
2つのクラスのシーケンスを持っています。それら400
の 1 からのものclass 1
であり700
、からのものclass 2
です。2
ニューロンの 1 つの隠れ層オート エンコーダーを使用して、特徴をキャプチャしました。私の最初の機能は、各シーケンスのトライグラムです。したがって、シーケンスごとに6860
トライグラムがあります。その結果、私の入力ベクトルのほとんどは疎なベクトルです。
さて、このネットワークのパラメータを計算すると、
さて、私のデータポイントの数と比較して、それはあまりにも多くのパラメータです. したがって、ドロップアウト値を使用しました 、0.98
およびlayer 1->hidden layer
各レイヤーhidden layer->output layer
のパラメーターの数とパラメーターの合計数を作成します。13720 * 0.02 = 274
548
さて、トレーニングの後、シーケンスのテストデータでエンコーダーを試し、500
2次元データの隠れ層を抽出しました。次に、そのデータを別の 5 ニューロンの単一隠れ層ニューラル ネットワークで使用して分類します。私の結果は、90%
正確さを回避しているという点で非常に優れています。
私の質問は、オートエンコーダーにオーバーフィットしていますか? 別のニューラル ネットワークを使用して過剰適合していませんか? データポイントの数が少ないことが心配です。私のドロップアウトの使用は賢明に思えますか?
python - オートエンコーダーが入力と同じ出力を持つのに十分な1つの隠れ層
私は Theano ベースの自動エンコーダーを使用して作業を行っており、1 つの隠れ層であるガウス分布の混合からのサンプルとして入力を提供しています。出力が入力と同じになることを期待していましたが、達成できていません。このチュートリアルの実装に触発されました。隠れ層が 1 つしかないオートエンコーダーでも、出力の正確なレプリカを復元するのに十分ですか?
私のコードは以下のようになります:
neural-network - オートエンコーダー - エンコーダーとデコーダーのネットワークサイズ?
私はオートエンコーダーについて読んでおり、デコーダーを構築するときにエンコーダー部分を反映しているすべての例を参照してください。
これは単に慣習によるものですか?
デコーダーがエンコーダーとは異なる隠れ層構造を持つべきではない特定の理由はありますか? 例えば...
入力と出力が一致する限り。
多分私は明らかな何かを見逃しています。
python - numpy.array による tflearn の初期化
tflearn を使用して自動エンコーダーを作成しています。RBM から学習したパラメーター (np.array) を使用して、重みとバイアスを初期化したいと考えています。
次のような方法を試しました。
為に
しかし、私はいつもエラーが発生しました
私が使用する場合:
エラーが発生しました:
誰でもいくつかの提案をすることができますか?
machine-learning - 音楽用 LSTM オートエンコーダー - Keras [シーケンスからシーケンスへ]
そのため、約 200 曲 (曲あたり約 3 ~ 5 分) のセグメントの固定ベクトル表現を学習しようとしており、そのために LSTM ベースの Sequence-to-sequence Autoencoder を使用したいと考えていました。
次のように(librosaを使用して)オーディオを前処理しています:
- 私は最初に、曲ごとに (1500000,) - (2500000,) 前後の形状の生のオーディオ信号時系列を取得しています。
- 次に、各生の時系列をセグメントにスライスし、曲ごとに (512, 3000) - (512, 6000) の下位レベルのメル スペクトログラム マトリックスを取得します。これらの (512,) ベクトルのそれぞれは、曲の一部を表すため、「ミニ曲」と呼ぶことができます。
- これらすべての曲のミニ曲をすべて縦に積み重ねて、トレーニング データを作成します (これをXと呼びましょう)。X のサイズは (512, 600000) であることがわかります。最初の次元 (512) はウィンドウ サイズで、2 番目の次元 (600000) はデータセット内の「ミニソング」の総数です。
- つまり、X には約 600000 のミニソングがあります。X の各列は、長さ (512,) のミニソングを表します。
- これらの (512,) ミニソング ベクトルのそれぞれは、ミニソングごとに (50,) ベクトルにエンコードする必要があります。つまり、プロセスの最後には 600000 (50,) ベクトルになります。
- より標準的な用語では、それぞれの長さが 512 の 600000 個のトレーニング サンプルがあります。私の場合を除いて、長さ 512 のサンプルを一時的なプロパティを持つシーケンスとして扱いたいと思います。]
ここで例を読んで、それを私のユースケースに拡張しようとしていました。レイヤーのパラメーターtimesteps
とinput_dim
パラメーターを何に設定する必要があるのか 疑問に思っていました。Input
私はtimesteps = X.shape[0]
(この場合は512)とinput_dim = X.shape[1]
(600000)を設定しています。これは正しい方法ですか?
編集:上記の説明を追加しました。
matlab - スタック スパース オートエンコーダーのパラメーター
MATLAB を使用して、スタック スパース オートエンコーダーに取り組んでいます。Stacked Sparse Autoencoder パラメーターにどの値を使用する必要があるかを提案できますか
?