問題タブ [rnn]
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.
elasticsearch - 機械学習を使用した異常検出の作成
エラスティック スタックの新しいx-pack MLには非常に感銘を受けました。彼らの技術は、時間の経過とともにデータ パターンを学習し、複数のドメインの異常を予測できるようです。
同様の機能を作成するには、どのようなアプローチとネットワーク トポロジを使用できるかを考えていました。x-pack は時系列データで機能するため、RNN が良い出発点になると想定するのは公正ですか?
あなたの意見や参考文献に興味があります。
python - Tensorflow: リカレント ニューラル ネットワークのバッチ トレーニング
Tensorflow で RNN を実装しようとしています。RNN セルを使用して練習する代わりに、独自の関数を作成しています。
問題はシーケンスのタグ付けです。入力サイズは [32, 48, 900] で、32 はバッチ サイズ、48 はタイム ステップ、900 はワンホット エンコードされたベクトルである語彙サイズです。出力は [32, 48, 145] で、最初の 2 つの次元は入力と同じですが、最後の次元は出力語彙サイズ (ワンホット) です。基本的に、これは NLP タグ付けの問題です。
次のエラーが表示されます:
InvalidArgumentError (トレースバックについては上記を参照): ロジットとラベルは同じサイズでなければなりません: logits_size=[48,145] labels_size=[1536,145]
実際の labels_size は [32, 48, 145] ですが、制御なしで最初の 2 つのディメンションをマージします。参考までに 32*48 = 1536
バッチ サイズ 1 で RNN を実行すると、期待どおりに正常に動作します。問題を解決する方法がわかりませんでした。コードの最後の行で問題が発生しています。
コードの関連部分を貼り付けました:
tensorflow - Bahdanau seq2seq 実装で tf.contrib.seq2seq.TraininHelper が期待する入力は何ですか?
Bahdanau の論文を読み、それを現在の tf.contrib.seq2seq API に翻訳した後、デコーダに何を入力するべきか混乱しています。特に、TrainingHelper はタイムシフトされたラベルのリストを受け取る必要があるようです。
以下は私の実際の例ですが、正しいかどうかはわかりません。
最後から 3 番目の行に注意してください。
TrainingHelper は、エンコーダーの注釈をアテンション ラップされたデコーダー システムにフィードすることになっていますか?
- 長所:
inputs
が のような形状でない場合annotations
、AttentionWrapper は形状について不平を言うことになります。システム内でそのような形状が発生する唯一の場所はエンコーダーです。 - con: これが正しい場合、デコーダはどこでグラウンド トゥルースを取得しますか?
- 短所: アテンション ラップ デコーダ (
attn_cell
) は、アノテーションを取得する場所を既に知っています (アテンション メカニズムのポイントではありませんか?)
とにかく、実際に言えば、トレーニング可能なシステムを取得していますが、何か怪しいように思えます (単純な LSTM に比べてパフォーマンスが低いという事実を含め、現時点では間違いなく接線です)。