Небезпеки локальних мінімумів
Розгляньте графік такої функції втрат loss_function(), яка має глобальний мінімум (позначений точкою праворуч) і кілька локальних мінімумів, зокрема один позначений точкою ліворуч.

У цій вправі ви спробуєте знайти глобальний мінімум loss_function() за допомогою keras.optimizers.SGD(). Ви зробите це двічі, щоразу з іншим початковим значенням вхідного аргументу loss_function(). Спершу ви використаєте x_1 — змінну з початковим значенням 6.0. Потім ви використаєте x_2 — змінну з початковим значенням 0.3. Зауважте, що loss_function() уже визначена і доступна.
Ця вправа є частиною курсу
Вступ до TensorFlow на Python
Інструкції до вправи
- Задайте
optяк оптимізатор стохастичного градієнтного спуску (SGD) зі швидкістю навчання 0.01. - Виконайте мінімізацію, використовуючи функцію втрат
loss_function()і змінну з початковим значенням 6.0,x_1. - Виконайте мінімізацію, використовуючи функцію втрат
loss_function()і змінну з початковим значенням 0.3,x_2. - Виведіть
x_1іx_2як масивиnumpyта перевірте, чи відрізняються значення. Це ті мінімуми, які визначив алгоритм.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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())