ComenzarEmpieza gratis

Los peligros de los mínimos locales

Considera el gráfico de la siguiente función de pérdida, loss_function(), que contiene un mínimo global, marcado por el punto de la derecha, y varios mínimos locales, incluido el marcado por el punto de la izquierda.

La gráfica es de una función de una sola variable que contiene múltiples mínimos locales y un mínimo global.

En este ejercicio, intentarás encontrar el mínimo global de loss_function() utilizando keras.optimizers.SGD(). Harás esto dos veces, cada vez con un valor inicial diferente de la entrada a loss_function(). En primer lugar, utilizarás x_1, que es una variable con un valor inicial de 6,0. En segundo lugar, utilizarás x_2, que es una variable con un valor inicial de 0,3. Ten en cuenta que loss_function() se ha definido y está disponible.

Este ejercicio forma parte del curso

Introducción a TensorFlow en Python

Ver curso

Instrucciones de ejercicio

  • Configura opt para utilizar el optimizador de descenso de gradiente estocástico (SGD) con una tasa de aprendizaje de 0,01.
  • Realiza la minimización utilizando la función de pérdida, loss_function(), y la variable con un valor inicial de 6,0, x_1.
  • Realiza la minimización utilizando la función de pérdida, loss_function(), y la variable con un valor inicial de 0,3, x_2.
  • Imprime x_1 y x_2 como matrices numpy y comprueba si los valores difieren. Estos son los mínimos que identificó el algoritmo.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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())
Editar y ejecutar código