เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

อันตรายของค่าต่ำสุดเฉพาะที่

พิจารณากราฟของฟังก์ชันการสูญเสีย loss_function() ด้านล่าง ซึ่งมีค่าต่ำสุดสัมบูรณ์ (global minimum) ที่แสดงด้วยจุดทางขวา และค่าต่ำสุดเฉพาะที่ (local minima) อีกหลายจุด รวมถึงจุดที่แสดงทางซ้าย

The graph is of a single variable function that contains multiple local minima and a global minimum.

ในแบบฝึกหัดนี้ จะลองค้นหาค่าต่ำสุดสัมบูรณ์ของ loss_function() โดยใช้ keras.optimizers.SGD() โดยทดลองสองครั้ง แต่ละครั้งใช้ค่าเริ่มต้นของอินพุตที่ต่างกัน ครั้งแรกใช้ x_1 ซึ่งเป็นตัวแปรที่มีค่าเริ่มต้นเป็น 6.0 และครั้งที่สองใช้ x_2 ซึ่งมีค่าเริ่มต้นเป็น 0.3 โดย loss_function() ได้ถูกกำหนดไว้แล้วและพร้อมใช้งาน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

TensorFlow เบื้องต้นใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดให้ opt ใช้ตัวปรับค่า stochastic gradient descent (SGD) ที่มีอัตราการเรียนรู้เป็น 0.01
  • ทำการ minimization โดยใช้ฟังก์ชันการสูญเสีย loss_function() และตัวแปรที่มีค่าเริ่มต้นเป็น 6.0 คือ x_1
  • ทำการ minimization โดยใช้ฟังก์ชันการสูญเสีย loss_function() และตัวแปรที่มีค่าเริ่มต้นเป็น 0.3 คือ x_2
  • แสดงผล x_1 และ x_2 ในรูปแบบ numpy array แล้วตรวจสอบว่าค่าทั้งสองต่างกันหรือไม่ ซึ่งนั่นคือค่าต่ำสุดที่อัลกอริทึมค้นพบ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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())
แก้ไขและรันโค้ด