ทำไมการเพิ่มชั้นการออกกลางคันช่วยเพิ่มประสิทธิภาพการเรียนรู้อย่างลึก / ด้วยเครื่องจักรเนื่องจากการออกกลางคันช่วยยับยั้งเซลล์ประสาทบางส่วนจากแบบจำลอง


13

หากการเอาเซลล์ประสาทออกบางส่วนจะส่งผลให้แบบจำลองมีประสิทธิภาพดีขึ้นทำไมไม่ลองใช้โครงข่ายประสาทที่เรียบง่ายกว่าโดยมีเลเยอร์น้อยลงและมีเซลล์ประสาทน้อยลงในตอนแรก เหตุใดจึงต้องสร้างแบบจำลองที่ใหญ่และซับซ้อนกว่าเดิมในตอนเริ่มต้นและระงับบางส่วนในภายหลัง

คำตอบ:


31

ฟังก์ชั่นการออกกลางคันคือการเพิ่มความทนทานของโมเดลและเพื่อกำจัดการพึ่งพาระหว่างเซลล์ประสาท

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

ฉันอยากจะแนะนำให้อ่าน pf ส่วน Dropout ในหนังสือเรียนลึกของ Michael Nielsen (ฟรีและออนไลน์) ซึ่งให้สัญชาตญาณที่ดีและยังมีไดอะแกรม / คำอธิบายที่เป็นประโยชน์มาก เขาอธิบายว่า:

การออกกลางคันเป็นเทคนิคที่แตกต่างอย่างสิ้นเชิงสำหรับการทำให้เป็นมาตรฐาน การออกกลางคันไม่เหมือนกับ L1 และ L2 การออกกลางคันไม่ได้อาศัยการแก้ไขฟังก์ชั่นต้นทุน เราจะปรับเปลี่ยนเครือข่ายแทน

นี่คือบทความสรุปที่ดี จากบทความนั้น:

ข้อสังเกตบางอย่าง:

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

ตัวอย่าง

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


จะกำหนดค่า dropout ที่ดีที่สุดสำหรับการจำแนกประเภทหลายคลาสได้อย่างไร? และวิธีการกำหนดจำนวนเลเยอร์ dropout ที่ดีที่สุด
N.IT

2
@ N.IT - เท่าที่ฉันทราบมีวิธีที่ไม่ชัดเจนที่จะหาระดับที่ดีที่สุดของการออกกลางคันหรือจำนวนชั้น - นอกเหนือจาก jsut ลองชุดค่าผสมจำนวนมาก เช่นเดียวกับวิธีการอื่น ๆ ของการทำให้เป็นปกติและการสำรวจสถาปัตยกรรมคุณอาจได้รับผลลัพธ์ที่ดีที่สุดโดยการฝึกอบรมรูปแบบและเปรียบเทียบเส้นโค้งการสูญเสียการฝึกอบรม / การตรวจสอบความถูกต้อง ตรวจสอบนี้คำอธิบายรอบหัวข้อ
n1k31t4

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

ฉันพิมพ์คำตอบนี้ด้วยดวงตาของฉันปิด ต้องการการฝึกอบรมมากขึ้น nwws moew seopour
VHanded

3

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

ตัวอย่าง -สมมติว่ามีถนน 8 เลน - เมื่อรถบรรทุกมาพวกเขาผ่านเลน 1,2,4,6,7 เมื่อรถยนต์มาถึงพวกเขาผ่านเลน 2,3,4,7,8 และเมื่อจักรยานมา พวกเขาผ่านเลน 1,2,5,8 ดังนั้นไม่ว่าจะมียานพาหนะใดก็ตามเลนทั้งหมดอยู่ที่นั่น แต่มีเพียงบางส่วนเท่านั้นที่ใช้

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

เหตุใดจึงต้องใช้การออกกลางคัน

ตามที่ระบุในหนังสือเรียนรู้ลึกโดย Ian Goodfellow

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

เขายังพูดว่า -

ข้อดีอย่างหนึ่งของการออกกลางคันคือมีราคาถูกมาก

ข้อดีอีกอย่างที่สำคัญของการออกกลางคันคือไม่ จำกัด ประเภทของรูปแบบหรือขั้นตอนการฝึกอบรมที่สามารถใช้ได้อย่างมีนัยสำคัญ มันทำงานได้ดีกับเกือบทุกรุ่นที่ใช้การแจกแจงแบบกระจายและสามารถฝึกฝนด้วยการไล่ระดับสีแบบสุ่ม ซึ่งรวมถึงเครือข่ายนิวรัลไปข้างหน้าแบบจำลองความน่าจะเป็นเช่นเครื่อง Boltzmann แบบ จำกัด (Srivastava et al., 2014) และเครือข่ายประสาทแบบกำเริบ (Bayer และ Osendorfer, 2014; Pascanu et al., 2014a)

