Combaterea supraajustării

Introducere în Deep Learning cu PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Cauze ale supraajustării

  • Supraajustare: modelul nu generalizează pe date nevăzute
    • Modelul memorează datele de antrenament
    • Performanță bună pe datele de antrenament, slabă pe cele de validare
  • Cauze posibile:
Problemă Soluții
Setul de date este prea mic Obțineți mai multe date / folosiți augmentare
Modelul are capacitate prea mare Reduceți dimensiunea / adăugați dropout
Ponderile sunt prea mari Decăderea ponderilor
Introducere în Deep Learning cu PyTorch

Combaterea supraajustării

Strategii:

  • Reducerea dimensiunii modelului sau adăugarea unui strat dropout
  • Utilizarea decăderii ponderilor pentru a menține parametrii mici
  • Obținerea de date noi sau augmentarea datelor
Introducere în Deep Learning cu PyTorch

„Regularizare" cu strat dropout

  • Anulează aleatoriu elemente din tensorul de intrare în timpul antrenamentului
model = nn.Sequential(nn.Linear(8, 4),
                      nn.ReLU(),
                      nn.Dropout(p=0.5))
features = torch.randn((1, 8))
print(model(features))
tensor([[1.4655, 0.0000, 0.0000, 0.8456]], grad_fn=<MulBackward0>)
  • Dropout se adaugă după funcția de activare
  • Se comportă diferit la antrenament față de evaluare - folosiți model.train() pentru antrenament și model.eval() pentru a dezactiva dropout la evaluare
Introducere în Deep Learning cu PyTorch

Regularizare prin decăderea ponderilor

optimizer = optim.SGD(model.parameters(), lr=0.001, weight_decay=0.0001)

  • Controlat prin parametrul weight_decay din optimizer, de obicei o valoare mică (ex.: 0.0001)
  • Decăderea ponderilor încurajează ponderi mai mici prin adăugarea unei penalizări la optimizare
  • Ajută la reducerea supraajustării, menținând ponderile mici și îmbunătățind generalizarea
Introducere în Deep Learning cu PyTorch

Augmentarea datelor

exemple de augmentare a datelor

Introducere în Deep Learning cu PyTorch

Să exersăm!

Introducere în Deep Learning cu PyTorch

Preparing Video For Download...