初始学习率 0.002

初始学习率 0.002 是 Faster R-CNN 精细微调场景下的保守配置,比标准值 0.02 小10倍,适用于迁移学习冻结Backbone或Warmup预热阶段。

一、0.002 的使用场景

场景1:分层学习率中的Backbone

Python
复制
# Backbone微调慢,Head训练快
optimizer = optim.SGD([
    {'params': model.backbone.parameters(), 'lr': 0.002},      # 仅0.002
    {'params': model.rpn.parameters(), 'lr': 0.02},            # 0.02
    {'params': model.roi_heads.parameters(), 'lr': 0.02 * 1.2} # 0.024
], momentum=0.9)
 
原理:预训练Backbone(如ResNet)已具备通用特征,大lr会破坏其结构,导致训练崩溃。0.002是微调临界点,既学习新知识,又保留旧知识。

何时该用0.002?决策树

Backbone是否冻结?
├─ 是 →  **lr_backbone = 0.002**  (强制)
│         lr_head = 0.02
├─ 否 → 优化器是否为AdamW?
│   ├─ 是 → **BASE_LR = 0.002** (AdamW标配)
│   └─ 否 → 是否开Warmup?
│       ├─ 是 → **start_lr = 0.002** (预热起点)
│       └─ 否 → **BASE_LR = 0.02** (SGD标准)
posted @ 2025-12-06 19:31  yinghualeihenmei  阅读(3)  评论(0)    收藏  举报