微调的目标

数据挖掘 机器学习 神经网络 深度学习 美国有线电视新闻网 计算机视觉
2022-02-21 05:07:45

我想问在我的数据集上微调 VGGNet 的目标是什么。微调是什么意思?这是否意味着更改权重或保留权重值?

3个回答

微调意味着更改权重,以便 VGGNet 可以在数据集中执行您想要的任务。微调不称为训练(这就是​​您正在做的事情)的原因是因为它意味着您已经使用了一个已经在数据集上训练过的网络。然而,这个概念和训练是一样的,只是你碰巧使用了一组方便的初始权重。

基本上,微调或迁移学习用于您没有太多数据或计算时间或计算能力来从头开始训练整个网络的情况。通过这种方式,您通常会用新的网络替换预训练网络的最后一层。第一层已经找到了需要的好的特征,最后一层尝试分类,你替换它们,因为你有自己的标签。查看此处以考虑应如何应用它,并查看此处以获取更多详细信息。您可以保留权重,也称为冻结,或者让基于梯度的算法更改它们,但通常冻结第一层并训练最后一层更快。

像 VGGNet 这样的网络有大量的参数(详见附录 D,但大约是 1.35 亿)。训练这么大的网络需要大量的数据和大量的时间。有 ImageNet,它有 1000 个类和数千张图像。对于 ImageNet,已经有人训练了 VGGNet 并提供了参数。

一种微调方法是仅替换最后一层(大约 400 万个参数)并添加一个新层,其中包含您需要的类数量。然后你可以冻结所有其他权重并训练你的数据。因此,您将有更少的训练时间,并且您可能会获得更好的结果(至少在类似的数据集上......对于看起来非常不同的数据集,似乎没有记录确凿的证据