มีกฎง่ายๆสำหรับการออกแบบโครงข่ายประสาทเทียมหรือไม่?


12

ฉันรู้ว่าสถาปัตยกรรมเครือข่ายประสาทส่วนใหญ่ขึ้นอยู่กับปัญหาของตัวเองและประเภทของอินพุต / เอาต์พุต แต่ก็ยังมี "ตารางหนึ่ง" เสมอเมื่อเริ่มต้นสร้าง ดังนั้นคำถามของฉันคือ - รับชุดข้อมูลอินพุตของMxN (M คือจำนวนเรคคอร์ด, N คือจำนวนของคุณสมบัติ) และคลาสเอาต์พุตที่เป็นไปได้ของ C - มีกฎง่ายๆเกี่ยวกับจำนวนเลเยอร์ / หน่วยที่เราควรเริ่มต้นด้วย?


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

คำตอบ:


10

คำถามนี้ได้รับการตอบอย่างละเอียดเกี่ยวกับ CrossValidated แล้ว: จะเลือกจำนวนเลเยอร์และโหนดที่ซ่อนอยู่ในเครือข่ายประสาทเทียมไปข้างหน้าได้อย่างไร

อย่างไรก็ตามฉันขอเพิ่มสองเซ็นต์ของฉันเอง:

ไม่มีกฎเวทมนต์สำหรับการเลือกสถาปัตยกรรมเครือข่ายประสาทที่ดีที่สุด แต่ถ้าคุณสามารถค้นหาสถาปัตยกรรมที่มีคนใช้ในการแก้ปัญหาที่คล้ายกันนี้มักจะเป็นจุดเริ่มต้นที่ดี

สถานที่ที่ดีที่สุดในการดูคือตัวอย่างที่เป็นทางการหรือไม่เป็นทางการโดยใช้ห้องสมุดเครือข่ายประสาทยอดนิยมเช่น Keras, PyTorch หรือ Tensorflow และสถาปัตยกรรมที่อธิบายไว้ในวรรณคดีเชิงวิชาการ keras / ตัวอย่างบน github เป็นทรัพยากรที่ยอดเยี่ยม

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


6
ข้อแม้หนึ่งสำหรับคำตอบ CrossValidated คือตอนนี้มีอายุ 7 ปีขึ้นไปและชี้ไปที่คำถามที่พบบ่อยอายุ 15+ ปีสำหรับ "สรุปยอดเยี่ยม" ของการกำหนดค่าเลเยอร์ที่ซ่อนอยู่ของคุณ การพูดว่ามีการทำงานมากมายเกี่ยวกับการกำหนดค่า NN ในช่วง 7-15 ปีที่ผ่านมาเป็นการพูดน้อย มีแอปพลิเคชั่นเพิ่มขึ้นจำนวนมากซึ่งอยู่นอกระบอบการปกครอง" หนึ่งเลเยอร์ที่ซ่อนอยู่นั้นเพียงพอ " - ที่กล่าวว่าสำหรับโฮสต์ของปัญหาวิธีการเรียนรู้ลึกอาจ overkill เริ่มต้นด้วยเลเยอร์เดียวที่ซ่อนอยู่และลึกลงไปหากต้องการเป็นกลยุทธ์ที่มั่นคง
RM

1
จุดที่ดี RM - คำตอบที่สองมีมากขึ้นเมื่อเร็ว ๆ นี้อย่างไรก็ตาม
Imran

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

ขอบคุณสำหรับความคิดเห็นของคุณ @horaceT คำตอบที่ฉันพยายามทำหมายถึง "ไม่มีกฎง่ายๆ แต่มีฮิวริสติกที่สามารถใช้ได้" ฉันรับรู้ถึง Res Nets โปรดแจ้งให้เราทราบว่าจะปรับปรุงคำตอบของฉันได้อย่างไร
Imran

3

ฉันอ่านกระดาษสำรวจแนวคิดของการใช้โครงข่ายประสาทเทียมเพื่อออกแบบโครงข่ายประสาทอื่นโดยการสำรวจว่าการกำหนดค่าของโหนดและเลเยอร์ใดมีประสิทธิภาพมากที่สุด นี่คือหน้าเว็บที่คุณสามารถดาวน์โหลด PDF https://arxiv.org/abs/1611.02120


2

การติดตามคำตอบของ @ Imran ฉันพบบทความนี้หนึ่งในความคิดเห็นของโพสต์ CrossValidated ที่เขาเชื่อมโยง นอกจากความพยายามในการค้นหาสถาปัตยกรรมที่ถูกต้องโดยใช้แบบจำลองทางพันธุกรรม (แทนการใช้กฎของหัวแม่มือ) ส่วน 2.1 ให้ขอบเขตทางทฤษฎีกับจำนวนหน่วยที่ซ่อนอยู่ในระบบเลเยอร์หนึ่ง / สอง - ที่ซ่อนอยู่

แก้ไข: ฉันได้ทดสอบทฤษฎีนี้และพบว่าการใช้แบบจำลองทางพันธุกรรมนั้นดีพอ ๆ กับการเลือกสถาปัตยกรรมแบบสุ่ม

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