プーリング処理による画像サイズの変化について

Convolutional Neural Networks で畳み込みとプーリングのときに画像サイズが小さくなっていきますが,サイズの変化の仕方について疑問があったので書き残しておきます.

公式

処理後の画像サイズを求める公式みたいなのが一応あります.

としたときに

サイトによっては

で算出されるとなっているのを見かけますが,考えてみるとたぶん

ですよね.

実際に計算してみる

MNIST

元の画像は で,プーリング層を二回経て画像が小さくなっています.フィルタサイズは ,ストライド幅が 2 なので,最終的な出力は になります.

AlexNet

元の画像が で,最初の畳み込み層に入力する前にストライド幅 4 で のフィルタにかけられ, になるはずです.

となるので,床関数ではなく天井関数を適用するのが正しい気がします.

TensorFlow での実行

の画像をストライド幅 3 で のフィルタにかけたら になっているんですが,上式ではどう頑張っても 55 にしかなりません.

どこかで実行間違ってたんですかね...