我读过一些关于卷积神经网络的论文,发现几乎所有的论文都将这些完全连接的层称为正常的CNN“顶层”。为什么我们称CNN“顶层”中的完全连接图层?
但是,正如大多数论文所显示的那样,典型的CNN具有自顶向下的结构,并且完全连接的层(通常跟着一个softmax分类器)被放置在网络的底部。那么,为什么我们称他们为“顶层”呢?这是一种惯例,还是我不知道的其他考虑因素?
我读过一些关于卷积神经网络的论文,发现几乎所有的论文都将这些完全连接的层称为正常的CNN“顶层”。为什么我们称CNN“顶层”中的完全连接图层?
但是,正如大多数论文所显示的那样,典型的CNN具有自顶向下的结构,并且完全连接的层(通常跟着一个softmax分类器)被放置在网络的底部。那么,为什么我们称他们为“顶层”呢?这是一种惯例,还是我不知道的其他考虑因素?
我认为这只是一个味道的问题,但说“顶层”与神经网络中“头部”的概念相关。人们说“分类头”和“回归头”意味着神经网络的输出层(这个术语在tf.estimator.Estimator
中使用,也参见一些讨论here和here)。如果以这种方式看到它,那么头部之前的层是,而输入层是底部。无论如何,当他们被称为“顶级”时,您应该仔细检查特定图层的含义。
有一个很好的理由将它们与其他层次区分开来,远远超出“约定”。
CNN有许多层次,每个层次都在不同的抽象层次上。它从非常简单的形状和边缘开始,然后学习识别眼睛和其他复杂的功能。在典型的设置中,顶层将是一层或两层深度完全连接的网络。现在,重要的一点是:顶层权重最直接受标签影响。这是有效地作出决定(或者更确切地说是产生可能性)某物是猫的层。
现在想象一下,你想建立自己的模型来识别可爱的猫,而不只是猫。如果你从头开始,你必须提供大量的训练实例,以便模型首先学会识别什么是猫。通常情况下,您无法获得大量的数据或足够的处理能力。你可能会做什么:
背后的想法是,原始模型已经学会识别CNN图层中的泛型特征,并且可以重用这些特征。顶层已经超越了通用,进入了训练集中的特定部分 - 这些可以被丢弃。那里没有可爱的猫。