私はこのpaperに基づいてテキスト分類のCNNモデルを実装しました。 CNNは固定サイズの文章しか扱えないので、私はデータセットの文の最大長として入力のサイズを設定し、短い文はゼロを埋めます。しかし、私の理解のために、入力文がどれくらい長くても、最大プール戦略は常に各フィルタマップに対して1つの値しか抽出しません。したがって、入力文のサイズが長くても短くても問題はありません。なぜなら、フィルタが畳み込まれた/プールされた後、出力は同じサイズになるからです。この場合、すべての短い文章を固定サイズに詰める必要がありますか?テキスト分類におけるCNNモデルの入力の可変サイズ?
例えば、CNNモデルにデータを供給するための私のコードは、私がmax_len
を指定し、現在のトレーニング文の長さに基づいているNone value
を使用していないことができ、self.input_data = tf.placeholder(tf.int32,[None,max_len],name="input_data")
のですか?
さらに、私は、CNNモデルの変数入力を解決できる他の新しいアプローチがあるのだろうかと思っていました。私はまた、この問題を解決できる他のpaperを見つけましたが、私の理解のために、max-poolingの1つの値の代わりにmax-poolingのk値を使用しました。どうやって?
と呼ばれています。私が知っているように、バッチ内のトレーニングデータは同じ長さでなければならないため、文章の長さ(またはパディング)を制限するために 'max_len 'を使用します。つまり、トレーニングデータの形状は '[batch_size、max_len]'となります。入力データに対して '[none、none]'を指定することはできません。 – greeness