การถดถอยเชิงเส้น: ไฮเปอร์พารามิเตอร์

ไฮเปอร์พารามิเตอร์คือตัวแปร ที่ควบคุมการฝึกอบรมในด้านต่างๆ ไฮเปอร์พารามิเตอร์ที่ใช้บ่อย 3 รายการได้แก่

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

อัตราการเรียนรู้

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

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

ความแตกต่างระหว่างพารามิเตอร์รูปแบบเก่าและพารามิเตอร์รูปแบบใหม่คือ เป็นสัดส่วนกับความชันของฟังก์ชันการสูญเสีย ตัวอย่างเช่น หากความชันคือ โมเดลมีขั้นตอนใหญ่ หากมีขนาดเล็กก็จะมีขั้นตอนเล็กๆ สำหรับ ตัวอย่างเช่น ถ้าขนาดของการไล่ระดับสีคือ 2.5 และอัตราการเรียนรู้คือ 0.01 โมเดลจะเปลี่ยนพารามิเตอร์ภายใน 0.025

อัตราการเรียนรู้ที่เหมาะสมช่วยให้โมเดลบรรจบกันภายในจำนวนที่สมเหตุสมผล ซ้ำแล้วซ้ำอีก ในรูปที่ 21 กราฟ Loss จะแสดงโมเดลที่มีนัยสำคัญ ดีขึ้นในช่วง 20 ครั้งแรกของช่วงก่อนที่จะเริ่มบรรจบกัน:

รูปที่ 21 เส้นโค้งการสูญเสียที่แสดงความลาดชันสูงก่อนที่จะแบนราบ

รูปที่ 21 กราฟการสูญเสียแสดงโมเดลที่ได้รับการฝึกด้วยอัตราการเรียนรู้ที่ กลับมาบรรจบกันอย่างรวดเร็ว

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

รูปที่ 22 เส้นโค้งการสูญเสียที่แสดงความชันเกือบ 45 องศา

รูปที่ 22 กราฟการสูญเสียแสดงโมเดลที่ฝึกด้วยอัตราการเรียนรู้เพียงเล็กน้อย

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

รูปที่ 23 เส้นโค้งการสูญเสียที่แสดงเส้นขรุขระขึ้นและลง

รูปที่ 23 กราฟการสูญเสียแสดงโมเดลที่ฝึกด้วยอัตราการเรียนรู้ที่ ที่ใหญ่เกินไป ซึ่งเส้นโค้งแบบสูญเสียบางส่วนจะสลับกันไปมาอย่างรวดเร็ว และขึ้นลง การทำซ้ำจะเพิ่มขึ้น

รูปที่ 24 เส้นโค้งการสูญเสียที่แสดงการสูญเสียเพิ่มขึ้นเมื่อมีการทำซ้ำหลังจากนั้น

รูปที่ 24 กราฟการสูญเสียแสดงโมเดลที่ฝึกด้วยอัตราการเรียนรู้ที่ มากเกินไป ซึ่งกราฟ Loss Curve เพิ่มขึ้นอย่างมากในการทำซ้ำหลังจากนั้น

แบบฝึกหัด: ตรวจสอบความเข้าใจ

อัตราการเรียนรู้ที่เหมาะสมคือเท่าใด
อัตราการเรียนรู้ที่เหมาะสมจะขึ้นอยู่กับโจทย์
โมเดลและชุดข้อมูลแต่ละรายการจะมีอัตราการเรียนรู้ที่เหมาะสมของตนเอง
0.01
1.0

ขนาดกลุ่ม

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

