卷积核是预定义的还是 CNN 在训练期间定义它们
Are Convolution Kernels Predefined or Does a CNN Define them During Training
我了解卷积核的工作原理及其在神经网络中的作用。但是,我不确定在典型的 CNN 中您是否会预定义卷积核是什么,或者这是否是 CNN "figures out." 例如,在制作 CNN 时,您是否会像这样简单地定义一些 5x5 卷积核:
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 找到一个 5x5 内核,并且在训练之后它会得出一个好的 5x5 内核吗?
对于 CNN,内核是在优化过程中训练的,因此矩阵中的每个数字都是一个自由参数,根据针对该特定变量考虑的损失的偏导数进行调整。
所以要回答
Or would you simply tell the CNN to find a 5x5 kernel and after training it will have come up with a good 5x5 kernel?
您可以告诉模型使用给定大小的 K 个内核,给定的间距,可能在多个层中,然后进行其他操作,它会自行找到所有内核。
我了解卷积核的工作原理及其在神经网络中的作用。但是,我不确定在典型的 CNN 中您是否会预定义卷积核是什么,或者这是否是 CNN "figures out." 例如,在制作 CNN 时,您是否会像这样简单地定义一些 5x5 卷积核:
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 找到一个 5x5 内核,并且在训练之后它会得出一个好的 5x5 内核吗?
对于 CNN,内核是在优化过程中训练的,因此矩阵中的每个数字都是一个自由参数,根据针对该特定变量考虑的损失的偏导数进行调整。
所以要回答
Or would you simply tell the CNN to find a 5x5 kernel and after training it will have come up with a good 5x5 kernel?
您可以告诉模型使用给定大小的 K 个内核,给定的间距,可能在多个层中,然后进行其他操作,它会自行找到所有内核。