- เหตุใดจึงมีการใช้โหนดอคติในเครือข่ายประสาท
- คุณควรใช้เท่าไหร่
- คุณควรใช้เลเยอร์ใด: เลเยอร์ที่ซ่อนอยู่ทั้งหมดและเลเยอร์เอาท์พุท
คำตอบ:
โหนดอคติในเครือข่ายประสาทเทียมเป็นโหนดที่เปิดอยู่เสมอ นั่นคือค่าของมันถูกตั้งค่าเป็นโดยไม่คำนึงถึงข้อมูลในรูปแบบที่กำหนด มันคล้ายกับการสกัดกั้นในแบบจำลองการถดถอยและทำหน้าที่ฟังก์ชั่นเดียวกัน หากเครือข่ายนิวรัลไม่มีโหนดอคติในเลเยอร์ที่กำหนดมันจะไม่สามารถสร้างเอาต์พุตในเลเยอร์ถัดไปที่แตกต่างจาก (บนสเกลเชิงเส้นหรือค่าที่สอดคล้องกับการแปลงเมื่อผ่าน การเปิดใช้งานฟังก์ชั่น) เมื่อค่าคุณลักษณะเป็น0
พิจารณาตัวอย่างง่ายๆ: คุณมีฟีดไปข้างหน้าตรอนมี 2 อินพุตโหนดและและเอาท์พุท 1 โหนดY และมีคุณสมบัติไบนารีและชุดที่ระดับอ้างอิงของพวกเขา 0 คูณ 2เหล่านั้นด้วยน้ำหนักเท่าที่คุณต้องการและรวมผลิตภัณฑ์แล้วส่งผ่านฟังก์ชั่นเปิดใช้งานที่คุณต้องการ โดยไม่ต้องโหนอคติเพียงหนึ่งมูลค่าการส่งออกเป็นไปได้ที่อาจก่อให้พอดีน่าสงสารมาก ตัวอย่างเช่นการใช้ฟังก์ชั่นการเปิดใช้งานโลจิสติกจะต้องเป็นซึ่งน่ากลัวสำหรับการจำแนกเหตุการณ์ที่หายาก
โหนดอคติให้ความยืดหยุ่นอย่างมากกับโมเดลโครงข่ายประสาทเทียม ในตัวอย่างที่กำหนดข้างต้นสัดส่วนที่คาดการณ์ไว้เพียงเป็นไปได้โดยไม่ต้องโหนดอคติเป็นแต่มีโหนดอคติใด ๆสัดส่วนในสามารถเหมาะสำหรับรูปแบบที่ 0 สำหรับแต่ละเลเยอร์ซึ่งมีการเพิ่มโหนด bias โหนด bias จะเพิ่มพารามิเตอร์ / น้ำหนักเพิ่มเติมเพิ่มเติมให้ประมาณ (โดยคือจำนวนโหนดในเลเยอร์) พารามิเตอร์เพิ่มเติมที่จะติดตั้งหมายความว่าจะใช้เวลานานขึ้นในการฝึกอบรมโครงข่ายประสาทเทียม นอกจากนี้ยังเพิ่มโอกาสของการ overfitting ถ้าคุณไม่มีข้อมูลมากเกินกว่าน้ำหนักที่จะเรียนรู้
ด้วยความเข้าใจในใจเราสามารถตอบคำถามที่ชัดเจนของคุณ:
คำตอบสั้น ๆ ง่ายๆ:
ในการทดลองสองครั้งในวิทยานิพนธ์ปริญญาโทของฉัน (เช่นหน้า 59) ฉันพบว่าอคติอาจมีความสำคัญสำหรับเลเยอร์แรก แต่โดยเฉพาะอย่างยิ่งที่เลเยอร์เชื่อมต่ออย่างสมบูรณ์ในตอนท้ายดูเหมือนจะไม่ได้มีบทบาทใหญ่ ดังนั้นหนึ่งสามารถมีพวกเขาในไม่กี่ชั้นแรกและไม่ได้อยู่ในชั้นสุดท้าย เพียงฝึกฝนเครือข่ายวางแผนการกระจายน้ำหนักของโหนดอคติและตัดหากน้ำหนักนั้นใกล้กับศูนย์มากเกินไป
สิ่งนี้อาจขึ้นอยู่กับสถาปัตยกรรม / ชุดข้อมูลของเครือข่ายเป็นอย่างมาก
1
ค่าคงที่ในเลเยอร์ก่อนหน้าและหนึ่งน้ำหนัก (หนึ่งค่าอคติ) สำหรับแต่ละเซลล์ประสาทเลเยอร์ถัดไป
ในบริบทของเครือข่ายประสาทเทียมการทำให้เป็นมาตรฐานในปัจจุบันเป็นมาตรฐานทองคำสำหรับการสร้าง "โหนดอคติ" ที่ชาญฉลาด แทนที่จะยึดค่าอคติของเซลล์ประสาทคุณต้องปรับความแปรปรวนร่วมของอินพุตของเซลล์ประสาทแทน ดังนั้นใน CNN คุณจะใช้การทำให้เป็นมาตรฐานแบบแบตช์ระหว่างเลเยอร์ convolutional และเลเยอร์ที่เชื่อมต่ออย่างเต็มที่ถัดไป (เช่น ReLus) ในทางทฤษฎีเลเยอร์ที่เชื่อมต่อทั้งหมดจะได้รับประโยชน์จากการทำแบทช์ให้เป็นมาตรฐาน แต่สิ่งนี้ในทางปฏิบัติมีราคาแพงมากที่จะนำไปปฏิบัติ
เกี่ยวกับสาเหตุที่คำตอบส่วนใหญ่ได้อธิบายไว้แล้วว่าโดยเฉพาะอย่างยิ่งเซลล์ประสาทนั้นมีความอ่อนไหวต่อการไล่ระดับสีอิ่มตัวเมื่ออินพุตผลักดันการเปิดใช้งานให้สุดขั้ว ในกรณีของ ReLu สิ่งนี้จะถูกผลักไปทางซ้ายโดยมีการไล่ระดับสีเป็น 0 โดยทั่วไปเมื่อคุณฝึกฝนแบบจำลองคุณต้องปรับอินพุตให้เป็นปกติในเครือข่ายประสาท การปรับสภาพแบทช์เป็นวิธีการทำให้อินพุตปกติภายในเครือข่ายประสาทเทียมเป็นชั้นระหว่างชั้น