Convolution の Padding に指定する SAME/VALID

Tensorflow の tf.nn.convolution などは padding という引数を取り、文字列で VALID か SAME のどちらかを指定する。なぜ SAME/VALID という名前なのだろうか。。

Tensorflow の Document に計算式が載っている。
https://www.tensorflow.org/api_docs/python/tf/nn/convolution

SAME を指定すると 0 パディング が行われて、(ストライドの値にもよるが) 入力が小さくならずに、同じサイズで出力される。VALID にすると、足りない分はサイズが小さくなっていく。

英語に疎くてあれなのですが、SAME だと入力サイズと同じになるという意味で使われるのだとしたらまだ分かるのですが、なぜ Padding が Valid (有効) だと、パディングされない挙動になるのでしょうか?

TensorFlow – 畳み込み演算の関数 tf.nn.conv2d
https://blog.logicky.com/2017/01/18/tensorflow-%E7%95%B3%E3%81%BF%E8%BE%BC%E3%81%
ちょっとしたコードを確認するのに凄く参考になります。

コメントを残す

メールアドレスが公開されることはありません。