Os perigos dos mínimos locais
Considere o gráfico da seguinte função de perda, loss_function(), que contém um mínimo global, marcado pelo ponto à direita, e vários mínimos locais, incluindo o marcado pelo ponto à esquerda.

Neste exercício, você tentará encontrar o mínimo global de loss_function() usando keras.optimizers.SGD(). Você fará isso duas vezes, cada uma com um valor inicial diferente para a entrada de loss_function(). Primeiro, você usará x_1, que é uma variável com valor inicial de 6.0. Depois, você usará x_2, que é uma variável com valor inicial de 0.3. Observe que loss_function() já foi definida e está disponível.
Este exercício faz parte do curso
Introdução ao TensorFlow em Python
Instruções do exercício
- Defina
optpara usar o otimizador stochastic gradient descent (SGD) com taxa de aprendizado de 0.01. - Realize a minimização usando a função de perda,
loss_function(), e a variável com valor inicial de 6.0,x_1. - Realize a minimização usando a função de perda,
loss_function(), e a variável com valor inicial de 0.3,x_2. - Imprima
x_1ex_2como arraysnumpye verifique se os valores diferem. Esses são os mínimos que o algoritmo identificou.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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())