使用 keras.applications 模型中的新输入张量进行迁移学习的第一层权重?

数据挖掘 机器学习 喀拉斯 美国有线电视新闻网
2022-02-17 15:54:50

在 keras(VGG16 等)中的预实现模型中,指定我们可以更改模型输入的形状并仍然加载预训练的 imagenet 权重。

我感到困惑的是,第一层权重会发生什么?如果输入张量具有不同的形状,那么权重的数量将与预训练模型不同,不是吗?

这里是 Keras VGG16 模型的实现,供参考。

1个回答

第一层是卷积和池化层:

  • 对于卷积层,唯一的权重是内核和偏差,它们具有固定的大小(例如 3x3x3、5x5x3)并且不依赖于输入张量的形状。
  • 池化层根本没有权重。

这就是为什么您可以独立于输入张量形状重用权重的原因。

对于密集层(即最终层),您需要匹配形状,因此如果它们不匹配,您将无法重复使用它们。