【问题标题】:Expected feature vector size using Inception-v2 in Tensorflow在 Tensorflow 中使用 Inception-v2 的预期特征向量大小
【发布时间】:2020-02-25 19:11:28
【问题描述】:

我希望为目标检测感兴趣的区域提取特征向量。我正在使用 Faster RCNN 和 Inception-v2,基本上遵循 this tutorial,但我添加了 detection_features 作为键。

我的印象是,特征向量是 CNN 在继续分类之前的输出。通过查看Inception-v2 paper 中的表 1,我预计它的大小为 1x1x1000。但是,我的代码中output_dict['detection_features'][0] 的大小是 4x4x1024,这让我感到困惑,因为它似乎不是 Inception-v2 的任何步骤中出现的向量大小。

任何关于为什么尺寸不匹配的指针将不胜感激,我担心我可能误解了一些东西,但我在 Tensorflow 的对象检测中找不到关于特征向量的太多文档。

非常感谢

【问题讨论】:

    标签: tensorflow machine-learning deep-learning conv-neural-network


    【解决方案1】:

    每层的具体单元数不是建筑法则;遵循 Inception V2 架构的网络首先是信息流问题。你的情况看起来不错。 Keras 的创建者曾经写道,使用 8 的倍数的单位可能会提供轻微的计算优势,因此您的最后一层单位可能比论文中的稍好。至于4,4 位,这可能是输入维度的结果。这就是为什么存在最小可能输入大小的原因(否则某些操作将没有任何像素可以使用)。遵循相同 Inception V2 过程 的更大输入(图像)将导致更大的输出尺寸。没关系,这只是意味着直接扁平化(在 cnn 和分类器之间)会产生更多单元,或者,全局池化会丢弃更多信息。

    总而言之:您所做的一切都很好。架构是图操作的问题,而具体的实现(网络中的维度)是应用程序的问题。

    编辑:更详尽的解释
    卷积层由它们的内核形状和单元数(内核数)定义。如果架构使用具有 (3,3) 矩阵内核的卷积层,则无论提供给它的内容大小如何(至少与内核一样大),它都会应用这一点。因此,如果像 VGG (diagram) 这样的网络架构需要一定数量的卷积层,其中包含 (3,3) 内核,然后是 (2,2) 池化层,那么是否让网络输入形状变得无关紧要(299,299,3) 或 (32,32,32)。会对输入执行相同的操作,只是沿轴的次数不同(当然包括最后一个轴,即单元数,即唯一内核数),从而导致不同的输出形状。

    【讨论】:

    • 啊,谢谢,我想我明白了。我一直认为 NN 需要固定的输入大小,但这仅适用于完全连接层之类的东西,而 Inception(直到其线性层)仅使用与大小无关的卷积和池化。所以因为我的输入比“标准”实现要大和宽大约 4 倍,所以它不会减少到 1x1? 1,1 处的向量会代表图像的左上角,而 4,4 处的向量会代表右下角吗?
    • 我不是想迷惑你;您最初的理解是正确的:NN 需要固定的输入大小。但是,您可以随心所欲地制作它。因此,更大的输入意味着更大的输出,尽管 (4,4,units) 而不是 (1,1,units) 并不意味着输入是 4 倍;这取决于网络内的操作。在这里,我为你做了这个:kaggle kernel。要点是网络架构是过程;尺寸取决于您和您的应用程序的需求。
    • 关于你关于输出代表什么的问题......很多人认为它是这样工作的;它经常被称为“特征图”,但请自己看一些输出:很少有任何关于它的制图。现实情况是,它是充满信息的编码,人类几乎无法理解。但没关系!仅仅因为它在技术上看起来不像“特征图”并不意味着你不能像对待它一样对待它,如果你的目标具有空间依赖性——丰富编码的信息也可以携带该信息。跨度>
    • 好的,这很有意义,非常感谢你的 kaggle,它非常有用并且非常清晰。我仍然情不自禁地觉得特征图会有一些轻微的趋势来更好地表示其位置周围的区域,尤其是对于较大的输入。但是,正如您所建议的,我将自己尝试一下,并期望发现它与您所说的一样,并且地图是如此抽象,以至于位置不再具有太大意义。非常感谢您花时间回答,这非常有帮助:)
    • 当然,很高兴它有道理:) 你的直觉肯定是对的,输出像素在空间上与输入像素相关,基于卷积/池化过程。只是当它到达输出时,已经执行了如此多的操作,以至于(除非它是由培训要求的)输出更多的是信息浆。我目前正在开展一个大型可视化项目,这将使这个项目变得可探索。
    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 2016-04-02
    • 2018-12-13
    相关资源
    最近更新 更多