如何对自定义模型进行预训练?
可以使用 Keras Sequential API 构建顺序模型,该 API 用于处理简单的层堆栈。这里每一层都只有一个输入张量和一个输出张量。
预训练模型可以作为特定数据集上的基础模型使用。这样可以节省在特定数据集上重新训练模型的时间和资源。
预训练模型是一个已保存的网络,它之前已经在大型数据集上进行了训练。这个大型数据集将是一个大规模的图像分类任务。预训练模型可以按原样使用,也可以根据需求和模型与迁移学习一起进行定制。
自定义模型可以通过两种方式进行预训练
特征提取
先前网络学习到的表示可以用来从新样本中提取有意义的特征。可以添加一个从头开始训练的新分类器,它将位于预训练模型的顶部。这可以用来重新利用之前为数据集学习的特征图。
无需重新训练整个模型。基本卷积网络将已经拥有对分类图片普遍有用的特征。
但是,预训练模型的最终分类部分针对原始分类任务是特定的。这意味着它特定于模型训练所依据的类别集。
微调
解冻冻结的基础模型的一些顶层,并一起训练新添加的分类器层以及基础模型的最后一层。这将允许用户“微调”基础模型中更高阶的特征表示。这有助于使模型更贴近特定任务。
广告