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.

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
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_1vàx_2dưới dạng mảngnumpyvà 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())