開始使用免費開始

批次正規化(Batch Normalization)

作為模型架構的最後一項改進,讓我們在兩個線性層之後各加入一個批次正規化層。這個技巧通常能加速訓練收斂,並減輕梯度消失與梯度爆炸的問題。

torch.nntorch.nn.init 已分別以 nninit 匯入供你使用。當你完成模型架構的修改後,準備回答一個關於批次正規化運作方式的短題目吧!

本練習屬於課程

Intermediate Deep Learning with PyTorch

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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")
編輯並執行程式碼