卷积神经网络中的内核是如何初始化的?

人工智能 深度学习 卷积神经网络 图像识别 过滤器 权重初始化
2021-11-16 03:38:00

我目前正在学习 CNN。我对如何初始化过滤器(又名内核)感到困惑。

假设我们有一个3×3核心。这个过滤器的值是如何在训练前初始化的?你只使用预定义的图像内核吗?或者它们是随机初始化的,然后随着反向传播而改变?

1个回答

内核通常以看似任意的值初始化,然后您将使用梯度下降优化器来优化这些值,以便内核解决您的问题。

有许多不同的初始化策略。

  • 将所有值设置为常量(例如,零)
  • 来自分布的样本,例如正态分布或均匀分布
  • 还有一些启发式方法在实践中似乎效果很好;一个流行的是所谓的 Glorot 初始化器,它以 Xavier Glorot 的名字命名,他在这里介绍了它们。Glorot 初始化器也从分布中采样,但它们会根据内核复杂性截断值。
  • 对于特定类型的内核,还有其他默认值似乎表现良好。例如见这篇论文

当我的模型无法收敛(梯度问题)或在损失函数开始减小之前训练似乎卡了很长时间时,我会探索初始化策略。这些迹象表明可能需要寻找更好的初始化策略。