卷积神经网络模型复杂度分析
Posted 弓早早o_O
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卷积神经网络模型复杂度分析相关的知识,希望对你有一定的参考价值。
卷积神经网络
卷积神经网络拓扑结构
输入层——>特征提取层——>分类层
特征提取层:卷积层+池化层,可以重复很多次。
分类层:全连接层,隐含层可以有多个。
更细节的拓扑结构:
卷积神经网络传播过程中参数的影响
要思考的问题是,从搭建网络开始,有哪些超参数是需要人为设定的,又是怎么具体影响模型的复杂度的?
卷积层的层数
如果只看卷积层,随着其层数的增加,模型的复杂度也会增加;
池化层的层数
池化层在搭建网络的过程中起到的作用是降低特征图的维度,是用来降低模型的复杂度的。所以,随着池化层层数的增加,模型的复杂度会降低;
全连接层的层数
全连接层有输入层、隐含层、输出层,随着隐含层层数的增加,模型的复杂度会增加;
卷积核的通道数(chanel)
第一,随着chanel的增加,卷积核本身的参数量会增加;
第二,如果当前卷积层的chanel增加,假设后面还有卷积层,那么它的后一个卷积层每一个卷积核的尺寸都会增加;如果当前卷积层是最后一个卷积层,后面连全连接层,那么随着chanel的增加,全连接层的参数量也会增加。
第三,随着当前卷积层的chanel增加,其输出的特征图维度也会增加。
步长
在卷积神经网络传播的过程中,有两个地方提到了步长,一个是卷积运算,一个是池化运算。
以卷积运算为例,如果步长变大,直接导致的就是特征图Feature map的维度变低。但在实际运算中,并不是步长越大越好,如果步长过大,会导致丢失原始图像的特征太多。那么我们选择步长时应该遵循一个“不重不漏”的原则。可以思考一下,选择步长的上限在哪里?其实就是卷积核的尺寸,这样子卷积核扫射的时候是一个紧贴着一个。一般来说,我们选择的步长应该小于等于卷积核尺寸的一半。
池化运算与卷积运算相类似,在这里就不过多解释了。
以上是关于卷积神经网络模型复杂度分析的主要内容,如果未能解决你的问题,请参考以下文章