Ziq*_*Liu 4 machine-learning computer-vision neural-network deep-learning conv-neural-network
我注意到ILSVRC中一些着名的CNN结构,如AlexNet,VGG,ZF网等.它们都使用两个全连接层,其次是输出层.为什么两个?这背后有什么内在的想法吗?
我尝试以这种方式理解它:在完全连接的层之前,我们有一堆卷积层,可能包含各种高级功能.完全连接的层就像是从复杂层中抽象出来的特征列表.但从这个意义上说,一个FC层应该足够了.为什么两个?为什么不是三个或四个或更多?我想这背后的约束可能是计算成本.但是,更多的FC层是否总能提供更好的结果?选择两个可能是什么原因?
Max*_*xim 10
完全连接的层就像是从复杂层中抽象出来的特征列表.
是的,这是对的.该层的目标是将从图像块中检测到的特征组合在一起以用于特定任务.在某些(非常简化的)意义上,转换层是智能特征提取器,而FC层是实际网络.
为什么两个?为什么不是三个或四个或更多?
我不能说出这些特定网络的确切原因,但我可以想象为什么这个选择有意义的几个可能原因:
您不希望使第一个FC层太大,因为它包含大多数模型参数,换句话说,消耗大部分内存.例如,VGGNet 7*7*512*4096 = 102,760,448在FC层中有参数,占所有网络参数的72%.使其增加两倍将使其达到85%!
因此,在给定存储器限制的情况下,一个接一个的两个较小的FC层通常比一个大的FC层更灵活.
Conv层在准确性方面比它们在顶层中的组合方式更重要.三个或更多FC层没有任何问题,但是如果你尝试的话,我认为你不会看到任何重大的变化.
实际上,全卷积网络的情况表明,通过用卷积层替换FC层而不会出现可见的性能下降,可以大大简化网络.我想在此强调:这些网络根本不包含FC层.如果作者没有在FC部分上花费太多时间并专注于早期的图层,我不会感到惊讶.最新的CNN也倾向于摆脱FC层.
顺便说一下,就FC层而言,我认为计算成本不是一个重要因素,因为大多数计算都发生在第一个转换层.请记住,卷积比矩阵乘法更昂贵.
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |