การปรับแต่งไฮเปอร์พารามิเตอร์คืออะไร

เมื่อคุณฝึกโมเดลแมชชีนเลิร์นนิง ชุดข้อมูลและโมเดลแต่ละชุดจะต้องมีชุดไฮเปอร์พารามิเตอร์ที่แตกต่างกันเป็นตัวแปรชนิดหนึ่ง วิธีเดียวที่จะระบุค่าเหล่านี้ได้ก็คือการผ่านการทดสอบหลายๆ ครั้ง ที่ซึ่งคุณสามารถเลือกชุดของไฮเปอร์พารามิเตอร์และเรียกใช้งานผ่านโมเดลของคุณได้ สิ่งนี้เรียกว่าการปรับแต่งไฮเปอร์พารามิเตอร์ โดยพื้นฐานแล้วก็คือการที่คุณกำลังฝึกโมเดลของคุณตามลำดับด้วยไฮเปอร์พารามิเตอร์ชุดต่าง ๆ นั่นเอง โดยคุณสามารถดำเนินการกระบวนการนี้ได้ด้วยตนเอง หรือคุณสามารถเลือกวิธีการปรับแต่งไฮเปอร์พารามิเตอร์แบบอัตโนมัติแบบใดแบบหนึ่งก็ได้

ไม่ว่าคุณจะใช้วิธีใดก็ตาม คุณจะต้องติดตามผลการทดลองของคุณด้วย คุณจะต้องใช้รูปแบบการวิเคราะห์ทางสถิติบางอย่าง เช่น ฟังก์ชันการสูญเสีย เพื่อพิจารณาว่าไฮเปอร์พารามิเตอร์ชุดใดที่ให้ผลลัพธ์ที่ดีที่สุด การปรับแต่งไฮเปอร์พารามิเตอร์เป็นกระบวนการที่สำคัญและใช้การคำนวณเป็นจำนวนมาก

ไฮเปอร์พารามิเตอร์คืออะไร

ไฮเปอร์พารามิเตอร์เป็นตัวแปรการกำหนดค่าภายนอกที่นักวิทยาศาสตร์ข้อมูลใช้เพื่อจัดการการฝึกฝนโมเดลแมชชีนเลิร์นนิง บางครั้งถูกเรียกว่าโมเดลไฮเปอร์พารามิเตอร์ ที่ซึ่งไฮเปอร์พารามิเตอร์จะถูกตั้งค่าด้วยตนเองก่อนที่จะฝึกฝนโมเดล โดยมีความแตกต่างจากพารามิเตอร์ทั่วไป ซึ่งเป็นพารามิเตอร์ภายในที่ได้มาโดยอัตโนมัติในระหว่างกระบวนการเรียนรู้ และไม่ได้ตั้งค่าโดยนักวิทยาศาสตร์ข้อมูล

ตัวอย่างของไฮเปอร์พารามิเตอร์ประกอบด้วยจำนวนโหนดและระดับต่าง ๆ ในนิวรัลเน็ตเวิร์กและจำนวนสาขาในต้นไม้ตัดสินใจ (Decision Tree) ไฮเปอร์พารามิเตอร์จะกำหนดฟีเจอร์หลักต่าง ๆ เช่น สถาปัตยกรรมของโมเดล อัตราการเรียนรู้ และความซับซ้อนของโมเดล

คุณจะระบุไฮเปอร์พารามิเตอร์ได้อย่างไร

การเลือกชุดไฮเปอร์พารามิเตอร์ที่เหมาะสมถือว่ามีความสำคัญในแง่ของประสิทธิภาพและความแม่นยำของโมเดล แต่น่าเสียดายที่ไม่มีกฎใดที่กำหนดเอาไว้ว่าไฮเปอร์พารามิเตอร์รายการใดที่ทำงานได้ดีที่สุด หรือค่าที่เหมาะสมที่สุดหรือค่าเริ่มต้นที่ดีที่สุดคืออะไร คุณต้องทำการทดลองเพื่อหาชุดไฮเปอร์พารามิเตอร์ที่เหมาะสมที่สุดเอง กิจกรรมนี้เรียกว่าการปรับแต่งไฮเปอร์พารามิเตอร์หรือการปรับไฮเปอร์พารามิเตอร์ให้เหมาะสม

