Опасность локальных минимумов
Рассмотрите график функции потерь loss_function(), которая содержит глобальный минимум, отмеченный точкой справа, и несколько локальных минимумов, включая тот, что отмечен точкой слева.

В этом упражнении вы попробуете найти глобальный минимум loss_function() с помощью keras.optimizers.SGD(). Вы выполните это дважды, каждый раз с разным начальным значением входной переменной. Сначала вы будете использовать x_1 — переменную с начальным значением 6,0. Затем — x_2 с начальным значением 0,3. Обратите внимание, что loss_function() уже определена и доступна для использования.
Это упражнение является частью курса
Введение в TensorFlow на Python
Инструкции к упражнению
- Задайте
optкак оптимизатор стохастического градиентного спуска (SGD) со скоростью обучения 0,01. - Выполните минимизацию с помощью функции потерь
loss_function()и переменнойx_1с начальным значением 6,0. - Выполните минимизацию с помощью функции потерь
loss_function()и переменнойx_2с начальным значением 0,3. - Выведите
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())