【问题标题】:Fine-tuning and transfer learning by the example of YOLO以 YOLO 为例进行微调和迁移学习
【发布时间】:2019-08-02 18:31:51
【问题描述】:

我有一个关于微调和迁移学习的一般性问题,当我试图弄清楚如何最好地让 yolo 检测我的自定义对象(手)时提出了这个问题。

对于可能包含大量虚假信息的长文本,我深表歉意。如果有人有耐心阅读并帮助我消除困惑,我会很高兴。

经过大量谷歌搜索,我了解到许多人将微调视为迁移学习的一个子类,而另一些人则认为他们使用不同的方法来训练模型。同时,人们区分仅在自定义数据集上重新训练模型的最后一个分类器层与重新训练模型的其他层(并且可能添加一个全新的分类器而不是重新训练?)。两种方法都使用预训练模型。

我最后的困惑在这里:我按照这些说明:https://github.com/thtrieu/darkflow 通过暗流训练小 yolo,使用命令:

# Initialize yolo-new from yolo-tiny, then train the net on 100% GPU: flow --model cfg/yolo-new.cfg --load bin/tiny-yolo.weights --train --gpu 1.0 但是这里会发生什么?我想我只重新训练分类器,因为说明说要更改配置文件中最后一层的类数。但话又说回来,还需要改变倒数第二层(卷积层)中的过滤器数量。

最后,说明提供了替代培训的示例: # Completely initialize yolo-new and train it with ADAM optimizer flow --model cfg/yolo-new.cfg --train --trainer adam 我完全不明白这与迁移学习的不同方式有何关系。

【问题讨论】:

    标签: machine-learning object-detection yolo transfer-learning


    【解决方案1】:

    如果您使用的是 AlexeyAB 的暗网存储库(不是暗流),他建议通过在 cfg 文件中设置此参数来进行微调而不是迁移学习:stopbackward=1

    然后输入./darknet partial yourConfigFile.cfg yourWeightsFile.weights outPutName.LastLayer# LastLayer# 如:

    ./darknet partial cfg/yolov3.cfg yolov3.weights yolov3.conv.81 81
    

    它将创建yolov3.conv.81并冻结下层,然后您可以使用权重文件yolov3.conv.81而不是原始darknet53.conv.74进行训练。

    参考:https://github.com/AlexeyAB/darknet#how-to-improve-object-detectionhttps://groups.google.com/forum/#!topic/darknet/mKkQrjuLPDU

    【讨论】:

    • 这是一个误导性的答案。 AlexeyAB 确实“建议进行微调而不是迁移学习”。阅读您链接到的部分:加速训练(降低检测准确度) 进行微调而不是迁移学习,设置参数 stopbackward=1。因此,使用 stopbackward 会丢失检测精度。它仅适用于想要快速训练且不关心准确性的人。
    【解决方案2】:

    我没有在 YOLO 上工作过,但看看你的问题我想我可以提供帮助。微调、重新训练、后期调优都是有些模糊的术语,经常互换使用。这完全取决于你想改变多少预训练的权重。 由于您在第一种情况下使用--load 加载权重,因此在这里加载了预训练的权重 - 这可能意味着您正在以较低的学习率稍微调整权重,或者根本不改变它们。然而,在第二种情况下,您没有加载任何权重,因此您可能是从头开始训练它。因此,当您进行小的(精细)更改时,将其称为微调,后调将在初始训练后再次进行调优,可能不如微调和再训练那么好,然后再训练整个网络或部分网络

    您可以通过不同的方式选择冻结某些图层。

    【讨论】:

    • 既然您已经解释过了,我觉得这很明显!感谢您的提示!
    猜你喜欢
    • 2020-12-31
    • 2022-01-11
    • 2018-09-23
    • 2021-01-17
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2020-08-06
    相关资源
    最近更新 更多