Nástrahy lokálních minim
Podívej se na graf níže zobrazující funkci ztráty loss_function(), která obsahuje globální minimum označené tečkou vpravo a několik lokálních minim, včetně toho označeného tečkou vlevo.

V tomto cvičení se pokusíš najít globální minimum funkce loss_function() pomocí keras.optimizers.SGD(). Provedeš to dvakrát, pokaždé s jinou počáteční hodnotou vstupu funkce loss_function(). Nejprve použiješ x_1 – proměnnou s počáteční hodnotou 6,0. Poté použiješ x_2 – proměnnou s počáteční hodnotou 0,3. Funkce loss_function() je již definovaná a připravená k použití.
Toto cvičení je součástí kurzu
Úvod do TensorFlow v Pythonu
Pokyny k cvičení
- Nastav
opttak, aby používal optimalizátor stochastického gradientního sestupu (SGD) s learning rate 0,01. - Proveď minimalizaci pomocí funkce ztráty
loss_function()a proměnné s počáteční hodnotou 6,0, tedyx_1. - Proveď minimalizaci pomocí funkce ztráty
loss_function()a proměnné s počáteční hodnotou 0,3, tedyx_2. - Vypiš
x_1ax_2jako polenumpya zkontroluj, zda se jejich hodnoty liší. To jsou minima, která algoritmus nalezl.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())