ニューラルネットワークで入力ベクトルの長さの変更を処理する方法


9

文字のシーケンスを入力ベクトルとして使用して、ニューラルネットワークをトレーニングします。学習例は長さが異なるため、それらを表現する方法がわかりません。

ここに名前の2つのシーケンスの例があるとします。

john doe
maurice delanoe

最初の例は長さ8、2番目の例は長さ15です。

これらの両方の例を学ぶ方法はありますか?同じ学習システムでサイズ8と15の両方の入力ベクトルを使用することを意味します。

ご協力いただきありがとうございます !

回答:


4

さまざまな入力サイズのNNについて考えられる3つの一般的な戦略があります。

  1. 入力を前処理して同じサイズを保存します。たとえば、人々はしばしば画像のサイズを(アスペクト比を無視して)NNの標準的な正方形の解像度に変更します。言語の場合、意味がある場合は、すべての単語をシンボリック表現に変換できます(たとえば、「john」= 1、「james」= 2、「maurice」= 3、「kelly」= 4、「doe」= 5)。アプリケーションで。
  2. スライディングウィンドウを使用します。ネットワークは入力の固定サイズの部分を確認し、ウィンドウを一定のストライドでスライドさせてもう一度(最初から)実行し、最後に到達するまで繰り返し、すべての出力を何らかの方法で結合します。
  3. #2と同じですが、再帰型ニューラルネットワークを使用して、各ストライド間で引き継がれる内部状態をネットワークに持たせます。これは、たとえば、NNが音声を処理する方法です。明らかに、これは他のオプションよりもアーキテクチャへの劇的な変更ですが、多くの言語タスクではこれが必要になる場合があります(長い入力があり、文字列全体の情報を複雑な方法で組み合わせる必要がある場合)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.