시작하기무료로 시작하기

배치 정규화

모델 아키텍처의 마지막 개선으로, 두 개의 선형 레이어 각각 뒤에 배치 정규화 레이어를 추가해 보세요. 배치 정규화는 학습 수렴을 가속하고, 소실/폭주 그래디언트 문제로부터 모델을 보호하는 데 도움이 됩니다.

torch.nntorch.nn.init은 각각 nninit으로 이미 임포트되어 있습니다. 모델 아키텍처를 변경한 뒤에는, 배치 정규화가 어떻게 동작하는지에 대한 간단한 질문에도 답할 준비를 해 주세요!

이 연습은 강의의 일부입니다

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")
코드 편집 및 실행