最大/合計プールで何が起こっているかをCNNレイヤー操作として概念的に理解していますが、この用語「時間の経過に伴う最大プール」または「時間の経過に伴う合計プール」がスローされているのがわかります(例: 「畳み込みニューラルネットワーク」)文の分類について " ユン・キムによる論文)。違いはなんですか?
Max-over-timeプーリングは通常NLPで適用されるため(コンピュータービジョンタスクのCNNで一般的な通常のmax-poolとは異なり)、セットアップは少し異なります。
Max-over-timeプーリングへの入力は、機能マップc = [c(1), ..., c(n-h+1)]
であり、サイズn
のフィルターを使用して長さh
の文に対して計算されます。畳み込み演算は画像を使用する演算と非常に似ていますが、この場合、単語の1次元ベクトルに適用されます。これは paper の式(3)です。
Max-over-timeプーリング操作は非常に単純です:max_c = max(c)
、つまり、特徴マップ全体で最大値を取得するのは単一の数値です。これを行う理由は、CNNのように文を「ダウンサンプリング」するのではなく、NLPではコーパス内で文の長さが自然に異なるためです。これにより、文ごとに特徴マップが異なりますが、テンソルを固定サイズに縮小して、最終的にソフトマックスまたは回帰ヘッドを適用したいと思います。論文で述べられているように、それは最も重要な特徴、各特徴マップの最も高い値を持つものをキャプチャすることを可能にします。
コンピュータビジョンでは、画像は通常128x28
や32x32
のように同じサイズであるため、フィーチャマップをすぐに1x1
にダウンサンプリングする必要はありません。
時間の経過に伴う合計プーリングは同じです。
1 最新のCNNは、さまざまなサイズの画像でトレーニングできますが、これにはネットワークがすべて畳み込みである必要があるため、プーリング層はありません。詳細については、 この質問 を参照してください。
最大プーリングは通常、2D特徴平面の領域に適用されますが、時間の経過に伴う最大プーリングは1D特徴ベクトルに沿って発生します。
これはスタンフォード大学の最大プーリングのデモンストレーションです CS231n :
時間の経過に伴う最大プーリングは、1次元の特徴ベクトルを取り、最大値を計算します。 「時間の経過」とは、これが、文のようないくつかの連続した入力、またはリンクした論文のように文からのすべてのフレーズの連結の時間次元に沿って発生していることを意味します。
例えば:
[2, 7, 4, 1, 5] -> [7]