問題タブ [sequence-to-sequence]

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.

0 投票する
2 に答える
210 参照

python - CNTK を使用して、各生成ステップでサンプリングしてシーケンスを生成する

エンコーダーとデコーダーを備えた seq2seq モデルでは、各生成ステップでソフトマックス層が語彙全体の分布を出力します。CNTK では、C.hardmax 関数を使用して貪欲なデコーダーを簡単に実装できます。このように見えます。

ただし、各ステップで、最大の確率でトークンを出力したくありません。代わりに、ボキャブラリの確率分布に従ってトークンを生成するランダム デコーダーが必要です。

どうやってやるの?どんな助けでも大歓迎です。ありがとう。

0 投票する
1 に答える
423 参照

python - Keras は LSTM / 時系列問題の次元引数をどのくらい正確にとりますか?

データを Keras にフィードする方法の問題に対する具体的な答えを見つけることができないようです。ほとんどの例は、画像/テキストデータで機能しているようで、データポイントが明確に定義されています。

音楽を LSTM ニューラル ネットワークにフィードしようとしています。ネットワークで 3 秒以内の音楽を再生し、次の 2 秒をノミネートしたいと考えています。私は自分の音楽を .wav ファイルに準備し、X (最初の 3 秒) と Y (最後の 2 秒) に分解した 5 秒間隔に分割しました。私は 44,100 Hz で音楽をサンプリングしたので、X は 132,300 オブザベーションの長さであり、Y は 88,200 オブザベーションの長さです。

しかし、Keras をデータ構造に橋渡しする方法が正確にわかりません。Tensorflow バックエンドを使用しています。

問題と答えを一般化するために、次元を表すのに A、B、C を使用します。このサンプル データと私の実際のデータの唯一の違いは、これらが 0 から 1 までのランダムな値であり、私のデータが整数の配列であることです。

ただし、モデルを構成して、「最初の」(A) 次元に観測が含まれていることと、多かれ少なかれ音楽 (B) をチャネル (C) ごとに分割したいことを理解する方法がよくわかりません。

これをモノ (および 2 次元の問題) に変換する方がおそらく簡単であることはわかっていますが、これに「単純な」解決策があるかどうか、非常に興味があります。または、モデルを別の方法で考えるべきかどうか。

主な質問は次のとおりです。X データを Y データに変換できるモデルをどのように構築すればよいでしょうか?

理想的には、答えは、上記のデータ構造に合わせて以下のモデルを変更する方法を示します。

ただし、これによりエラーが発生します (モデル = ... ステップで):

Keras がどこで ndim=4 のデータを見ることが期待されているのかわかりません。また、モデルが観測値が A 軸に分散され、データ自体が B 軸と C 軸に分散されることを「理解」するように、データをモデルに確実にフィードする方法がわかりません。

何か不明な点がありましたら、コメントを残してください。2017 年 9 月頃までこれを注意深く観察し、残されたアドバイスやコメントを反映するようにこの質問を更新します。

ありがとう!

0 投票する
2 に答える
1121 参照

python - Tensorflow RNN:重複のないシーケンスを推測する方法は?

私は、シードラベルを指定してラベルの出力シーケンスを生成する seq2seq RNN に取り組んでいます。推論ステップ中に、一意のラベルのみを含むシーケンスを生成したいと思います (つまり、出力シーケンスに既に追加されているラベルをスキップします)。これを行うために、出力に追加されたラベルを記憶し、そのロジット値を に減らすサンプラー オブジェクトを作成しました-np.inf

サンプラーコードは次のとおりです。

推論グラフのコードは次のようになります。

残念ながら、結果にはまだラベルが重複しています。さらに、 にアクセスしようとすると、sample_fn.ids_mask次のエラー メッセージが表示されます。ValueError: Operation 'inf_decoder/decoder/while/BasicDecoderStep/add_1' has been marked as not fetchable.

私は何を間違っていますか?そして、そのようなものを作成することはどのくらい合法sample_fnですか?