我已经知道如何在vgg上进行微调(微调最后一个转换块)和初始化(微调前两个块)。我想知道建议冻结哪些图层以微调resnet模型。
答案 0 :(得分:9)
我认为没有最先进的策略,但我可能会与您分享我对这个主题的看法(图层的名称与这些图片类似here:
如果有大量数据真实照片:将所有阶段冻结到第4阶段(留下唯一可训练的第5阶段)。如果你过度适合 - 让第五阶段拥有更少的层次。如果underfit 解冻第四层的一半。请记住 - 网络越深入 - 您拥有的 ImageNet 功能越多。
如果有一些真实世界的照片:切5号,留下第4阶段的一半可训练并冻结其余部分。如果过度装备 - 保持切割阶段第4阶段,如果适应不足 - 继续延长。
如果有很多简单的照片数据(例如医疗照片) - 切割第4和第5 - 留下第3个可训练并冻结其余部分。如果过度适合 - 保持切割 - 身体不适 - 请尝试第2点。
如果有一些简单(少于10K)的照片数据 - 我建议不要使用ResNet50
。根据我的经验,它严重影响。我通常实现类似于ResNet18
的自定义拓扑。如果您仍想尝试 - 请尝试第3点的说明。