开始使用免费开始使用

局部极小的风险

请考虑如下损失函数 loss_function() 的图像。它包含一个全局最小值(右侧的点所示),以及若干局部最小值(包括左侧的点所示)。

该图是一个单变量函数,包含多个局部最小值和一个全局最小值。

在本练习中,您将使用 keras.optimizers.SGD() 来寻找 loss_function() 的全局最小值。您将尝试两次,每次为 loss_function() 提供不同的初始输入值。第一次使用初始值为 6.0 的变量 x_1。第二次使用初始值为 0.3 的变量 x_2。注意,loss_function() 已定义并可直接使用。

本练习是课程的一部分

Python 中的 TensorFlow 入门

查看课程

练习说明

  • opt 设为随机梯度下降优化器(SGD),学习率为 0.01。
  • 使用损失函数 loss_function() 和初始值为 6.0 的变量 x_1 进行最小化。
  • 使用损失函数 loss_function() 和初始值为 0.3 的变量 x_2 进行最小化。
  • numpy 数组形式打印 x_1x_2,检查二者是否不同。这些就是算法找到的极小值。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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())
编辑并运行代码