เหตุใดการปรับแต่งไฮเปอร์พารามิเตอร์จึงมีความสำคัญ

ไฮเปอร์พารามิเตอร์จะควบคุมโครงสร้างโมเดล ฟังก์ชันรวมถึงประสิทธิภาพโดยตรง การปรับไฮเปอร์พารามิเตอร์จะช่วยให้นักวิทยาศาสตร์ข้อมูลสามารถปรับแต่งประสิทธิภาพของโมเดลเพื่อให้ได้ผลลัพธ์ที่ดีที่สุดได้ กระบวนการนี้เป็นส่วนสำคัญของการเรียนรู้ของแมชชีนเลิร์นนิง และการเลือกค่าไฮเปอร์พารามิเตอร์ที่เหมาะสมถือเป็นสิ่งสำคัญที่จะทำให้ประสบความสำเร็จ

ตัวอย่างเช่น สมมติว่าคุณกำลังใช้อัตราการเรียนรู้ของโมเดลเป็นไฮเปอร์พารามิเตอร์อยู่ หากค่าสูงเกินไป ตัวโมเดลอาจมาบรรจบกันเร็วเกินไปโดยที่จะให้ผลลัพธ์ที่ไม่เหมาะสม ในขณะที่หากอัตราที่ต่ำเกินไป การฝึกจะใช้เวลานานเกินไปและผลลัพธ์อาจไม่บรรจบกัน ตัวเลือกไฮเปอร์พารามิเตอร์ที่ดีและมีความสมดุลจะทำให้ได้โมเดลที่มีความแม่นยำและมีประสิทธิภาพที่ยอดเยี่ยม

การปรับแต่งไฮเปอร์พารามิเตอร์ทำงานอย่างไร

ดังที่กล่าวไว้ข้างต้น การปรับแต่งไฮเปอร์พารามิเตอร์สามารถทำได้ด้วยตนเองหรือปรับแบบอัตโนมัติก็ได้ แม้ว่าการปรับแต่งด้วยตนเองจะมีความล่าช้าและน่าเบื่อ แต่ข้อดีก็คือคุณจะเข้าใจได้ดียิ่งขึ้นว่าการถ่วงน้ำหนักแบบไฮเปอร์พารามิเตอร์นั้นส่งผลต่อโมเดลอย่างไร แต่ในกรณีส่วนใหญ่ คุณมักจะเลือกใช้หนึ่งในอัลกอริทึมการเรียนรู้ไฮเปอร์พารามิเตอร์ที่เป็นที่รู้จักกันเป็นอย่างดีอยู่แล้ว

กระบวนการปรับแต่งไฮเปอร์พารามิเตอร์เป็นกระบวนการแบบวนซ้ำ และเป็นการลองใช้พารามิเตอร์และค่าต่าง ๆ แบบผสมกัน โดยทั่วไปแล้ว คุณจะเริ่มต้นด้วยการกำหนดตัวแปรเป้าหมาย เช่น ความแม่นยำ เป็นตัวชี้วัดหลัก และตั้งใจที่จะขยายหรือลดขนาดตัวแปรนี้ให้ได้มากที่สุด ซึ่งถือว่าเป็นความคิดที่ดีที่จะใช้เทคนิคการแบ่งข้อมูลออกเป็นส่วน ๆ เพื่อให้โมเดลของคุณไม่ได้เน้นอยู่ที่ข้อมูลเพียงแค่ส่วนเดียว

เทคนิคการปรับแต่งไฮเปอร์พารามิเตอร์มีอะไรบ้าง

อัลกอริทึมการปรับแต่งไฮเปอร์พารามิเตอร์มีอยู่จำนวนมาก แม้ว่าประเภทที่ใช้บ่อยที่สุดคือการปรับให้เหมาะสมแบบเบย์ การค้นหาแบบกริด และการค้นหาแบบสุ่ม

การปรับให้เหมาะสมแบบเบย์

