質問: 畳み込みやプーリングの考え方がわからないです。 現在、以下のサイトを見て勉強しています。 http://www.buildinsider.net/small/booktensorflow/0202 その中で画像のような説明が出てきました。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/e050d97acd65b577474bc5de8061ef09.gif) 説明には 畳み込みやプーリングでは、小さなフィルター(パッチ)をスライドさせて、データ全体をスキャンします。そのため、スライド幅を1とした場合、処理後のサイズは入力するデータより[縦横のサイズ - 1]の分、小さくなります。 例えば、[32x32]の画像を[5x5]のフィルター、スライド幅1で畳み込むと、処理後のサイズは[28x28]になります。 と書いてありました。しかし、[32x32]から縦横-1をしても[31x31]にしかならないし、フィルターとスライド幅分を縦横から引いても[26x26]にしかならないし、どう計算しても[28x28]になりません。なぜここでは[28x28]が算出されているのでしょうか?また、スライド幅1で畳み込むとはどういうことでしょうか?あとパッチ=バッチ(tf.train.batchメソッドで使われるもの)と同じですよね?
回答: とりあえず横方向のみで、元画像の大きさを変えて考えると分かりやすいです。 元画像[5x5] -> スライドできないので1個だけ。 元画像[6x6] -> 1回スライドできるので2個。 : 元画像[32x32] -> (32-5)回スライド+1個で28個。 画像のフィルター(パッチ)は`patch`なのでtf.train.batchとは全く別のものです。