Yan LeCun และคนอื่น ๆ แย้งในBackPropที่มีประสิทธิภาพ
การคอนเวอร์เจนซ์มักจะเร็วกว่าหากค่าเฉลี่ยของตัวแปรอินพุทของแต่ละชุดการฝึกอบรมใกล้เคียงกับศูนย์ หากต้องการดูสิ่งนี้ให้พิจารณากรณีที่รุนแรงซึ่งอินพุตทั้งหมดเป็นค่าบวก น้ำหนักของโหนดเฉพาะในเลเยอร์น้ำหนักแรกจะได้รับการอัปเดตโดยจำนวนสัดส่วนกับδxโดยที่δเป็นข้อผิดพลาด (สเกลาร์) ที่โหนดนั้นและxเป็นเวกเตอร์อินพุต (ดูสมการ (5) และ (10) เมื่อทุกองค์ประกอบของเวกเตอร์การป้อนข้อมูลที่เป็นบวกการปรับปรุงทั้งหมดของน้ำหนักที่ป้อนเข้าสู่โหนดจะมีเครื่องหมายเดียวกัน (เช่นการเข้าสู่ระบบ ( δ )) เป็นผลให้น้ำหนักเหล่านี้ลดลงหรือเพิ่มขึ้นพร้อมกันเท่านั้นสำหรับรูปแบบการป้อนข้อมูลที่กำหนด ดังนั้นหากเวกเตอร์น้ำหนักต้องเปลี่ยนทิศทางมันสามารถทำได้โดยการคดเคี้ยวไปมาซึ่งไม่มีประสิทธิภาพและช้ามาก
นี่คือเหตุผลที่คุณควรทำให้อินพุตของคุณเป็นปกติเพื่อให้ค่าเฉลี่ยเป็นศูนย์
ตรรกะเดียวกันนี้ใช้กับเลเยอร์กลาง:
ฮิวริสติกนี้ควรใช้กับทุกเลเยอร์ซึ่งหมายความว่าเราต้องการค่าเฉลี่ยของเอาต์พุตของโหนดใกล้เคียงกับศูนย์เพราะผลลัพธ์เหล่านี้เป็นอินพุตของเลเยอร์ถัดไป
Postscript @craq ทำให้จุดที่ข้อความนี้ไม่สมเหตุสมผลสำหรับ ReLU (x) = max (0, x) ซึ่งได้กลายเป็นฟังก์ชั่นการเปิดใช้งานที่เป็นที่นิยมอย่างกว้างขวาง ในขณะที่ ReLU หลีกเลี่ยงปัญหาซิกแซกแรกที่ LeCun กล่าวถึง แต่ก็ไม่ได้แก้จุดที่สองนี้โดย LeCun ผู้ซึ่งกล่าวว่าเป็นสิ่งสำคัญที่จะผลักดันค่าเฉลี่ยให้เป็นศูนย์ ฉันชอบที่จะรู้ว่าสิ่งที่ LeCun ได้พูดเกี่ยวกับเรื่องนี้ ไม่ว่าในกรณีใดมีเอกสารที่เรียกว่าBatch Normalizationซึ่งสร้างขึ้นจากการทำงานของ LeCun และเสนอวิธีแก้ไขปัญหานี้:
เป็นที่ทราบกันมานาน (LeCun et al., 1998b; Wiesler & Ney, 2011) ว่าการฝึกอบรมเครือข่ายมาบรรจบกันได้เร็วขึ้นหากอินพุตมีสีขาว - กล่าวคือการแปลงเชิงเส้นให้มีค่าเฉลี่ยศูนย์และความแปรปรวนของหน่วย เมื่อแต่ละเลเยอร์ตรวจสอบอินพุตที่ผลิตโดยเลเยอร์ด้านล่างมันจะเป็นประโยชน์ในการบรรลุไวท์เทนนิ่งที่เหมือนกันของอินพุตของแต่ละชั้น
อย่างไรก็ตามวิดีโอนี้โดย Sirajอธิบายเกี่ยวกับฟังก์ชั่นการเปิดใช้งานใน 10 นาที
@ elkout กล่าวว่า"เหตุผลที่แท้จริงที่ tanh เป็นที่ต้องการเมื่อเทียบกับ sigmoid (... ) คืออนุพันธ์ของ tanh นั้นใหญ่กว่าอนุพันธ์ของ sigmoid"
ฉันคิดว่านี่ไม่ใช่ปัญหา ฉันไม่เคยเห็นสิ่งนี้เป็นปัญหาในวรรณคดี หากมันรบกวนจิตใจคุณว่าอนุพันธ์หนึ่งมีขนาดเล็กกว่าอีกอนุพันธ์หนึ่งคุณก็สามารถขยายได้
ฟังก์ชันลอจิสติกมีรูปร่างσ(x)=11+e−kx x โดยปกติเราใช้k=1แต่ไม่มีสิ่งใดที่ห้ามไม่ให้คุณใช้ค่าอื่นสำหรับkเพื่อทำให้อนุพันธ์ของคุณกว้างขึ้นหากนั่นเป็นปัญหาของคุณ
Nitpick: tanh ยังเป็นฟังก์ชันsigmoid ฟังก์ชั่นใด ๆ ที่มีรูปร่าง S เป็น sigmoid สิ่งที่พวกคุณกำลังเรียก sigmoid เป็นฟังก์ชันลอจิสติก เหตุผลที่ฟังก์ชันลอจิสติกเป็นที่นิยมมากขึ้นก็คือเหตุผลทางประวัติศาสตร์ มันถูกนำมาใช้เป็นเวลานานโดยนักสถิติ นอกจากนี้บางคนรู้สึกว่ามันเป็นไปได้ทางชีวภาพมากขึ้น