การนำ Random Search ไปใช้งาน
การค้นหา hyperparameter เป็นวิธีที่ต้องใช้ทรัพยากรการคำนวณสูง แต่ก็สามารถช่วยให้โมเดลมีประสิทธิภาพดีขึ้นได้ ในแบบฝึกหัดนี้ คุณจะได้ลองนำอัลกอริทึม random search ไปใช้งาน
โดยจะสุ่มค่า learning rate และ momentum จำนวน 10 ค่าจากการแจกแจงแบบสม่ำเสมอ (uniform distribution) ด้วยฟังก์ชัน np.random.uniform()
แพ็กเกจ numpy ถูก import ไว้เป็น np แล้ว และมีฟังก์ชัน plot_hyperparameter_search() สร้างไว้ให้สำหรับแสดงผลลัพธ์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning เบื้องต้นด้วย PyTorch
คำแนะนำการฝึกหัด
- สุ่มค่า learning rate factor ในช่วง
2ถึง4เพื่อให้ learning rate (lr) อยู่ในช่วง \(10^{-2}\) ถึง \(10^{-4}\) - สุ่มค่า momentum ในช่วง 0.85 ถึง 0.99
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
values = []
for idx in range(10):
# Randomly sample a learning rate factor between 2 and 4
factor = ____
lr = 10 ** -factor
# Randomly select a momentum between 0.85 and 0.99
momentum = ____
values.append((lr, momentum))
plot_hyperparameter_search(values)