หนังสือเล่มนี้พูดว่า -

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


ฉันได้แก้ไขคำถามเพื่อใช้คำว่า suppress และไม่ลบออก คำถามยังคงอยู่ ทำไมต้องสร้างเลนจำนวนมากเมื่อมีเพียงบางส่วนเท่านั้นที่ใช้ในที่สุด?
user781486

@ user781486 โดยบางคนมันหมายถึงบางส่วนสำหรับชุดข้อมูลแต่ละชุด แต่จะใช้ทั้งหมดหากคุณพิจารณาข้อมูลทั้งหมด เช่นเดียวกับในตัวอย่างของฉันเลนทั้งหมด 1-8 จะถูกใช้หากคุณใช้หมายเลขเลนรวมสำหรับรถแต่ละคัน
Ankit Seth

3

อีกวิธีในการดูว่าการออกกลางคันคืออะไรมันเป็นเหมือนแผ่นเหล็กและเข็มก่อนสัมประสิทธิ์สำหรับ covariate (นั่นคือบางส่วนของคำที่ซับซ้อนของการแปรปรวนร่วมของ covariates ดั้งเดิมที่มีการเปลี่ยนแปลงการทำงานที่ซับซ้อนบางอย่าง) ในแบบจำลอง Bayesian นี่คือการตีความที่เสนอโดย Yarin Gal ในวิทยานิพนธ์ของเขา (ดูรายการสิ่งพิมพ์ของเขา )

นี่คืออาร์กิวเมนต์การโบกมือโดยย่อสำหรับสาเหตุที่เป็นเช่นนี้:

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

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


จุดดี. จะอัพเดตคำตอบ
Björn

2

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


0

Dropout ช่วยปรับปรุงประสิทธิภาพของโมเดลการเรียนรู้ของเครื่องด้วยเหตุผลดังต่อไปนี้:

  • การสร้างเครือข่ายที่เรียบง่าย:มันทำให้เครือข่ายง่ายขึ้นป้องกันการปรับตัว
  • ดีกว่าการใช้เครือข่ายแบบง่าย ๆ แบบเดียว:มันดีกว่าการออกแบบเครือข่ายที่ง่ายกว่าด้วยตนเองอีกครั้งเพราะเมื่อคุณออกแบบสถาปัตยกรรมเฉพาะคุณจะไม่สามารถเปลี่ยนแปลงได้จนกว่ากระบวนการฝึกอบรมทั้งหมดจะสิ้นสุดลงเช่นสำหรับยุคทั้งหมดที่สถาปัตยกรรมเครือข่ายได้รับการแก้ไข แต่ในการออกกลางคันเครือข่ายนั้นเรียบง่ายขึ้นในหลายวิธีในแต่ละยุค พูดถึง 1,000 epochs ที่คุณลองใช้กับเครือข่ายที่เรียบง่ายกว่า 1,000 ประเภท
  • เรียนรู้ในหลาย ๆ ทาง:อินพุตและเอาต์พุตของเครือข่ายไม่ได้รับการเปลี่ยนแปลงสิ่งเดียวที่เปลี่ยนแปลงคือการทำแผนที่ระหว่างพวกเขา ดังนั้นลองจินตนาการว่าเครือข่ายกำลังเรียนรู้สิ่งเดียวกันในรูปแบบต่างๆ เช่นเดียวกับเครือข่ายนี้สำหรับเราทุกคน - เมื่อใดก็ตามที่เราคิดว่าปัญหาเดียวกันในรูปแบบที่แตกต่างกันเราเรียนรู้ที่จะทำให้เป็นเรื่องทั่วไปโดยอัตโนมัติและความรู้และความเข้าใจโดยรวมของเราก็เพิ่มขึ้นด้วย ในขณะที่กระบวนการดรอปดาวน์ในแต่ละยุคสุ่มน้ำหนักบางส่วน (การเชื่อมต่อจากเซลล์ประสาทไปยังเซลล์ประสาทอีกชั้นหนึ่ง) กำลังถูกตัดดังนั้นเราจึงบังคับให้เครือข่ายเรียนรู้โดยใช้การเชื่อมต่อที่มีอยู่ซึ่งยังคงมีอยู่ วิธีการวิเคราะห์ปัญหาเดียวกันจากมุมมองที่แตกต่างกัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.