ทำไมการเริ่มต้นให้น้ำหนักด้วยเลขศูนย์จึงเป็นอันตราย มีตัวอย่างง่ายๆที่แสดงให้เห็นหรือไม่?
ทำไมการเริ่มต้นให้น้ำหนักด้วยเลขศูนย์จึงเป็นอันตราย มีตัวอย่างง่ายๆที่แสดงให้เห็นหรือไม่?
คำตอบ:
แก้ไขดูความคิดเห็นของอัลฟ่าด้านล่าง ฉันไม่ใช่ผู้เชี่ยวชาญเกี่ยวกับอวนประสาทดังนั้นฉันจะเลื่อนเขาไป
ความเข้าใจของฉันแตกต่างจากคำตอบอื่น ๆ ที่โพสต์ไว้ที่นี่
ฉันค่อนข้างมั่นใจว่าการตีกลับเป็นเรื่องที่เกี่ยวข้องกับการเพิ่มน้ำหนักที่มีอยู่ไม่ใช่การคูณ จำนวนเงินที่คุณเพิ่มจะถูกกำหนดโดยกฎเดลต้า โปรดทราบว่า wij ไม่ปรากฏทางด้านขวามือของสมการ
ความเข้าใจของฉันคือมีเหตุผลที่ดีอย่างน้อยสองประการที่จะไม่กำหนดน้ำหนักเริ่มต้นเป็นศูนย์:
อันดับแรกเครือข่ายประสาทมีแนวโน้มที่จะติดอยู่ในท้องถิ่นน้อยที่สุดดังนั้นจึงเป็นความคิดที่ดีที่จะให้คุณค่าเริ่มต้นที่แตกต่าง คุณไม่สามารถทำเช่นนั้นได้หากพวกเขาเริ่มต้นที่ศูนย์
ประการที่สองถ้าเซลล์ประสาทเริ่มต้นด้วยน้ำหนักเท่ากันเซลล์ประสาททั้งหมดจะทำตามการไล่ระดับสีเดียวกันและจะจบลงด้วยการทำสิ่งเดียวกันกับอีกคนหนึ่งเสมอ
หากคุณคิดถึงน้ำหนักในฐานะนักบวชเช่นเดียวกับในเครือข่าย Bayesian คุณได้ตัดความเป็นไปได้ใด ๆ ที่อินพุตเหล่านั้นอาจส่งผลกระทบต่อระบบ อีกคำอธิบายก็คือ backpropagation ระบุชุดของน้ำหนักที่ช่วยลดความแตกต่างยกกำลังสองถ่วงน้ำหนักระหว่างเป้าหมายและค่าที่สังเกตได้ (E) แล้วอัลกอริธึมการไล่ระดับสีใดที่จะวางแนวในแง่ของการกำหนดทิศทางของระบบ? คุณกำลังวางตัวเองบนจุดอานของพื้นที่พารามิเตอร์
ในการวนซ้ำของอัลกอริทึมการ backpropagation ของคุณคุณจะอัปเดตน้ำหนักโดยการคูณน้ำหนักที่มีอยู่ด้วยเดลต้าที่กำหนดโดยการกระจายกลับ หากค่าน้ำหนักเริ่มต้นเป็น 0 การคูณด้วยค่าใด ๆ สำหรับเดลต้าจะไม่เปลี่ยนน้ำหนักซึ่งหมายความว่าการวนซ้ำแต่ละครั้งจะไม่มีผลกับน้ำหนักที่คุณกำลังพยายามปรับให้เหมาะสม
ฉันคิดว่าเหตุผลหนึ่งที่ทำไมการเริ่มต้นน้ำหนักให้เป็นค่าเดียวกัน (ไม่ใช่แค่ศูนย์) นั้นเป็นเพราะเหตุผลนั้นสำหรับเลเยอร์ที่ซ่อนอยู่โดยเฉพาะโหนดทั้งหมดในเลเยอร์นี้จะมีอินพุตเหมือนกันทุกประการดังนั้นจึงคงเหมือนเดิม อื่น ๆ
คำตอบสำหรับสิ่งนี้ไม่ใช่ "Local Minima / Maxima" ทั้งหมด
เมื่อคุณมีเลเยอร์ที่ซ่อนอยู่มากกว่า 1 และทุกน้ำหนักเป็น 0 ไม่ว่าการเปลี่ยนแปลงใน Weight_i จะเล็กหรือใหญ่เพียงใดจะไม่ทำให้เกิดการเปลี่ยนแปลงในเอาต์พุต
นี่เป็นเพราะเดลตา Weight_i จะถูกดูดซับโดย Hidden Layer ถัดไป
เมื่อไม่มีการเปลี่ยนแปลงในเอาต์พุตจะไม่มีการไล่ระดับสีและไม่มีทิศทาง
สิ่งนี้มีลักษณะเหมือนกันกับ Local Minima / Maxima แต่จริง ๆ แล้วเป็นเพราะของ 0 ซึ่งมีความแตกต่างทางเทคนิค
ปัญหาหลักที่มีการเริ่มต้นของน้ำหนักทั้งหมดเป็นศูนย์ทางคณิตศาสตร์ทำให้ค่าเซลล์ประสาทเป็นศูนย์ (สำหรับหลายเลเยอร์) หรือเดลต้าจะเป็นศูนย์ ในหนึ่งในความคิดเห็นโดย @alfa ในคำตอบข้างต้นแล้วมีคำใบ้ให้ไว้มันก็บอกว่าผลิตภัณฑ์ของน้ำหนักและเดลต้าจะต้องเป็นศูนย์ นี่หมายถึงว่าสำหรับการไล่ระดับสีลงบนยอดเขาที่จุดสูงสุดของมันและมันไม่สามารถทำลายความสมมาตรได้ การสุ่มจะทำให้เกิดความสมมาตรและใครจะไปถึงจุดต่ำสุดในท้องถิ่น แม้ว่าเราจะทำให้น้ำหนักลดน้อยลงเราก็ยังอยู่ในเส้นทาง การอ้างอิง: การเรียนรู้จากข้อมูลการบรรยาย 10
เป็นความคิดที่ไม่ดีเพราะด้วยเหตุผล 2 ประการ:
เรามาสาธิตเรื่องนี้ (สำหรับความเรียบง่ายฉันสมมติว่าเลเยอร์เอาต์พุตสุดท้ายของ 1 เซลล์ประสาท):