เทคนิคทั่วไป 2 ข้อเพื่อให้ได้การไล่ระดับสีที่เหมาะสมตามค่าเฉลี่ยโดยไม่ต้อง ดูตัวอย่างทั้งหมดในชุดข้อมูลก่อนอัปเดตน้ำหนักและน้ำหนัก การไล่ระดับสีแบบสโตแคสติก และการไล่ระดับสีแบบสโทแคสติกแบบมินิแบต สืบทอด:

  • การไล่ระดับสีแบบ Stochastic (SGD): การไล่ระดับสีแบบ Stochastic จะใช้เฉพาะ ตัวอย่างเดียว (ขนาดกลุ่มเท่ากับ 1) ครั้งต่อการทำซ้ำ ได้มามากพอ การทำซ้ำ SGD ใช้งานได้แต่เสียงดังมาก "เสียงรบกวน" หมายถึงรูปแบบในระหว่าง ที่ก่อให้เกิดความสูญเสียเพิ่มขึ้นแทนที่จะลดลงในระหว่าง ซ้ำได้ คำว่า "stochastic" ระบุว่าตัวอย่างหนึ่งที่ประกอบด้วย แต่ละกลุ่มจะสุ่มเลือก

    สังเกตในรูปภาพต่อไปนี้ว่าการสูญเสียจะเปลี่ยนแปลงเล็กน้อยตามโมเดลนี้ อัปเดตน้ำหนักและความเอนเอียงโดยใช้ SGD ซึ่งอาจทำให้เกิดสัญญาณรบกวนในการสูญเสียรายได้ กราฟ:

    รูปที่ 25 กราฟแบบสูญเสียสูงชันที่คงที่ แต่มีความผันผวนเล็กน้อย

    รูปที่ 25 โมเดลที่ได้รับการฝึกโดยแสดงส่วนการไล่ระดับสีแบบสโตแคสติก (SGD) สัญญาณรบกวนในกราฟเส้นโค้ง

    โปรดทราบว่าการใช้การไล่ระดับสีแบบ stochastic จะเกิดสัญญาณรบกวนตลอด เส้นโค้งแบบสูญเสียบางส่วน ไม่ใช่เพียงแค่การลู่เข้าแบบใกล้

  • การไล่ระดับสีแบบแบตช์แบบมินิแบตช์ (SGD มินิแบตช์): มินิแบตช์ การไล่ระดับสีแบบ stochastic คือการลดลงของความแตกต่างระหว่างกลุ่มแบบเต็มและ SGD สำหรับ จำนวนจุดข้อมูล $ N $ ขนาดกลุ่มสามารถเป็นตัวเลขใดก็ได้ที่มากกว่า 1 และน้อยกว่า $ N $ โมเดลจะเลือกตัวอย่างที่รวมอยู่ในแต่ละกลุ่ม โดยการสุ่ม หาค่าเฉลี่ยการไล่ระดับสี จากนั้นอัปเดตน้ำหนักและน้ำหนัก 1 ครั้งต่อ 1 ครั้ง

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

    รูปที่ 26 กราฟแบบสูญเสียสูงชันที่เริ่มแบนโดยมีความผันผวนเล็กน้อยใกล้กับการลู่เข้า

    รูปที่ 26 โมเดลได้รับการฝึกด้วย SGD กลุ่มขนาดเล็ก

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

ช่วงเวลาสำคัญในอดีต

ในระหว่างการฝึก Epoch หมายความว่า ได้ประมวลผลตัวอย่างทั้งหมดในชุดการฝึกครั้งเดียว ตัวอย่างเช่น ชุดการฝึกที่มีตัวอย่าง 1,000 รายการ และตัวอย่างกลุ่มละ 100 รายการ จะนำการปรับปรุงรูปแบบ 10 มาใช้ ทำ 1 Epoch ให้จบ

การฝึกมักต้องใช้ Epoch จำนวนมาก กล่าวคือ ระบบจะต้องดำเนินการ ทุกตัวอย่างในการฝึก หลายครั้ง

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

รูปที่ 27 กลุ่มเต็มคือชุดข้อมูลทั้งหมด มินิแบตช์คือชุดย่อยของชุดข้อมูล และ Epoch คือชุดข้อมูลขนาดเล็กทั้งหมด 10 กลุ่ม

รูปที่ 27 วิดีโอทั้งชุดเทียบกับขนาดเล็ก

ตารางต่อไปนี้จะอธิบายว่าขนาดกลุ่มและ Epoch เกี่ยวข้องกับจำนวน จำนวนครั้งที่โมเดลอัปเดตพารามิเตอร์

ประเภทกลุ่ม เมื่อมีการอัปเดตน้ำหนักและน้ำหนัก
ทั้งกลุ่ม หลังจากที่โมเดลดูตัวอย่างทั้งหมดในชุดข้อมูล ตัวอย่างเช่น หากชุดข้อมูลมีตัวอย่าง 1,000 รายการและโมเดลฝึกสำหรับ 20 Epoch โมเดลจะอัปเดตน้ำหนักและการให้น้ำหนักพิเศษ 20 ครั้ง คือ 1 ครั้งต่อ 1 Epoch
การไล่ระดับสีแบบสโตแคติก หลังจากที่โมเดลดูตัวอย่างเดียวจากชุดข้อมูล เช่น หากชุดข้อมูลมีตัวอย่างและการฝึก 1,000 รายการ 20 Epoch ในการอัปเดตน้ำหนักและการให้น้ำหนัก 20,000 ครั้ง
การไล่ระดับสีแบบสโทแคสติกแบบมินิแบตช์ หลังจากโมเดลดูตัวอย่างในแต่ละกลุ่ม ตัวอย่างเช่น หากชุดข้อมูลมีตัวอย่าง 1,000 รายการ และขนาดกลุ่มคือ 100 รายการ โมเดลจะฝึกเป็นเวลา 20 Epoch ส่วนโมเดลจะอัปเดตน้ำหนักและ อคติถึง 200 ครั้ง

แบบฝึกหัด: ตรวจสอบความเข้าใจ

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