問題タブ [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.
deep-learning - Theano/Lasagne でフィードフォワード オート エンコーダーを作成するときに次元が間違っている
3000 個の入力、2 個の非表示ニューロン、および 3000 個の出力ニューロンを持つ単純なオートエンコーダーを作成したいと考えています。
トレーニング データの形状は次のとおりです。
これは、入力、ターゲット、および損失関数の定義です。
1 つのエポックを実行しているだけですが、エラーが発生します。
これはエラーです:
ValueError: ('shapes (3000,3) and (3000,2) notaligned: 3 (dim 1) != 3000 (dim 0)', (3000, 3), (3000, 2)) 原因となった適用ノードエラー: Dot22(inputs, W) Toposort インデックス: 3 入力タイプ: [TensorType(float64, matrix), TensorType(float64, matrix)] 入力形状: [(3000, 3), (3000, 2)] 入力ストライド: [ (24, 8), (16, 8)] 入力値: ['not shown', 'not shown'] 出力クライアント: [[Elemwise{add,no_inplace}(Dot22.0, InplaceDimShuffle{x,0}.0 ), Elemwise{Composite{(i0 * (Abs(i1) + i2 + i3))}}[(0, 2)](TensorConstant{(1, 1) of 0.5}, Elemwise{add,no_inplace}.0, Dot22.0, InplaceDimShuffle{x,0}.0)]]
私には、自動エンコーダーのボトルネックが問題のようです。何か案は?
image - Caffe - 画像データ/画像ラベルのペアを使用したオートエンコーダーのトレーニング
私はカフェにとても慣れていません。私の仕事は、1 つは神経のグレースケール画像で、もう 1 つは画像に特定の構造が存在するかどうかを示す対応するバイナリ マスクである .tif 形式で与えられた画像ペアでオートエンコーダ ネットをトレーニングすることです。これらは同じ「train」フォルダーにあります。私が達成したいのは、これらの画像を使った有意義な実験です (セグメンテーション、分類、指定されていません)。私の最初の問題は、既存の train.txt がないと画像をネットにフィードする方法がわからないことです。画像を直接使用できますか、または必要な lmdb、hdf5 などの別の形式を使用できますか? どんな提案でも大歓迎です。
tensorflow - 隠れユニットが 0 の Tensorflow Autoencoder は何かを学習します
現在、単純なオートエンコーダーを使用していくつかのテストを実行しています。私は自分で Autoencoder を完全に Tensorflow で作成し、さらにこの keras ブログ エントリからコードをコピーして貼り付けました: https://blog.keras.io/building-autoencoders-in-keras.html (別の Autoencoder 実装を使用するため) .
さまざまなアーキテクチャをテストしていたとき、単一のレイヤーと、このレイヤー内のいくつかの非表示ユニットから始めました。隠しユニットの数を 1 つ (!) だけに減らしても、より大きなアーキテクチャ (最大数千の隠しユニット) で得られるのと同じトレーニングとテストの損失が発生することに気付きました。私のデータでは、最悪の損失は 0.5 です。私が試したアーキテクチャはどれも ~ 0.15 です。
好奇心から、唯一存在する隠しレイヤーの隠しユニットの数をゼロに減らしました (これは意味がありません)。ただし、トレーニングとテストの損失は 0.15 です。この奇妙な動作は、デコード層のバイアスが原因である可能性があると想定しました(入力を再構築するとき)。最初に、バイアス変数 (TF 内) を trainable=True に設定しました。したがって、隠れユニットがなくても、モデルはデコード層のバイアスを学習し、損失が 0.5 から 0.15 に減少する可能性があると思います。
次のステップでは、デコード レイヤーのバイアスを trainable=False に設定します。これで、モデル (隠れユニットなし) は、予想どおり、何も学習しません (損失 = 0.5)。しかし、隠しユニットが 1 つあると、テストとトレーニングで約 0.15 の損失が発生します。
この考え方に従って、アーキテクチャがバイアスのみを学習することを避けたかったので、エンコーディング レイヤーのバイアスを trainable=False に設定しました。これで、オートエンコーダーの重みのみがトレーニング可能になりました。これは、単一の非表示ユニット (もちろん、単一の非表示レイヤーのみ) に対しても機能します。驚くべきことに、これは単層ネットワークの場合にのみ機能します。レイヤーの数を増やすとすぐに (隠れユニットの数とは関係なく)、ネットワークは再び何も学習しません (重みのみが更新される場合)。
私が報告したことはすべて、トレーニングの損失だけでなく、テストの損失にも当てはまります (完全に独立したデータセットで、マシンには表示されません)。これにより、私はさらに興味をそそられます。
私の質問は次のとおりです: 1 つのノードの「ネットワーク」から、より大きなネットワークからと同じくらい多くのことを (トレーニングとテストの両方で) 学習するにはどうすればよいでしょうか? 第 2 に、より大きなネットでもオーバーフィットしないように見えるのはどうしてでしょうか (トレーニング エラーとテスト エラーはわずかに変化しますが、常に比較可能です)。どんな提案もとても役に立ちます!どうもありがとう!ニルス
deep-learning - DeepLearning4J: FeedForward Auto Encoder で形状が一致しない
IoT センサー データの異常検出用の自動エンコーダーを実装しています。私のデータセットはシミュレーションから得られたものですが、基本的には加速度計のデータで、軸ごとに 1 つの 3 つの次元です。
私はCSVファイルからそれを読んでいます.列2-4にはデータが含まれています-コードの品質について申し訳ありません.それは速くて汚いです:
これはネットです:
次のエラーが表示されます: Shapes do not match: x.shape=[1, 9000], y.shape=[1, 3]
.examples.feedforward.autoencoder.AnomalyDetector.main(AnomalyDetector.java:136)
しかし、私はどこにも次元を定義していません。私見では、入力と出力の次元は (3,3000) と (3,3000) である必要があります。私の間違いはどこですか?
事前にどうもありがとう...
編集: 最新のリリース 13.9.16 に更新します。(意味的に) 同じエラーが発生します。現在行っていることは次のとおりです。
そしてここにネット:
私のエラーは次のとおりです。
私はトレーニングデータを台無しにしていると確信しています-トレーニングデータの形状は3000行、3列です-ターゲットも同じです(オートエンコーダーを構築したいのでまったく同じデータです)-テストデータはここにあります: https://pmqsimulator-romeokienzler-2310.mybluemix.net/data
何か案は?
matlab - 10 ^ 5疎行列でMatlabオートエンコーダーを実行しているメモリ不足のエラー
pbAttack と呼ばれる 10^5 の正方疎行列があります。各要素は、ノード i とノード j の間に接続があるかどうかを表します。接続がある場合、pbAttack(i,j) = 1。それ以外の場合、pbAttack (i,j) = 0。次に、このチュートリアルに従って使用したいと思います: Matlab Autoencoders。リンクされた Matlab チュートリアルと同じコードを使用します。自分のデータを使用するためだけに変更します。ただし、次のエラーが発生しました。
これらのエラーはすべて、マトリックスの巨大なサイズが原因ですか? それほど多くのメモリを必要としないようにするための回避策はありますか? どうもありがとう。
python - Keras の畳み込み自動エンコーダの出力サイズ
Keras ライブラリの作成者によって書かれた畳み込みオートエンコーダーのチュートリアルを行っています: https://blog.keras.io/building-autoencoders-in-keras.html
ただし、まったく同じコードを起動し、summary() でネットワークのアーキテクチャを分析すると、出力サイズが入力サイズと互換性がないようです (オートエンコーダーの場合に必要)。summary() の出力は次のとおりです。
python - オートエンコーダーをコンパイルするときの keras のエラー?
これは私のオートエンコーダーのモデルです:
これは私の当てはめと予測関数です:
これをコンパイルしようとすると、次のエラーが発生します。私のデータセットのすべての画像は 32x32 ピクセルです。なぜこのエラーですか?
入力形状が (1,32,32) になるように、モデルでどのような変更を行う必要がありますか?