【问题标题】:Do Keras Conv2d filters have a depth of three if the input has a depth of three?如果输入的深度为三,Keras Conv2d 过滤器的深度是否为三?
【发布时间】:2018-01-02 04:47:44
【问题描述】:

我注意到在输入图像具有三个维度的代码中使用了 Conv2d 层。但是,由于我们只输入了两个维度的过滤器,那么矩阵乘法是如何发生的呢?

二维过滤器是否分别对每个输入通道进行卷积(或使用广播)(然后只是将结果相加)?

或者过滤器的深度是否自动匹配输入的深度(如果是彩色图像,则为 3)?如果是这种情况,3x3x3 过滤器应该有 27 个可以训练的权重,而不是前一种情况下的 9 个。

Tensorflow 对 conv2d 的过滤器尺寸更加明确(您必须输入 height、width、channels、output_channel

https://www.tensorflow.org/api_docs/python/tf/nn/conv2d

【问题讨论】:

    标签: python neural-network deep-learning keras conv-neural-network


    【解决方案1】:

    Keras Conv2d 层自动为其卷积滤波器提供 n 输入通道,其中 n 是它之前层的深度/通道数。前面的层作为输入数据馈送到Conv2d 层。

    此类假设使 Keras 更易于用于常见用例,例如在深度卷积网络中将 Conv2ds 链接在一起。

    【讨论】:

    • 谢谢。至于权重初始化部分,我假设所有通道的所有权重都已初始化(所有通道)然后呢?反对只是第一个频道,然后广播?
    • 是的,所有通道的权重都是使用默认的随机采样方法独立初始化的,您可以更改该方法(例如,“uniform”、“normal”以及考虑方差的更复杂的方法,例如“Xavier” '、'他'等)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多