НачатьНачать бесплатно

Опасность локальных минимумов

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

The graph is of a single variable function that contains multiple local minima and a global minimum.

В этом упражнении вы попробуете найти глобальный минимум 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())
Редактировать и запускать код