我应该冻结哪些图层来微调keras上的resnet模型?

Pau*_*gas 7 python machine-learning neural-network deep-learning keras

我已经知道如何在vgg上进行微调(微调最后一个转换块)和初始化(微调前两个块).我想知道为了微调resnet模型,建议冻结哪些图层.

Mar*_*jko 11

我认为没有最先进的策略,但我可能会分享你对这个主题的看法(层的名称与这里提到的类似:

  1. 如果有大量数据真实照片:将所有阶段冻结到第4阶段(留下唯一可训练的第5阶段).如果你过度适合 - 让第五阶段拥有更少的层次.如果不适合解冻第四层的一半.请记住 - 网络越深入 - 您拥有的ImageNet特定功能就越多.

  2. 如果有一些真实世界的照片:切5号,留下第4阶段的一半可训练并冻结其余部分.如果过度配合 - 保持切割阶段第4阶段,如果适应不足 - 继续延长.

  3. 如果有很多简单的照片数据(例如医疗照片) - 削减第4和第5 - 留下第3个可训练并冻结其余部分.如果过度 - 保持切割 - 身体不适 - 尝试点2.

  4. 如果有一些简单(少于10K)的照片数据 - 我建议不要使用ResNet50.从我的经验来看,它严重影响了.我通常实现类似于我的自定义拓扑ResNet18.如果您仍想尝试 - 请尝试第3点的说明.

  • 您知道 keras 中的哪些层吗? (2认同)