今天鞋百科给各位分享卷积核的个数怎么算的知识,其中也会对卷积神经网络中的卷积核是学习得来,还是预定义好的(卷积神经网络的卷积核是怎么得到的)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧!

卷积神经网络中的卷积核是学习得来,还是预定义好的

这个你可以去找tflearn的源代码,看一遍就理解了。

网址:https://github***m/tflearn/tflearn/

里边有一个kernel函数“conv_2d”是这么声明的:

def conv_2d(incoming, nb_filter, filter_size, strides=1, padding='same',

卷积神经网络中的卷积核是学习得来,还是预定义好的

activation='linear', bias=True, weights_init='uniform_scaling',

bias_init='zeros', regularizer=None, weight_decay=0.001,

trainable=True, restore=True, reuse=False, scope=None,

name="Conv2D"):

这里面有一个输入是weights_init,也就是filter(卷积值)的初始化,而且有默认值。这就是说当你做卷积的时候是一定会给卷积核一个初始值的。

这其中还有一个叫trainable的输入,它是一个bool值,决定了权值矩阵(即filters,也就是卷积核)可不可以被训练。默认是true,也就是可以训练。

从这里可以看出,对于不同的CNN模型,卷积核训练不训练是可以选择的,你可以训练改变它,也可以一直都用初始值而不去训练它。但是一般情况下都是要训练的。

关于卷积神经网络的卷积核个数问题

在从14变成16的时候,不是一一对应的关系。16个feature map中的每一个都是由前一层的14个和新的kernel卷积,然后把得到的14个结果变成1个feature map。下面的图或许可以帮你理解。(图片来源:网页链接)