การทำ Bagging vs Dropout ใน Deep Neural Networks


17

การบรรจุถุงเป็นการสร้างตัวทำนายหลายตัวที่ทำงานเป็นตัวทำนายอย่างเดียว การออกกลางคันเป็นเทคนิคที่สอนให้กับเครือข่ายประสาทเทียมโดยเฉลี่ยเครือข่ายย่อยที่เป็นไปได้ทั้งหมด การดูการแข่งขันที่สำคัญที่สุดของ Kaggle นั้นดูเหมือนว่าทั้งสองเทคนิคนี้ใช้กันบ่อยมาก ฉันไม่เห็นความแตกต่างทางทฤษฎีใด ๆ นอกเหนือจากการใช้งานจริง ใครสามารถอธิบายฉันได้ว่าทำไมเราควรใช้ทั้งคู่ในแอปพลิเคชันจริง ๆ และทำไมประสิทธิภาพจึงดีขึ้นเมื่อเราใช้ทั้งสองอย่าง

คำตอบ:


21

การบรรจุหีบห่อและการออกกลางคันไม่ได้ผลเหมือนกันแม้ว่าทั้งคู่จะเป็นค่าเฉลี่ยของแบบจำลอง

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

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


+1 สำหรับคำอธิบายที่ดี คุณรู้หรือไม่ว่ามีลิงค์ใดบ้างที่ใช้งาน Python บล็อกหรือ Github ใด ๆ
Dawny33

มีดีอย่างใดอย่างหนึ่งที่นี่: deeplearning.net/tutorial/lenet.htmlแต่ผมชอบรูปแบบของหนึ่งนี้: neuralnetworksanddeeplearning.com/chap6.html สำหรับการนำไปใช้และการสาธิตที่ยอดเยี่ยมฉันชอบ keras (ค่อนข้างง่ายต่อการติดตั้ง pip) keras.io
jamesmf

2

ฉันพบการเปรียบเทียบอวนสองชนิดในMax Out Networksซึ่งกล่าวว่า:

การฝึกอบรมการออกกลางคันคล้ายกับการบรรจุถุง (Breiman, 1994) ซึ่งมีการฝึกอบรมรูปแบบที่แตกต่างกันในชุดย่อยของข้อมูลที่แตกต่างกัน การฝึกอบรมการออกกลางคันแตกต่างจากการบรรจุถุงในแต่ละรุ่นได้รับการฝึกอบรมเพียงขั้นตอนเดียวและทุกรุ่นใช้พารามิเตอร์ร่วมกัน สำหรับขั้นตอนการฝึกอบรมนี้ (การออกกลางคัน) เพื่อทำตัวราวกับว่าเป็นการฝึกอบรมทั้งมวลมากกว่าแบบจำลองเดี่ยวการอัพเดทแต่ละครั้งจะต้องมีผลกระทบขนาดใหญ่

หวังว่ามันจะมีประโยชน์


0

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

การห่อเป็นเทคนิคการทำให้เป็นมาตรฐานอย่างมีประสิทธิภาพอีกทั้งยังใช้เพื่อลดความแปรปรวนจากข้อมูลการฝึกอบรมและการปรับปรุงความแม่นยำของแบบจำลองของคุณโดยใช้สำเนาหลายชุดที่ผ่านการฝึกอบรมในชุดย่อยของข้อมูลที่แตกต่างกัน

ดูคำถามนี้

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