Keras中无法训练的权重的目的是什么

数据挖掘 机器学习 深度学习 喀拉斯 迁移学习
2021-09-15 17:10:46

此页面中提到,当 时trainable=false,权重不会更新并且也用于优化。但我还是不明白它有什么用?(例如,我想找出最佳的神经元数量或最佳drop out速率,有帮助吗?)

2个回答

一种常见的应用是冻结嵌入层。冻结该层将阻止嵌入更新其权重,这可能是可取的,尤其是对于文本嵌入层。

也存在不需要在某个批次期间更新权重的设计。例如,一些 GAN 实现只想在组合模型阶段训练模型,因此冻结了批次的生成器和鉴别器层。

您还可以看到这用于堆叠自动编码器,其中有人可能一次训练一层。这是一个快速链接

我们使用冻结来使用迁移学习深度学习对数据有着极大的渴望。在某些任务中,您可能没有那么多数据,但可能已经有一个可以提供帮助的预训练网络。在这种情况下,您可以使用模型及其权重并通过替换 soft-max 层,在您拥有少量数据的情况下,您可以尝试为您的特定任务定制网络。如果你有更多的数据,可以训练更多的层数。看看这里