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