LoslegenKostenlos starten

Batch-Normalisierung

Als letzte Verbesserung der Modellarchitektur fügen wir nach jeder der beiden linearen Schichten eine Batch-Normalisierungsschicht hinzu. Der Batch-Normalisierungs-Trick beschleunigt in der Regel die Trainingskonvergenz und schützt das Modell vor verschwindenden und explodierenden Gradienten.

Sowohl torch.nn als auch torch.nn.init wurden bereits für dich als nn bzw. init importiert. Sobald du die Änderung in der Modellarchitektur implementiert hast, sei bereit, eine kurze Frage darüber zu beantworten, wie die Batch-Normalisierung funktioniert!

Diese Übung ist Teil des Kurses

<Kurs>Deep Learning mit PyTorch für Fortgeschrittene</Kurs>
Kurs ansehen

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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")
Code bearbeiten und ausführen