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

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

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

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

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

ตัวอย่างของไฮเปอร์พารามิเตอร์ประกอบด้วยจำนวนโหนดและระดับต่าง ๆ ในนิวรัลเน็ตเวิร์กและจำนวนสาขาในต้นไม้ตัดสินใจ (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

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

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

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

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

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