จำนวนและขนาดของเลเยอร์หนาแน่นใน CNN


11

เครือข่ายส่วนใหญ่ที่ฉันเคยเห็นมีชั้นหนาแน่นหนึ่งหรือสองชั้นก่อนหน้าชั้น softmax สุดท้าย

  • มีวิธีใดในการเลือกจำนวนและขนาดของเลเยอร์หนาแน่น
  • เลเยอร์หนาแน่นสองเลเยอร์เป็นตัวแทนมากกว่าหนึ่งสำหรับพารามิเตอร์จำนวนเดียวกันหรือไม่
  • ควรจะออกกลางคันก่อนแต่ละชั้นที่หนาแน่นหรือแค่ครั้งเดียว?

คำตอบ:


15

ครั้งแรกของทั้งหมด:

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

และ Yoshua Bengio ได้เสนอกฎง่าย ๆ :

เพียงแค่ให้เพิ่มชั้นจนกว่าข้อผิดพลาดการทดสอบไม่ได้ปรับปรุงอีกต่อไป. [2]

นอกจากนี้:

คุณลักษณะก่อนหน้าของ ConvNet มีคุณสมบัติทั่วไปมากขึ้น (เช่นเครื่องตรวจจับขอบหรือเครื่องตรวจจับหยดสี) ที่น่าจะมีประโยชน์สำหรับงานหลายอย่าง แต่ชั้นต่อมาของ ConvNet จะมีความก้าวหน้ามากขึ้นโดยเฉพาะกับรายละเอียดของชั้นเรียน 3]

ตัวอย่างเช่นในวิธีการเรียนรู้เครื่องมือตรวจจับคุณสมบัติ:

ชั้นแรกเรียนรู้เครื่องตรวจจับขอบและเลเยอร์ต่อมาเรียนรู้คุณสมบัติที่ซับซ้อนมากขึ้นและเลเยอร์ระดับที่สูงขึ้นจะเข้ารหัสคุณลักษณะที่เป็นนามธรรมมากขึ้น [4]

ดังนั้นการใช้ความหนาแน่นสองชั้นจึงแนะนำให้มากกว่าหนึ่งชั้น

สุดท้าย:

เอกสารต้นฉบับเกี่ยวกับการออกกลางคันให้ข้อมูลการวิเคราะห์พฤติกรรมที่เป็นประโยชน์มากมายที่ควรพิจารณาเมื่อใช้การออกกลางคันในทางปฏิบัติ หนึ่งในนั้นคือ: ใช้ดรอปดาวน์ของหน่วยที่เข้ามา (ที่มองเห็นได้) และหน่วยที่ซ่อนอยู่ การประยุกต์ใช้การออกกลางคันในชั้นของเครือข่ายแต่ละคนได้แสดงให้เห็นผลลัพธ์ที่ดี [5]

ใน CNN โดยปกติแล้วจะมีการนำเลเยอร์ Dropout มาใช้หลังจากการรวมกำไรของแต่ละเลเยอร์และหลังจากเลเยอร์หนาแน่นของคุณ กวดวิชาที่ดีอยู่ที่นี่ [6]

อ้างอิง:

[1] https://www.cs.cmu.edu/Groups/AI/util/html/faqs/ai/neural/faq.html

[2] Bengio, Yoshua "คำแนะนำที่เป็นประโยชน์สำหรับการฝึกอบรมสถาปัตยกรรมเชิงลึก" โครงข่ายประสาท: เคล็ดลับของการค้า สปริงเกอร์เบอร์ลินไฮเดลเบิร์ก 2012 437-478

[3] http://cs231n.github.io/transfer-learning/

[4] http://learning.eng.cam.ac.uk/pub/Public/Turner/Teaching/ml-lecture-3-slides.pdf

[5] https://machinelearningmastery.com/dropout-regularization-deep-learning-models-keras/

[6] https://cambridgespark.com/content/tutorials/convolutional-neural-networks-with-keras/index.html

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