ケラスの畳み込み層のborder_mode


7

Kerasには、convolution2Dの2つのborder_modeがあり、同じで有効です。「同じ」とは何かを説明したり、ドキュメントを指摘したりできますか?私はネット上でドキュメントを見つけることができませんでした(theanoにも実装することを求める人々を除いて)。

回答:


12

ボーダーモードが "有効"の場合、コンボリューションは入力とフィルターが完全にオーバーラップする場所でのみ計算されるため、入力よりも小さい出力が得られます。

ボーダーモードが「同じ」の場合、入力と同じサイズの出力が得られます。これは、フィルターが「フィルターサイズ/ 2」だけ入力の境界の外側に出なければならないことを意味します。通常、入力の外側の領域にはゼロが埋め込まれます。

一部のライブラリーは、フィルターが入力の境界のさらに外側にある境界線モード「フル」もサポートしていることに注意してください-「フィルターサイズ-1」まで。これにより、出力形状が入力よりも大きくなります。

numpyのたたみ込みドキュメントに短い説明があります。

http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.convolve.html


有効な場合、出力は小さくなります。これは私が慣れている畳み込みの一種です。フィルターが元の画像を移動するため、出力は小さくなります。「同じ」を使用すると、元の画像から同じサイズを取得することになります。それらの点の入力は何ですか、それらはゼロであると想定しますか?
ユーザー

1
はい、上記を参照してください-「入力の外側の領域は通常ゼロで埋められます」。一部のライブラリでは、パディングに使用する値を指定できます。Kerasはゼロを使用します。
stmax
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.