例)
卷积过程是CNN的核⼼,准确推导各卷积层输出的维度是实现CNN的基础,下⾯总结⼀下CNN卷积过程中输出特征图的尺⼨与维度变化规律.motorala
CNN常以图像作为输⼊,例如VGG的输⼊图像格式就为224*224*3,其中224*224是图像的height*width,3是通道数。因德怀特沃尔多
友商网在线会计此,VGG的输⼊数据实际上是⼀个三维的变量,卷积层中的卷积核相应也应是三维。通常情况下,输⼊图像的height与width相等,卷积核也往往只有⼀个参数——卷积核⼤⼩。常⽤的卷积核有1*1*1、3*3*3、5*5*5、7*7*7等,如今更偏向使⽤⼩卷积核,因为其堆叠起来可以获得与⼤卷积核相似的感受野,同时参数量⼤⼤减少。下图是VGG模型的各层参数:
赤纬角在上图中,conv3-64表⽰该卷积层使⽤的是3*3*3卷积核,卷积核数量为64,因此该卷积层输出数据的维度应为64维。同理可
得,VGG最后输出数据的维度为512维。
那么,在卷积过程中,各卷积层输出的特征图尺⼨(height*width)是如何变化的呢?特征图的尺⼨主要与卷积核的⼤⼩、步长、输⼊图的尺⼨与填充量有关。常⽤的Tensorflow框架有两种填充模式——same与valid,same表⽰⽤0填充,输出尺⼨与输⼊尺⼨相同;valid 不填充。因为特征图尺⼨的推导
公式通过画出⽰意图,根据卷积公式可以轻易得到,所以直接摆出结果:
valid:
height = (H-F)/S+1;width = (W-F)/S+1;H、W分别指输⼊图的尺⼨,F为卷积核⼤⼩,S表⽰步长。中国之网
湛江师范学院图书馆