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