การปรับให้เหมาะสมแบบเบย์คือเทคนิคที่ใช้ทฤษฎีบทของเบย์ ซึ่งอธิบายถึงความน่าจะเป็นของเหตุการณ์ที่เกี่ยวข้องกับความรู้ในปัจจุบัน เมื่อนำไปใช้กับการปรับไฮเปอร์พารามิเตอร์ให้เหมาะสม อัลกอริทึมจะสร้างโมเดลความน่าจะเป็นจากชุดของไฮเปอร์พารามิเตอร์ที่ปรับตัวชี้วัดโดยเฉพาะให้มีความเหมาะสม ใช้การวิเคราะห์รีเกรสชันเพื่อเลือกชุดพารามิเตอร์ที่ดีที่สุดซ้ำๆ

การค้นหาแบบกริด

ด้วยการค้นหาแบบกริด คุณจะสามารถระบุรายการของไฮเปอร์พารามิเตอร์และตัวชี้วัดประสิทธิภาพ และอัลกอริทึมจะทำงานโดยใช้ชุดค่าผสมที่เป็นไปได้ทั้งหมดเพื่อกำหนดแบบที่เหมาะสมที่สุด การค้นหาแบบกริดนั้นสามารถทำอย่างได้อย่างดี แต่ค่อนข้างน่าเบื่อและต้องใช้การคำนวณที่มากมาย โดยเฉพาะอย่างยิ่งกับไฮเปอร์พารามิเตอร์จำนวนมาก

ค้นหาแบบสุ่ม

แม้ว่าจะใช้หลักการที่คล้ายคลึงกันกับการค้นหาแบบกริด แต่การค้นหาแบบสุ่มจะเลือกกลุ่มของไฮเปอร์พารามิเตอร์แบบสุ่มในการวนซ้ำแต่ละครั้ง การค้นหาแบบสุ่มสามารถทำงานได้อย่างดีเมื่อมีจำนวนไฮเปอร์พารามิเตอร์ค่อนข้างน้อยที่เป็นตัวกำหนดผลลัพธ์ของโมเดลเป็นหลัก

ตัวอย่างของไฮเปอร์พารามิเตอร์มีอะไรบ้าง

แม้ว่าไฮเปอร์พารามิเตอร์บางรายการอาจเป็นแบบทั่ว ๆ ไป แต่ในทางปฏิบัติคุณจะพบว่าอัลกอริทึมจะใช้ชุดของไฮเปอร์พารามิเตอร์แบบเฉพาะเจาะจง ตัวอย่างเช่น คุณสามารถอ่านวิธีที่ Amazon SageMaker ใช้ไฮเปอร์พารามิเตอร์การจัดประเภทอิมเมจและอ่านวิธีที่ SageMaker ใช้ไฮเปอร์พารามิเตอร์ของอัลกอริทึม XGBoost

ตัวอย่างบางส่วนของไฮเปอร์พารามิเตอร์ทั่วไปมีดังนี้

  • อัตราการเรียนรู้คืออัตราที่อัลกอริทึมใช้ในการอัปเดตค่าประมาณ
  • การลดลงของอัตราการเรียนรู้คือการลดอัตราการเรียนรู้อย่างค่อยเป็นค่อยไปในช่วงเวลาหนึ่งเพื่อให้การเรียนรู้มีความรวดเร็วยิ่งขึ้น
  • แรงขับเคลื่อนคือทิศทางของขั้นตอนต่อไปเมื่อเทียบกับขั้นตอนก่อนหน้า
  • โหนดนิวรัลเน็ตเวิร์กหมายถึงจำนวนโหนดในแต่ละระดับที่ซ่อนอยู่
  • ระดับของนิวรัลเน็ตเวิร์กหมายถึงจำนวนของระดับที่ซ่อนอยู่ในนิวรัลเน็ตเวิร์ก
  • แบตช์ขนาดเล็กคือขนาดแบตช์ข้อมูลการฝึกฝน
  • เหตุการณ์คือจำนวนครั้งที่ชุดข้อมูลการฝึกฝนทั้งหมดแสดงต่อเครือข่ายระหว่างการฝึกฝน
  • Eta คือการหดตัวของขนาดขั้นตอนเพื่อป้องกันการโอเวอร์ฟิตติ้ง

