배치 정규화
모델 아키텍처의 마지막 개선으로, 두 개의 선형 레이어 각각 뒤에 배치 정규화 레이어를 추가해 보세요. 배치 정규화는 학습 수렴을 가속하고, 소실/폭주 그래디언트 문제로부터 모델을 보호하는 데 도움이 됩니다.
torch.nn과 torch.nn.init은 각각 nn과 init으로 이미 임포트되어 있습니다. 모델 아키텍처를 변경한 뒤에는, 배치 정규화가 어떻게 동작하는지에 대한 간단한 질문에도 답할 준비를 해 주세요!
이 연습은 강의의 일부입니다
PyTorch로 배우는 Intermediate Deep Learning
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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")