Pericolele minimelor locale
Analizează graficul următoarei funcții de pierdere, loss_function(), care conține un minim global, marcat cu un punct în dreapta, și mai multe minime locale, inclusiv cel marcat cu un punct în stânga.

În acest exercițiu, vei încerca să găsești minimul global al funcției loss_function() folosind keras.optimizers.SGD(). Vei face acest lucru de două ori, de fiecare dată cu o valoare inițială diferită a intrării în loss_function(). Mai întâi vei folosi x_1, o variabilă cu valoarea inițială 6.0. Apoi vei folosi x_2, o variabilă cu valoarea inițială 0.3. Reține că loss_function() a fost deja definită și este disponibilă.
Acest exercițiu face parte din cursul
Introducere în TensorFlow în Python
Instrucțiuni pentru exercițiu
- Setează
optsă folosească optimizatorul de tip gradient descendent stochastic (SGD) cu o rată de învățare de 0.01. - Efectuează minimizarea folosind funcția de pierdere
loss_function()și variabila cu valoarea inițială 6.0,x_1. - Efectuează minimizarea folosind funcția de pierdere
loss_function()și variabila cu valoarea inițială 0.3,x_2. - Afișează
x_1șix_2ca tablourinumpyși verifică dacă valorile diferă. Acestea sunt minimele identificate de algoritm.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Initialize x_1 and x_2
x_1 = Variable(6.0,float32)
x_2 = Variable(0.3,float32)
# Define the optimization operation
opt = keras.optimizers.____(learning_rate=____)
for j in range(100):
# Perform minimization using the loss function and x_1
opt.minimize(lambda: loss_function(____), var_list=[____])
# Perform minimization using the loss function and x_2
opt.minimize(lambda: ____, var_list=[____])
# Print x_1 and x_2 as numpy arrays
print(____.numpy(), ____.numpy())