Bắt đầu ngayBắt đầu miễn phí

Những rủi ro của cực tiểu cục bộ

Xem đồ thị của hàm mất mát sau, loss_function(), có một cực tiểu toàn cục (điểm chấm ở bên phải) và vài cực tiểu cục bộ, gồm cả điểm chấm ở bên trái.

Đồ thị của một hàm một biến với nhiều cực tiểu cục bộ và một cực tiểu toàn cục.

Trong bài tập này, bạn sẽ cố gắng tìm cực tiểu toàn cục của loss_function() bằng keras.optimizers.SGD(). Bạn sẽ làm việc này hai lần, mỗi lần với một giá trị khởi tạo khác nhau cho đầu vào của loss_function(). Lần đầu, bạn dùng x_1, một biến có giá trị khởi tạo 6.0. Lần hai, bạn dùng x_2, một biến có giá trị khởi tạo 0.3. Lưu ý loss_function() đã được định nghĩa và có sẵn.

Bài tập này là một phần của khóa học

Nhập môn TensorFlow bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Đặt opt để dùng bộ tối ưu stochastic gradient descent (SGD) với learning rate 0.01.
  • Thực hiện tối ưu (minimization) với hàm mất mát loss_function() và biến có giá trị khởi tạo 6.0, x_1.
  • Thực hiện tối ưu (minimization) với hàm mất mát loss_function() và biến có giá trị khởi tạo 0.3, x_2.
  • In x_1x_2 dưới dạng mảng numpy và kiểm tra xem các giá trị có khác nhau không. Đây là các điểm cực tiểu mà thuật toán tìm được.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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())
Chỉnh sửa và Chạy Mã