เครือข่ายประสาทเทียมทั่วไปส่วนใหญ่มีชั้นการรวมกำไรเพื่อลดขนาดของคุณสมบัติเอาท์พุท ทำไมฉันถึงทำสิ่งเดียวกันไม่ได้โดยเพิ่มความก้าวหน้าของเลเยอร์ convolutional? อะไรทำให้เลเยอร์รวมกำไรจำเป็น?
เครือข่ายประสาทเทียมทั่วไปส่วนใหญ่มีชั้นการรวมกำไรเพื่อลดขนาดของคุณสมบัติเอาท์พุท ทำไมฉันถึงทำสิ่งเดียวกันไม่ได้โดยเพิ่มความก้าวหน้าของเลเยอร์ convolutional? อะไรทำให้เลเยอร์รวมกำไรจำเป็น?
คำตอบ:
แน่นอนคุณสามารถทำเช่นนั้นให้ดูที่การแสวงหาความเรียบง่าย: ทั้งหมด Convolutional สุทธิ การรวมกำไรจะช่วยให้คุณมีค่าคงที่ของการแปลซึ่งอาจจะมีประโยชน์หรือไม่ก็ได้ นอกจากนี้การรวมกำไรยังเร็วกว่าการคำนวณมากกว่าการโน้มน้าวใจ ถึงกระนั้นคุณสามารถลองเปลี่ยนการรวมกำไรด้วยการเปลี่ยนใจและดูว่าอะไรทำงานได้ดีกว่า
งานปัจจุบันบางงานใช้การรวมกำไรโดยเฉลี่ย ( เครือข่ายส่วนที่เหลือกว้าง , DenseNets ), งานอื่น ๆ ใช้การบิดด้วย stride ( DelugeNets )
เห็นได้ชัดว่าการรวมกันสูงสุดช่วยเพราะมันแยกคุณสมบัติที่คมชัดที่สุดของภาพ เมื่อพิจารณาถึงภาพคุณสมบัติที่คมชัดที่สุดคือภาพระดับล่างที่ดีที่สุด https://www.quora.com/What-is-the-benefit-of-using-average-pooling-rather-than-max-pooling
แต่ตามการบรรยาย Deep Learning ของ Andrew Ng การทำงานร่วมกันสูงสุดทำได้ดี แต่ไม่มีใครรู้ว่าทำไม Quote -> "แต่ฉันต้องยอมรับฉันคิดว่าเหตุผลหลักที่คนใช้การรวมกำไรสูงสุดก็เพราะว่ามันถูกพบในการทดลองจำนวนมากเพื่อให้ทำงานได้ดี ... ฉันไม่รู้ว่ามีใครรู้จริงหรือไม่ว่าเป็นของจริง เหตุผลพื้นฐาน "