ไฮเปอร์พารามิเตอร์คือตัวแปร ที่ควบคุมการฝึกอบรมในด้านต่างๆ ไฮเปอร์พารามิเตอร์ที่ใช้บ่อย 3 รายการได้แก่
ในทางตรงกันข้าม พารามิเตอร์จะเป็น ตัวแปรต่างๆ เช่น น้ำหนักและความลำเอียงที่เป็นส่วนหนึ่งของโมเดล ใน กล่าวคือ ไฮเปอร์พารามิเตอร์คือค่าที่คุณควบคุม พารามิเตอร์คือค่า ที่โมเดลคำนวณในระหว่างการฝึก
อัตราการเรียนรู้
อัตราการเรียนรู้คือ จำนวนทศนิยมที่คุณตั้งซึ่งมีผลต่อความเร็ว ลู่เข้า หากอัตราการเรียนรู้ต่ำเกินไป โมเดลอาจใช้เวลานาน บรรจบกัน อย่างไรก็ตาม หากอัตราการเรียนรู้สูงเกินไป โมเดลจะไม่ จะบรรจบกัน แต่จะกระจายน้ำหนักและอคติที่ทำให้ การสูญเสีย เป้าหมายคือการเลือกอัตราการเรียนรู้ที่ไม่สูงหรือต่ำเกินไป ที่โมเดลมาบรรจบกันอย่างรวดเร็ว
อัตราการเรียนรู้จะเป็นตัวกำหนดขนาดของการเปลี่ยนแปลงที่จะใช้ในการถ่วงน้ำหนัก และการให้น้ำหนักพิเศษในแต่ละขั้นตอนของกระบวนการไล่ระดับสี โมเดลคูณ การไล่ระดับสีตามอัตราการเรียนรู้เพื่อกำหนดพารามิเตอร์ของโมเดล (น้ำหนัก และการให้น้ำหนักพิเศษ) สำหรับการทำซ้ำครั้งถัดไป ในขั้นตอนที่สามของการไล่ระดับสี สืบทอด, "จำนวนน้อย" เพื่อเลื่อนไปในทิศทาง ของความชันเชิงลบหมายถึงอัตราการเรียนรู้
ความแตกต่างระหว่างพารามิเตอร์รูปแบบเก่าและพารามิเตอร์รูปแบบใหม่คือ เป็นสัดส่วนกับความชันของฟังก์ชันการสูญเสีย ตัวอย่างเช่น หากความชันคือ โมเดลมีขั้นตอนใหญ่ หากมีขนาดเล็กก็จะมีขั้นตอนเล็กๆ สำหรับ ตัวอย่างเช่น ถ้าขนาดของการไล่ระดับสีคือ 2.5 และอัตราการเรียนรู้คือ 0.01 โมเดลจะเปลี่ยนพารามิเตอร์ภายใน 0.025
อัตราการเรียนรู้ที่เหมาะสมช่วยให้โมเดลบรรจบกันภายในจำนวนที่สมเหตุสมผล ซ้ำแล้วซ้ำอีก ในรูปที่ 21 กราฟ Loss จะแสดงโมเดลที่มีนัยสำคัญ ดีขึ้นในช่วง 20 ครั้งแรกของช่วงก่อนที่จะเริ่มบรรจบกัน:
รูปที่ 21 กราฟการสูญเสียแสดงโมเดลที่ได้รับการฝึกด้วยอัตราการเรียนรู้ที่ กลับมาบรรจบกันอย่างรวดเร็ว
ในทางกลับกัน หากอัตราการเรียนรู้ที่เล็กเกินไปอาจใช้เวลานานเกินไป บรรจบกัน ในรูปที่ 22 กราฟแบบสูญเสียบางส่วนแสดงโมเดลที่สร้างผลลัพธ์เพียงเล็กน้อย ที่ดีขึ้นหลังจากการปรับปรุงแต่ละครั้ง:
รูปที่ 22 กราฟการสูญเสียแสดงโมเดลที่ฝึกด้วยอัตราการเรียนรู้เพียงเล็กน้อย
อัตราการเรียนรู้ที่มีขนาดใหญ่เกินไปจะไม่บรรจบกัน เนื่องจากการทำซ้ำแต่ละครั้ง ทำให้เกิดการสูญเสียการตีกลับหรือเพิ่มขึ้นอย่างต่อเนื่อง ในรูปที่ 23 การขาดทุน เส้นโค้งจะแสดงการลดลงของโมเดล แล้วเพิ่มการสูญเสียหลังจากการทำซ้ำแต่ละครั้ง และในรูปที่ 24 การสูญเสียเพิ่มขึ้นเมื่อมีการทำซ้ำในภายหลัง
รูปที่ 23 กราฟการสูญเสียแสดงโมเดลที่ฝึกด้วยอัตราการเรียนรู้ที่ ที่ใหญ่เกินไป ซึ่งเส้นโค้งแบบสูญเสียบางส่วนจะสลับกันไปมาอย่างรวดเร็ว และขึ้นลง การทำซ้ำจะเพิ่มขึ้น
รูปที่ 24 กราฟการสูญเสียแสดงโมเดลที่ฝึกด้วยอัตราการเรียนรู้ที่ มากเกินไป ซึ่งกราฟ Loss Curve เพิ่มขึ้นอย่างมากในการทำซ้ำหลังจากนั้น
แบบฝึกหัด: ตรวจสอบความเข้าใจ
ขนาดกลุ่ม
ขนาดกลุ่มคือไฮเปอร์พารามิเตอร์ที่ หมายถึงจำนวนตัวอย่างที่กระบวนการของโมเดลก่อนอัปเดตน้ำหนัก และอคติด้วย คุณอาจคิดว่าโมเดลควรคำนวณการสูญเสียสำหรับทุกๆ ในชุดข้อมูลก่อนอัปเดตน้ำหนักและน้ำหนัก แต่เมื่อ ที่มีตัวอย่างหลายแสนหรืออาจจะหลายล้านรายการ โดยใช้ ทั้งกลุ่มไม่สามารถใช้ประโยชน์ได้
เทคนิคทั่วไป 2 ข้อเพื่อให้ได้การไล่ระดับสีที่เหมาะสมตามค่าเฉลี่ยโดยไม่ต้อง ดูตัวอย่างทั้งหมดในชุดข้อมูลก่อนอัปเดตน้ำหนักและน้ำหนัก การไล่ระดับสีแบบสโตแคสติก และการไล่ระดับสีแบบสโทแคสติกแบบมินิแบต สืบทอด:
การไล่ระดับสีแบบ Stochastic (SGD): การไล่ระดับสีแบบ Stochastic จะใช้เฉพาะ ตัวอย่างเดียว (ขนาดกลุ่มเท่ากับ 1) ครั้งต่อการทำซ้ำ ได้มามากพอ การทำซ้ำ SGD ใช้งานได้แต่เสียงดังมาก "เสียงรบกวน" หมายถึงรูปแบบในระหว่าง ที่ก่อให้เกิดความสูญเสียเพิ่มขึ้นแทนที่จะลดลงในระหว่าง ซ้ำได้ คำว่า "stochastic" ระบุว่าตัวอย่างหนึ่งที่ประกอบด้วย แต่ละกลุ่มจะสุ่มเลือก
สังเกตในรูปภาพต่อไปนี้ว่าการสูญเสียจะเปลี่ยนแปลงเล็กน้อยตามโมเดลนี้ อัปเดตน้ำหนักและความเอนเอียงโดยใช้ SGD ซึ่งอาจทำให้เกิดสัญญาณรบกวนในการสูญเสียรายได้ กราฟ:
รูปที่ 25 โมเดลที่ได้รับการฝึกโดยแสดงส่วนการไล่ระดับสีแบบสโตแคสติก (SGD) สัญญาณรบกวนในกราฟเส้นโค้ง
โปรดทราบว่าการใช้การไล่ระดับสีแบบ stochastic จะเกิดสัญญาณรบกวนตลอด เส้นโค้งแบบสูญเสียบางส่วน ไม่ใช่เพียงแค่การลู่เข้าแบบใกล้
การไล่ระดับสีแบบแบตช์แบบมินิแบตช์ (SGD มินิแบตช์): มินิแบตช์ การไล่ระดับสีแบบ stochastic คือการลดลงของความแตกต่างระหว่างกลุ่มแบบเต็มและ SGD สำหรับ จำนวนจุดข้อมูล $ N $ ขนาดกลุ่มสามารถเป็นตัวเลขใดก็ได้ที่มากกว่า 1 และน้อยกว่า $ N $ โมเดลจะเลือกตัวอย่างที่รวมอยู่ในแต่ละกลุ่ม โดยการสุ่ม หาค่าเฉลี่ยการไล่ระดับสี จากนั้นอัปเดตน้ำหนักและน้ำหนัก 1 ครั้งต่อ 1 ครั้ง
การกำหนดจำนวนตัวอย่างสำหรับแต่ละกลุ่มจะขึ้นอยู่กับชุดข้อมูลและ ทรัพยากรการประมวลผลที่พร้อมใช้งาน โดยทั่วไป กลุ่มขนาดเล็กจะมีลักษณะเช่น SGD และกลุ่มขนาดที่ใหญ่กว่าจะมีลักษณะเหมือนการไล่ระดับสีแบบทั้งกลุ่ม
รูปที่ 26 โมเดลได้รับการฝึกด้วย SGD กลุ่มขนาดเล็ก
เมื่อฝึกโมเดล คุณอาจคิดว่าเสียงรบกวนเป็นสิ่งที่ไม่พึงประสงค์ ลักษณะเฉพาะที่ควรกำจัดออกไป แต่อาจมีเสียงรบกวนในระดับหนึ่ง เรื่องดีๆ ในโมดูลต่อๆ ไป คุณจะได้เรียนรู้ว่าเสียงรบกวนช่วยโมเดลได้อย่างไร ทั่วไปให้ดีขึ้นและค้นหา การให้น้ำหนักพิเศษและความลำเอียงในประสาท เครือข่าย
ช่วงเวลาสำคัญในอดีต
ในระหว่างการฝึก Epoch หมายความว่า ได้ประมวลผลตัวอย่างทั้งหมดในชุดการฝึกครั้งเดียว ตัวอย่างเช่น ชุดการฝึกที่มีตัวอย่าง 1,000 รายการ และตัวอย่างกลุ่มละ 100 รายการ จะนำการปรับปรุงรูปแบบ 10 มาใช้ ทำ 1 Epoch ให้จบ
การฝึกมักต้องใช้ Epoch จำนวนมาก กล่าวคือ ระบบจะต้องดำเนินการ ทุกตัวอย่างในการฝึก หลายครั้ง
จำนวน Epoch คือไฮเปอร์พารามิเตอร์ที่คุณตั้งค่าไว้ก่อนที่โมเดลจะเริ่มต้น การฝึกอบรม ในหลายกรณี คุณจะต้องทดสอบกับจำนวน Epoch ที่ใช้ เพื่อให้โมเดลบรรจบกัน โดยทั่วไปแล้ว ยิ่งมี Epoch มากเท่าไร ก็ยิ่งทำให้โมเดลดีขึ้นเท่านั้น ก็ต้องใช้เวลาในการฝึกมากกว่าด้วย
รูปที่ 27 วิดีโอทั้งชุดเทียบกับขนาดเล็ก
ตารางต่อไปนี้จะอธิบายว่าขนาดกลุ่มและ Epoch เกี่ยวข้องกับจำนวน จำนวนครั้งที่โมเดลอัปเดตพารามิเตอร์
ประเภทกลุ่ม | เมื่อมีการอัปเดตน้ำหนักและน้ำหนัก |
---|---|
ทั้งกลุ่ม | หลังจากที่โมเดลดูตัวอย่างทั้งหมดในชุดข้อมูล ตัวอย่างเช่น หากชุดข้อมูลมีตัวอย่าง 1,000 รายการและโมเดลฝึกสำหรับ 20 Epoch โมเดลจะอัปเดตน้ำหนักและการให้น้ำหนักพิเศษ 20 ครั้ง คือ 1 ครั้งต่อ 1 Epoch |
การไล่ระดับสีแบบสโตแคติก | หลังจากที่โมเดลดูตัวอย่างเดียวจากชุดข้อมูล เช่น หากชุดข้อมูลมีตัวอย่างและการฝึก 1,000 รายการ 20 Epoch ในการอัปเดตน้ำหนักและการให้น้ำหนัก 20,000 ครั้ง |
การไล่ระดับสีแบบสโทแคสติกแบบมินิแบตช์ | หลังจากโมเดลดูตัวอย่างในแต่ละกลุ่ม ตัวอย่างเช่น หากชุดข้อมูลมีตัวอย่าง 1,000 รายการ และขนาดกลุ่มคือ 100 รายการ โมเดลจะฝึกเป็นเวลา 20 Epoch ส่วนโมเดลจะอัปเดตน้ำหนักและ อคติถึง 200 ครั้ง |