卷积神经网络,第二个转换层如何在第一个合并层

时间:2017-10-09 06:01:50

标签: tensorflow

我正在阅读TensorFlow网站上的资料:

https://www.tensorflow.org/tutorials/layers

假设我们有10个灰度单色28x28像素图像,

  1. 如果我们在第一个转换层中应用32个5x5卷积滤波器和0填充,我们得到10 * 32 * 28 * 28数据。
  2. 如果我们在第一个池中应用2x2 max pooling with stride 2,我们会得到10 * 32 * 14 * 14的数据。
  3. 到目前为止,一张图片已成为一张14 * 14尺寸的图像,有32个频道。
  4. 因此,如果我们应用第二个卷积层(比如链接中的64个5x5滤波器),我们是否将这些滤波器应用于每个图像的每个通道并获得10 * 32 * 64 * 14 * 14数据?

2 个答案:

答案 0 :(得分:2)

是和否。您确实将过滤器应用于每个频道和每张图片,但您不会获得10*32*64*14*14输出尺寸。输出的维数将为10*64*14*14,因为该图层为每个图像指定了64个输出通道。反过来,用于此卷积的权重将具有32*64*5*5的大小(对于输入上的每个通道,64个5乘5的过滤器)。

答案 1 :(得分:1)

没有。 如果你卷入&使用一组64个14x14x32过滤器填充(忽略批量大小)5x5卷,您最终会得到14x14x64输出量

每个卷积滤波器都沿整个输入深度进行卷积。因此,您的14x14x32输入音量会与5x5过滤器进行卷积,然后输出为14x14x1要素图。

然后,64个过滤器堆栈的第二个5x5过滤器再次与输入卷卷积。 对64个滤镜中的每一个进行相同的操作,并将生成的要素图堆叠起来,形成输出量14x14x64