首页 文章

我们是否可以在使用CNN时明确指定从图像中提取的特征

提问于
浏览
2

最后一天,我学习了卷积神经网络,并使用Tensorflow进行了CNN的一些实现,所有实现仅指定过滤器的大小,过滤器数量和步幅 . 但是当我了解过滤器时,它说每个层上的过滤器提取不同的特征,如边缘,角落等 .

我的问题是我们可以明确指定过滤器,我们应该提取所有特征,或者图像的哪个部分更重要等

所有的解释都说我们将输入图像的一小部分作为幻灯片在其上进行卷积 . 如果是这样,我们会拍摄图像的所有部分并在图像中进行卷积?

2 回答

  • 3

    我们可以明确指定我们应该提取的所有特征的过滤器,或者图像的哪个部分更重要等

    当然,这可以做到 . 但CNN的优势在于他们自己学习了最好的功能(或者至少是非常好的功能;在大多数情况下,它们比我们能想出的功能更好) .

    一个着名的例子是ImageNet数据集:

    enter image description here

    2012年,第一次端到端学习CNN被使用 . 端到端意味着网络在一端获取原始数据作为输入,在另一端获取优化目标 .

    在CNN之前,计算机视觉社区多年来一直使用手动设计的功能 . 继AlexNet在2012年之后,没有人这样做(对于“典型的”计算机视觉 - 有一些特殊的应用仍然值得一试) .

    所有的解释都说,我们将输入图像的一小部分作为幻灯片放在它上面 . 如果是这样,我们会拍摄图像的所有部分并在图像中进行卷积?

    始终是完整的图像,它与一个小过滤器进行卷积 . 卷积运算是局部的,这意味着您可以并行计算大部分,因为左上角的卷积不依赖于左下角的卷积 .

  • 3

    我想你可能会混淆过滤器和 Channels . 滤波器是卷积中的权重窗口大小,可用于从卷积输出生成通道 . 通常这些渠道代表不同的功能:
    enter image description here

    在这个汽车识别示例中,您可以看到一些较早的渠道,如汽车的引擎盖,车门和其他边界 . 很难真正指定网络正在提取哪些功能 . 如果您已经了解对网络很重要的功能,则可以将它们作为附加遮罩层或在其上使用某种类型的加权矩阵 .

相关问题