我理解卷积核的工作原理及其在神经网络中的功能。然而,我不确定在典型的CNN中,是否需要预定义卷积核,还是由CNN自己“找出”。例如,在构建CNN时,是否只需定义一个5×5的卷积核,如下所示:
kernel = [[ 0, 1, -2, 1, 0] [ 0, 2, -1, 2, 1] [ 1, 0, 1, 0, 0] [-1, -1, 0, -3, -1] [-3, -2, 0, 1, 1]]
还是只需告诉CNN寻找一个5×5的卷积核,训练后它会找到一个好的5×5卷积核?
回答:
对于CNN来说,卷积核是在优化过程中训练的,因此矩阵中的每个数字都是一个自由参数,根据损失函数对该特定变量的偏导数进行调整。
所以回答
还是只需告诉CNN寻找一个5×5的卷积核,训练后它会找到一个好的5×5卷积核?
你会告诉模型使用给定大小的K个卷积核,具有给定的间隔,可能在多个层中,之后进行其他操作,它会自己找到所有卷积核。