Machine learning CNN网络,继续使用conv2d,而不使用maxpool,阅读keras书中的一个问题

Machine learning CNN网络,继续使用conv2d,而不使用maxpool,阅读keras书中的一个问题,machine-learning,keras,neural-network,conv-neural-network,Machine Learning,Keras,Neural Network,Conv Neural Network,我正在读Francois Chollet的《Python学习》一书。在第128页,作者讨论了使用连续Conv2d层而不是maxpooling层的问题。我的问题来自下一段我不知道7X7从哪里来? 这不利于学习特征的空间层次结构。3×3的窗户 在第三层中,仅包含来自中的7×7窗口的信息 初始输入。convnet学习到的高级模式仍然非常有用 对于初始输入来说较小,这可能不足以学习分类 数字(尝试仅通过打开的窗口查看数字来识别数字 7×7像素!)。我们需要最后一个卷积层的特征来包含 有关输入总数的信息

我正在读Francois Chollet的《Python学习》一书。在第128页,作者讨论了使用连续Conv2d层而不是maxpooling层的问题。我的问题来自下一段我不知道7X7从哪里来?

这不利于学习特征的空间层次结构。3×3的窗户 在第三层中,仅包含来自中的7×7窗口的信息 初始输入。convnet学习到的高级模式仍然非常有用 对于初始输入来说较小,这可能不足以学习分类 数字(尝试仅通过打开的窗口查看数字来识别数字 7×7像素!)。我们需要最后一个卷积层的特征来包含 有关输入总数的信息


我假设你的cnn架构只有3*3个内核

多亏了3*3内核,第一层是从您的输入创建功能映射。这些特征图的每个像素仅依赖于输入的3*3平方。第二层做的是完全相同的事情,将特征地图作为输入。所以现在,一个像素取决于特征图的3*3平方,这取决于输入的5*5平方

通过第三次这样做,第三层特征图上的像素仅取决于输入的7×7窗口

以下是一个1D示例:

        *            # third layer pixel
      | | |
      * * *          # second layer pixels
    | | | | |
    * * * * *        # first layer pixels
  | | | | | | |
  * * * * * * *      # input pixels --> An unique third layer layer pixel depends on only 7 input pixels

非常感谢你,皮埃尔!!!你的图表很好地回答了这个问题@Pierre Nicolas Piquin,非常感谢您的详细解释。请您解释一下如何使用最大池解决此问题。提前谢谢。请不要重新编辑-这是引用文章的标准SO格式。。。
        *            # third layer pixel
      | | |
      * * *          # second layer pixels
    | | | | |
    * * * * *        # first layer pixels
  | | | | | | |
  * * * * * * *      # input pixels --> An unique third layer layer pixel depends on only 7 input pixels