Normalización por lotes
Como mejora final de la arquitectura del modelo, añadamos la capa de normalización por lotes después de cada una de las dos capas lineales. El truco de la norma por lotes tiende a acelerar la convergencia del entrenamiento y protege al modelo de los problemas de gradientes que se desvanecen y explosivos.
Tanto torch.nn
como torch.nn.init
ya se han importado como nn
y init
, respectivamente. Una vez que implementes el cambio en la arquitectura del modelo, prepárate para responder a una breve pregunta sobre cómo funciona la normalización por lotes.
Este ejercicio forma parte del curso
Aprendizaje profundo intermedio con PyTorch
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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")