CNN网络结构设计的观点:
- 每一层卷积有多少filters,以及一共有多少层卷积,这些暂时没有理论支撑。一般都是靠感觉去设置几组候选值,然后通过实验挑选出其中的最佳值。
- 每一层卷积的filters数和网络的总卷积层数,构成了一个巨大的超参集合。一来没有理论去求解这个超参集合里的最优,二来没有足够的计算资源去穷举这个超参集合里的每一个组合,因此我们不知道这个超参集合里的最优组合是什么。
- 虽然说目前有比较火的研究方向针对这种自动神经网络结构搜索(NAS),这些自动搜索出来的网络在常规数据集上的建模结果显示(当然是达到一定的准确度):自动搜索出来的网络中的卷积核的类别有包括各种常见的型号(3x3、5x5、7x7),且在网络中的前后排布没有规律。
- 知乎的一位网友认为:“在网络中使用不同种类、不同大小的卷积核,尤其是在非串联结构中,大概率会取得更好的效果。”
- 在ProxylessNAS中,作者发现:降采样层的卷积核大小相对较大,作者认为大的卷积核有利于在降采样时保留更多的信息。
- 至于卷积核的大小. 取决于要提取的特征分布和区分度.如果本身要提取的特征很小那卷积核也应该很小,卷积核太大比如16x16 vs 4x4这样的差异可能导致丢失一些局部特征。
feature map个数如何选择:
- 关于feature map的个数,有一个大部分网络都在遵循的原则就是当输出特征图尺寸减半时,输出特征图的通道数应该加倍,这样保证相邻卷积层所包含的信息量不会相差太大
- 至于全连接层的节点数,首先现有的分类网络的最后一层几乎都是使用softmax函数激活,输出图片属于每一个类别的概率值,所以最后一层的节点数等于待分类图片的类别数,这是毋庸置疑的。而在Network in network提出全局平均池化(GAP)后,主流的网络几乎都是在特征图尺寸降低到7*7左右时,直接GAP+全连接+softmax输出分类概率。这样网络中只有一层全连接层,其输入节点数是GAP之前的特征图个数,输出节点数是图片分类类别数目。