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
Deep Learning mit PyTorch für Fortgeschrittene
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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")