我的问题是关于CNN中卷积层的内核或过滤器。我们可以指定滤波器的大小以及在一个卷积层中应该有多少个滤波器。但是我们从不指定过滤器的值。我知道过滤器就像用于查看图像的矩阵。
我想知道是否有一种算法可以生成过滤器并在训练期间对其进行优化。谢谢。
答案 0 :(得分:0)
深度卷积神经网络的主要目的是学习这些数字。每个过滤器中的所谓内核值,以便它从图像中提取正确的信息。
首先,为了简单起见,假设我们有3 * 3过滤器,它最初将所有9个值分配给0.5。它会在图像上运行,并通过数学运算生成下一级的特征图,为简单起见,请将其保留为乘法。
它对激活进行了最后一层,并最终确定了概率,而概率又决定了类的数量。 如果模型对于该批次/样品的预测效果不佳,则会传播,损失向后移动并更改这些内核的值(9个值),不仅是这9个值,还要对以下数量的过滤器执行此过程每个级别的卷积。
现在,为了有效地进行训练,您可以通过各种不同的方法来初始化这些值。
如果您使用的是keras,请在https://keras.io/initializers/
中查看内核初始化器