Пакетна нормалізація (Batch Normalization)
Як підсумкове вдосконалення архітектури моделі додайте шар пакетної нормалізації після кожного з двох лінійних шарів. Прийом batch norm зазвичай пришвидшує збіжність під час навчання та захищає модель від проблем затухання й вибуху градієнтів.
І torch.nn, і torch.nn.init уже імпортовано для вас як nn та init відповідно. Щойно ви внесете зміни в архітектуру моделі, будьте готові відповісти на коротке запитання про те, як працює пакетна нормалізація!
Ця вправа є частиною курсу
Середній рівень Deep Learning з 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")