AWS สามารถช่วยปรับไฮเปอร์พารามิเตอร์ได้อย่างไร

ที่ Amazon Web Services (AWS) เราได้นำเสนอ Amazon SageMaker ซึ่งเป็นแพลตฟอร์มแมชชีนเลิร์นนิง (ML) ที่มีการจัดการแบบเต็มรูปแบบ ที่จะช่วยให้คุณสามารถทำการปรับแต่งโมเดลได้โดยอัตโนมัติ การปรับแต่งโมเดลอัตโนมัติของ Amazon SageMaker จะค้นหาเวอร์ชันที่ดีที่สุดของโมเดล ML ของคุณด้วยการเรียกใช้งานการฝึกฝนหลายรายการในชุดข้อมูลของคุณ ใช้อัลกอริทึมและช่วงของไฮเปอร์พารามิเตอร์ที่คุณระบุ

SageMaker นำเสนอวิธีการปรับแต่งไฮเปอร์พารามิเตอร์เวอร์ชันอัจฉริยะซึ่งจะอิงตามทฤษฎีการค้นหาแบบเบย์ และได้รับการออกแบบมาเพื่อค้นหาโมเดลที่ดีที่สุดในเวลาอันสั้นที่สุด ซึ่งจะเริ่มต้นด้วยการค้นหาแบบสุ่ม แต่จากนั้นจะเรียนรู้ว่าโมเดลมีการทำงานอย่างไรโดยคำนึงถึงค่าต่าง ๆ ของไฮเปอร์พารามิเตอร์ สำหรับข้อมูลเพิ่มเติม โปรดอ่านวิธีการทำงานของการปรับแต่งไฮเปอร์พารามิเตอร์ใน SageMaker

นอกจากนี้ การปรับแต่งโมเดลอัตโนมัติของ SageMaker ยังรองรับ Hyperband ซึ่งถือว่าเป็นกลยุทธ์การค้นหาแบบใหม่อีกด้วย Hyperband จะสามารถค้นหาชุดไฮเปอร์พารามิเตอร์ที่เหมาะสมได้รวดเร็วกว่าการค้นหาโมเดลขนาดใหญ่แบบเบย์ถึงสามเท่า เช่น นิวรัลเน็ตเวิร์กเชิงลึกที่แก้ไขปัญหาการมองเห็นของคอมพิวเตอร์

นอกจากนี้คุณยังสามารถอ่านวิธีการปรับแต่งโมเดลอัตโนมัติด้วย SageMaker ได้อีกด้วย คุณใช้โมดูลการปรับแต่งไฮเปอร์พารามิเตอร์ของ SageMaker ที่มีอัลกอริทึม SageMaker มาด้วยในตัว อัลกอริทึมแบบกำหนดเอง และคอนเทนเนอร์ที่สร้างไว้ล่วงหน้าของ SageMaker มีบทช่วยสอนและแบบฝึกหัดการเรียนรู้ด้วยตนเองที่ครอบคลุม เพื่อช่วยให้คุณเรียนรู้การดำเนินการปรับไฮเปอร์พารามิเตอร์ให้เหมาะสมอยู่ในหน้าเว็บนี้

การเริ่มต้นใช้งาน SageMaker ถือว่าเป็นเรื่องง่าย เพียงคุณแค่สร้างบัญชี AWS ฟรี ด้วย AWS Free Tier คุณจะสามารถทดลองใช้ SageMaker ได้ฟรีถึงสองเดือนก่อนที่คุณจะเริ่มต้นชำระเงิน

ขั้นตอนถัดไปกับ AWS

ดูแหล่งข้อมูลเกี่ยวกับผลิตภัณฑ์เพิ่มเติม
ตรวจสอบบริการ AI ของ AWS 
ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที

ลงชื่อสมัครใช้งาน 
เริ่มต้นการสร้างในคอนโซล

เริ่มต้นสร้างในคอนโซลการจัดการของ AWS

ลงชื่อเข้าใช้