Normalização em lote
Como aprimoramento final da arquitetura do modelo, vamos adicionar a camada de normalização de lote após cada uma das duas camadas lineares. O truque da norma em lote tende a acelerar a convergência do treinamento e protege o modelo contra problemas de desaparecimento e explosão de gradientes.
Ambos torch.nn
e torch.nn.init
já foram importados para você como nn
e init
, respectivamente. Depois que você implementar a alteração na arquitetura do modelo, prepare-se para responder a uma breve pergunta sobre como funciona a normalização de lotes!
Este exercício faz parte do curso
Aprendizagem profunda intermediária com PyTorch
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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")