Random search implementeren
Hyperparameter search is een rekenintensieve aanpak om met verschillende hyperparameterewaarden te experimenteren. Het kan echter tot prestatieverbeteringen leiden. In deze oefening implementeer je een random search-algoritme.
Je gaat willekeurig 10 waarden voor de learning rate en momentum sampelen uit de uniforme verdeling. Hiervoor gebruik je de functie np.random.uniform().
Het pakket numpy is al geïmporteerd als np, en er is een functie plot_hyperparameter_search() gemaakt om je resultaten te visualiseren.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met PyTorch
Oefeninstructies
- Sample willekeurig een factor voor de learning rate tussen
2en4zodat de learning rate (lr) begrensd is tussen \(10^{-2}\) en \(10^{-4}\). - Sample willekeurig een momentum tussen 0,85 en 0,99.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
values = []
for idx in range(10):
# Randomly sample a learning rate factor between 2 and 4
factor = ____
lr = 10 ** -factor
# Randomly select a momentum between 0.85 and 0.99
momentum = ____
values.append((lr, momentum))
plot_hyperparameter_search(values)