Spatial Dropout ใน 2D นำมาใช้อย่างไร
นี่คือการอ้างอิงถึงกระดาษการแปลภาษาอย่างมีประสิทธิภาพของวัตถุโดยใช้เครือข่าย Convolutionalและจากสิ่งที่ฉันเข้าใจว่าการใช้งานกลางคันนั้นเป็นแบบ 2D หลังจากอ่านรหัสจาก Keras เกี่ยวกับวิธีการนำ Spatial 2D Dropout ไปใช้โดยทั่วไปจะมีหน้ากากรูปแบบไบนารีแบบสุ่ม [batch_size, 1, 1, num_channels] อย่างไรก็ตาม Dropout 2D เชิงพื้นที่นี้ทำอะไรกับบล็อก Convolution อินพุตของรูปร่างอย่างแน่นอน [batch_size, ส่วนสูง, ความกว้าง, num_channels] การคาดเดาปัจจุบันของฉันคือว่าสำหรับแต่ละพิกเซลถ้าเลเยอร์ / ช่องใด ๆ ของพิกเซลมีค่าเป็นลบช่องทั้งหมดของพิกเซลนั้นจะมีค่าเริ่มต้นเป็นศูนย์ ถูกต้องหรือไม่ อย่างไรก็ตามถ้าการเดาของฉันถูกต้องแล้วการใช้รูปแบบไบนารีของรูปร่าง [batch_size, ความสูง, ความกว้าง, num_channels] ที่อยู่ในมิติของบล็อกอินพุตดั้งเดิมจะให้องค์ประกอบแบบปกติที่ชาญฉลาด (นี่คือตาม การใช้งานแบบเลื่อนลงของ tensorflow ที่กำหนดรูปร่างของไบนารีมาสก์เป็นรูปร่างของอินพุต) เพราะมันจะหมายความว่าหากพิกเซลใด ๆ ในบล็อกการแปลงเป็นลบดังนั้นบล็อกการแปลงทั้งหมดจะเริ่มต้นที่ 0 นี่คือส่วนที่สร้างความสับสนที่ฉันไม่ค่อยเข้าใจ