gpt4 book ai didi

machine-learning - Caffe 微调与从头开始

转载 作者:行者123 更新时间:2023-11-30 08:54:54 25 4
gpt4 key购买 nike

上下文:假设我已经在 datasetA 上训练了 CNN,并且获得了 caffeModelA

当前情况:新图片到达,因此我可以构建新的数据集,datasetB

问题:这两种情况会导致相同的 caffemodel 吗?

  1. 合并datasetAdatasetB并从头开始训练网络。
  2. 仅在 datasetB 上训练现有 caffeModelA,对现有 caffeModelA 进行一些微调(如下所述:http://caffe.berkeleyvision.org/gathered/examples/finetune_flickr_style.html)

这似乎是一个愚蠢的问题,但我不太确定它的答案。这非常重要,因为如果两个近似值得出相同的结果,我可以通过执行数字 2 来节省时间。

注意:请记住,这是同一个问题,因此无需更改此处的架构,我只是计划在训练中添加新图像。

最佳答案

在闪烁式示例中,情况更为通用。他们使用针对不同分类任务训练的模型的第一层权重,并将其用于新任务,仅训练新的最后一层并对第一层进行一些微调(通过为那些预训练层设置较低的学习率) )。您的情况类似但更具体,您希望使用预训练模型来训练完全相同的任务的确切架构,但需要扩展数据。

如果您询问选项 1 是否会生成与选项 2 完全相同相同的模型(所有生成的权重相等)。那么不会,很可能不会。

在选项 2 中,网络先针对数据集 A 进行迭代训练,然后针对数据集 B 进行迭代训练,然后再次针对数据集 A 进行训练......依此类推(假设两者只是连接在一起)。在选项 1 中,将在数据集 A 上对网络进行一些迭代/历元的训练,然后继续仅在数据集 B 上学习迭代/历元,仅此而已。因此,求解器将在两个选项中看到不同的梯度序列,从而产生两个不同的模型。这是从严格的理论角度来看的。

如果从实际角度出发,这两个选项最终可能会得到非常相似的模型。您在数据集 A 上训练了多少epoch(不是迭代)?比如说 N epoch,那么您可以安全地使用选项 2。并在数据集 B 上进一步训练您的现有模型,以获得相同数量的epoch,并且相同的学习率和批量大小。

关于machine-learning - Caffe 微调与从头开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35196307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com