วิธีตรวจสอบเซลล์ประสาท relu ที่ตายแล้ว


10

ข้อมูลประกอบ: ในขณะที่โครงข่ายประสาทเทียมที่เหมาะสมพร้อมการเปิดใช้งาน relu ฉันพบว่าบางครั้งคำทำนายนั้นใกล้เคียงกับค่าคงที่ ฉันเชื่อว่านี่เป็นเพราะเซลล์ประสาท relu ตายในระหว่างการฝึกอบรมตามที่ระบุไว้ที่นี่ ( ปัญหา "ตาย ReLU" ในเครือข่ายประสาทคืออะไร )

คำถาม: สิ่งที่ฉันหวังว่าจะทำคือการใช้การตรวจสอบในรหัสเพื่อตรวจสอบว่าเซลล์ประสาทเสียชีวิตหรือไม่ หลังจากนั้นรหัสสามารถปรับโฉมเครือข่ายได้หากจำเป็น

ดังนั้นเกณฑ์ที่ดีในการตรวจสอบเซลล์ประสาทที่ตายแล้วคืออะไร ขณะนี้ฉันกำลังคิดที่จะตรวจสอบความแปรปรวนต่ำในการทำนายว่าเป็นเกณฑ์

ถ้ามันช่วยได้ฉันใช้ keras


เพิ่มสรุปสำหรับอคติใน tensorboard นี้: tensorflow.org/get_started/summaries_and_tensorboard
เอ็ม

คำตอบ:


6

ReLU ที่ตายแล้วค่อนข้างมากเพียงแค่หมายความว่าค่าอาร์กิวเมนต์เป็นลบเช่นนั้นการไล่ระดับสีจะอยู่ที่ 0 ไม่ว่าคุณจะฝึกฝนมาตั้งแต่ไหนก็ตาม คุณสามารถดูการไล่ระดับสีในระหว่างการฝึกอบรมเพื่อดูว่า ReLU ตายหรือไม่

ในทางปฏิบัติคุณอาจต้องการใช้ ReLU ที่รั่วไหลนั่นคือแทน f (x) = สูงสุด (0, x) คุณตั้งค่า f (x) = x ถ้า x> 0 และ f (x) = 0.01x ถ้า x <= 0 วิธีนี้คุณจะอนุญาตให้ใช้การไล่ระดับสีที่ไม่เป็นศูนย์ขนาดเล็กและหน่วยงานไม่ควรติดอยู่ในการฝึกอบรมอีกต่อไป


1

เซลล์ประสาทที่ตายแล้วเป็นเซลล์ประสาทที่ไม่ได้ปรับปรุงในระหว่างการฝึกอบรมเช่น 0 การไล่ระดับสี

Keras อนุญาตให้แยกการไล่ระดับสีได้โดยตรงสำหรับแถวข้อมูลที่กำหนด (อีกตัวอย่างที่ดี)

หรือคุณสามารถแยกน้ำหนักของเซลล์ประสาทและคำนวณการไล่ระดับสีด้วยตัวคุณเอง
(เช่นสำหรับ relu, อาร์กิวเมนต์เชิงลบเป็น relu -> 0 gradient)

น่าเสียดายที่การไล่ระดับสีเป็นจุดข้อมูลเฉพาะ เฉพาะในกรณีที่การไล่ระดับสีเป็น 0 สำหรับข้อมูลการฝึกอบรมทุกแถวคุณสามารถมั่นใจได้ว่าเซลล์ประสาทจะไม่อัปเดตสำหรับรถมินิบัสทุกคันในระหว่างช่วงเวลาการฝึกอบรม

Leaky relu อาจเป็นกลยุทธ์ที่มีประโยชน์เนื่องจากไม่มีค่าสำหรับ relu ที่รั่วซึ่งการไล่ระดับสีเท่ากับ 0

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.