În procedurile de transfer learning și fine-tuning, este de dorit ca straturile pre-antrenate din nucleul modelului (backbone) să fie actualizate cu o rată de învățare mică (ex: 1e-5) pentru a nu distruge trăsăturile deja învățate, în timp ce capul nou de clasificare (classifier head) este antrenat mai agresiv (ex: 1e-3).
import torch
import torch.optim as optim
backbone = model.backbone
head = model.classifier
# Definirea grupurilor de parametri cu rate de învățare și weight decay independente
param_groups = [
{"params": backbone.parameters(), "lr": 1e-5, "weight_decay": 0.01},
{"params": head.parameters(), "lr": 1e-3, "weight_decay": 0.0}
]
optimizer = optim.AdamW(param_groups)
De asemenea, este o bună practică să excludem bias-urile și parametrii de LayerNorm/BatchNorm de la penalizarea prin weight_decay.
Întrebări & Exemple practice:
Rate de Învățare Diferențiate pe Grupuri de ParametriAi o întrebare despre Rate de Învățare Diferențiate pe Grupuri de Parametri sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.