ขึ้นอยู่กับสิ่งที่เราควรทำเมื่อมีคำถามโพสต์ใน DataScience ซ้ำกับคำถามที่โพสต์ใน CrossValidated ฉันจะโพสต์คำตอบของคำถามเดิมอีกครั้งที่ถามเกี่ยวกับ CrossValidated ( https://stats.stackexchange.com/a/311318/89653 )
หมายเหตุ: ตลอดคำตอบนี้ฉันอ้างถึงการลดการสูญเสียการฝึกอบรมให้น้อยที่สุดและฉันไม่ได้กล่าวถึงเกณฑ์การหยุดเช่นการสูญเสียการตรวจสอบความถูกต้อง ตัวเลือกของเกณฑ์การหยุดไม่ส่งผลกระทบต่อกระบวนการ / แนวคิดที่อธิบายไว้ด้านล่าง
กระบวนการฝึกอบรมโครงข่ายประสาทเทียมคือการหาค่าต่ำสุดของฟังก์ชั่นการสูญเสียโดยที่แทนเมทริกซ์ (หรือเมทริกซ์หลายตัว) ของน้ำหนักระหว่างเซลล์ประสาทและแทนชุดข้อมูลการฝึกอบรม ฉันใช้ตัวห้อยสำหรับเพื่อระบุว่าการลดขนาดของเกิดขึ้นเฉพาะกับน้ำหนัก (นั่นคือเรากำลังมองหาที่ลดขนาด ) ในขณะที่ได้รับการแก้ไขLX(W)X X ℒ W W ℒ XWXXLWWLX
ตอนนี้ถ้าเราคิดว่าเรามีองค์ประกอบในW (นั่นคือมีน้ำหนักPในเครือข่าย) ℒเป็นพื้นผิวในพื้นที่P - 1มิติมิติ ลองจินตนาการว่าเรามีน้ำหนักของเซลล์ประสาทเพียงสองตัว ( P = 2 ) จากนั้นℒมีการตีความทางเรขาคณิตง่าย ๆ : มันเป็นพื้นผิวในพื้นที่ 3 มิติ นี้เกิดขึ้นจากความจริงที่ว่าสำหรับการฝึกอบรมใดก็ตามของน้ำหนักW , ฟังก์ชั่นการสูญเสียสามารถประเมินได้ในXและความคุ้มค่าที่จะกลายเป็นระดับความสูงของพื้นผิวPWPLP+1P=2LWX
แต่มีปัญหาเรื่องการไม่นูน พื้นผิวที่ฉันอธิบายจะมีจำนวนน้อยที่สุดในท้องถิ่นและอัลกอริธึมการไล่ระดับสีอ่อนไหวต่อการกลายเป็น "ติด" ใน minima เหล่านั้นในขณะที่การแก้ปัญหาลึก / ต่ำ / ดีกว่าอาจอยู่ใกล้เคียง นี่คือแนวโน้มที่จะเกิดขึ้นถ้ามีการเปลี่ยนแปลงในช่วงการฝึกอบรมการทำซ้ำทั้งหมดเพราะพื้นผิวที่ได้รับการแก้ไขเพื่อให้X ; คุณสมบัติทั้งหมดของมันเป็นแบบคงที่รวมถึงความหลากหลายที่น้อยที่สุดXX
วิธีการแก้ปัญหานี้คือการฝึกอบรมแบบกลุ่มย่อยรวมกับการสับ โดยการสับแถวและการฝึกอบรมในเซตย่อยของมันในระหว่างการวนซ้ำที่กำหนดจะเปลี่ยนด้วยการวนซ้ำทุกครั้งและเป็นไปได้ค่อนข้างมากที่จะไม่มีการวนซ้ำสองครั้งในการฝึกซ้ำและ epochs ทั้งหมดในXเดียวกัน. ผลที่ได้คือตัวแก้ปัญหาสามารถ "เด้ง" ออกมาจากระดับต่ำสุดในท้องถิ่นได้อย่างง่ายดาย ลองจินตนาการว่าแก้จะติดอยู่ในขั้นต่ำท้องถิ่นย้ำฉันด้วยการฝึกอบรมมินิชุดXฉัน ค่าต่ำสุดในท้องถิ่นนี้สอดคล้องกับℒประเมินที่ค่าน้ำหนักเฉพาะ เราจะเรียกมันว่าℒ X i ( W)XXiXiL ) ในการทำซ้ำครั้งต่อไปรูปร่างของพื้นผิวการสูญเสียของเราเปลี่ยนไปจริง ๆ แล้วเพราะเราใช้ X i + 1นั่นคือ ℒ X i + 1 ( W i )อาจใช้ค่าที่แตกต่างจาก ℒ X i ( W i )และมันแตกต่างกันมากค่อนข้างเป็นไปได้ว่ามันไม่สอดคล้องกับขั้นต่ำของท้องถิ่น! ขณะนี้เราสามารถคำนวณการปรับปรุงการไล่ระดับสีและดำเนินการฝึกอบรมต่อไป เพื่อให้ชัดเจน: รูปร่างของ ℒ X i + 1โดยทั่วไปจะแตกต่างจาก ℒ X iLXi(Wi)Xi+1LXฉัน+ 1( วผม)LXผม( วผม)LXฉัน+ 1LXผม. โปรดทราบว่านี่ผมหมายถึงฟังก์ชั่นการสูญเสียประเมินในการฝึกอบรมชุดX ; มันเป็นพื้นผิวที่สมบูรณ์กว่ากำหนดค่าที่เป็นไปได้ทั้งหมดของWมากกว่าการประเมินผลของการสูญเสียที่ (ซึ่งเป็นเพียงเกลา) สำหรับค่าเฉพาะของW โปรดทราบด้วยว่าหากใช้งานแบบย่อส่วนโดยไม่มีการสับเปลี่ยนยังมีระดับ "การกระจาย" ของพื้นผิวที่สูญเสีย แต่จะมีจำนวนข้อผิดพลาดที่ไม่ซ้ำกันจำนวน จำกัด (และค่อนข้างเล็ก) ที่เห็นโดยตัวแก้ปัญหา (โดยเฉพาะ ชุดมินิแบทช์ที่เหมือนกัน - และดังนั้นจึงสูญเสียพื้นผิว - ในแต่ละช่วงเวลา)LXWW
สิ่งหนึ่งที่ฉันหลีกเลี่ยงอย่างจงใจคือการอภิปรายเกี่ยวกับขนาดมินิ - แบทช์เพราะมีความคิดเห็นนับล้านเกี่ยวกับเรื่องนี้และมันมีนัยสำคัญที่นำไปใช้ได้จริง อย่างไรก็ตามฉันเชื่อว่าต่อไปนี้เป็นสิ่งที่ควรค่าแก่การกล่าวขวัญ เนื่องจากถูกประเมินโดยการคำนวณค่าสำหรับแต่ละแถวของX (และการรวมหรือการหาค่าเฉลี่ยเช่นตัวดำเนินการสับเปลี่ยน) สำหรับชุดเมทริกซ์น้ำหนักที่กำหนดWการจัดเรียงแถวของXไม่มีผลเมื่อใช้แบบเต็ม การไล่ระดับสีแบบแบทช์ (นั่นคือเมื่อแต่ละแบตช์เต็มXและการวนซ้ำและยุคเป็นสิ่งเดียวกัน)LXWX X