วิธีการตัดสินใจสถาปัตยกรรมเครือข่ายประสาทเทียม


20

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

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


โดยทั่วไปแล้วเราทำการทดสอบโดยใช้ความตั้งใจของเรา คิดว่ามันเป็นhyperparameter มีหลายวิธีในการเรียนรู้สถาปัตยกรรม แต่ฉันไม่รู้ว่าใช้งานได้จริงอย่างไร: blog.acolyer.org/2017/05/10/…
Emre

2
ฉันค้นหาสิ่งที่ซ้ำกันเพราะฉันแน่ใจว่ามันถูกครอบตัดหลายครั้งในเว็บไซต์นี้ อย่างไรก็ตามไม่สามารถหารุ่นบริสุทธิ์ที่ไม่ได้แนบมากับชุดข้อมูลหรือปัญหาบางอย่าง บางทีนี่อาจเป็นคำถามทั่วไปที่เราชี้ไปที่คนอื่น? น่าเศร้าที่ไม่มีคำตอบ "วิธีการ" ที่ดีโดยทั่วไป แต่เป็นคำถามที่พบบ่อยเมื่อต้องเผชิญกับตัวเลือกมากมาย
Neil Slater


นี่เป็นคำถามที่น่าสนใจมากที่จะตอบ (นักวิจัยเริ่มทำงานกับคำถามของคุณ) อะไรจะเป็นสถาปัตยกรรมที่ดีที่สุดสำหรับชุดข้อมูล A และชุดข้อมูล B โปรดอ่านกระดาษด้านล่างที่พยายามตอบคำถามของคุณ ยินดีต้อนรับสู่โลกของการค้นหาสถาปัตยกรรมระบบประสาท (NAS) arxiv.org/abs/1611.01578
iDeepVision

คำตอบ:


17

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

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

ขนาดและความลึกของโครงข่ายใยประสาทเทียมก็มีปฏิสัมพันธ์กับไฮเปอร์พารามิเตอร์อื่น ๆเช่นกันดังนั้นการเปลี่ยนสิ่งหนึ่งที่อื่นอาจส่งผลต่อค่าที่ดีที่สุด ดังนั้นจึงเป็นไปไม่ได้ที่จะแยกขนาดและความลึกที่ "ดีที่สุด" สำหรับเครือข่ายจากนั้นทำการปรับพารามิเตอร์อื่น ๆ อย่างต่อเนื่อง ตัวอย่างเช่นหากคุณมีเครือข่ายที่ลึกมากมันอาจทำงานได้อย่างมีประสิทธิภาพด้วยฟังก์ชั่นการเปิดใช้งาน ReLU แต่ไม่ดีสำหรับ sigmoid - หากคุณพบขนาด / รูปร่างที่ดีที่สุดของเครือข่ายแล้วลองทดสอบด้วยฟังก์ชั่นการเปิดใช้งานที่แตกต่างกัน ข้อสรุปที่ผิดเกี่ยวกับสิ่งที่ดีที่สุด

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

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

  • เริ่มเรียบง่ายและสร้างความซับซ้อนเพื่อดูว่าเครือข่ายใดที่ปรับปรุงได้ง่ายขึ้น

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

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

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


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


มันเป็นคำอธิบายที่ดีมาก ขอบคุณ ฉันยังสงสัยว่ามีวิธีที่ดีในการตัดสินใจว่าจะใช้ ML แบบใด คุณพูดถึงว่าอาจมีวิธีที่ดีกว่าเครือข่ายประสาท แต่เราจะทราบได้อย่างไรว่าง่าย
user7677413

@ user7677413: ใช้สิ่งเดียวกัน คุณต้องลองและดูแม้ว่าประสบการณ์อาจให้คำแนะนำเกี่ยวกับปัญหาที่คุ้นเคย
Neil Slater

1
เมื่อไหร่ที่จำเป็นต้องใช้โครงข่ายประสาทเทียม
user7677413

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

1
@ user7677413 ฉันคิดว่าคุณกำลังทำการสันนิษฐานว่าไม่มีการวิจัยการเรียนรู้ด้วยเครื่องจักรที่ลึกซึ้งและลึกซึ้ง 40 ปี ดูเหมือนว่าคุณเพิ่งจะเกาพื้นผิว ฉันแนะนำให้หาหนังสือเรียนและดูว่ามันเชื่อมโยงเข้าด้วยกันอย่างไรซึ่งจะช่วยสร้างสัญชาตญาณของคุณสำหรับอัลกอริทึมการเรียนรู้ของเครื่อง
อเล็กซ์ L
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.