ÎncepețiÎncepe gratuit

Normalizarea pe loturi (Batch Normalization)

Ca ultimă îmbunătățire a arhitecturii modelului, să adăugăm un strat de normalizare pe loturi după fiecare dintre cele două straturi liniare. Tehnica batch normalization tinde să accelereze convergența antrenamentului și protejează modelul de problemele gradienților instabili (care dispar sau explodează).

Atât torch.nn, cât și torch.nn.init au fost deja importate pentru tine ca nn și, respectiv, init. Odată ce implementezi modificarea în arhitectura modelului, pregătește-te să răspunzi la o întrebare scurtă despre modul în care funcționează normalizarea pe loturi!

Acest exercițiu face parte din cursul

Deep Learning intermediar cu PyTorch

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(9, 16)
        # Add two batch normalization layers
        ____ = ____
        self.fc2 = nn.Linear(16, 8)
        ____ = ____
        self.fc3 = nn.Linear(8, 1)
        
        init.kaiming_uniform_(self.fc1.weight)
        init.kaiming_uniform_(self.fc2.weight)
        init.kaiming_uniform_(self.fc3.weight, nonlinearity="sigmoid")
Editează și rulează codul