เหตุใดอัลกอริทึมทางพันธุกรรมจึงไม่ถูกใช้เพื่อเพิ่มประสิทธิภาพโครงข่ายประสาทเทียม


13

จากความเข้าใจของฉันอัลกอริทึมทางพันธุกรรมเป็นเครื่องมือที่มีประสิทธิภาพสำหรับการเพิ่มประสิทธิภาพหลายวัตถุประสงค์

นอกจากนี้การฝึกอบรม Neural Networks (โดยเฉพาะอย่างยิ่งคนลึก) นั้นยากและมีปัญหามากมาย (ฟังก์ชั่นค่าใช้จ่ายที่ไม่ใช่แบบนูน - minima ท้องถิ่น, หายไปและระเบิดการไล่ระดับสีเป็นต้น)

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

คำตอบ:


5

การฝึกอบรมโครงข่ายประสาท (NNs) ด้วยอัลกอริทึมทางพันธุกรรม (GAs) ไม่เพียงเป็นไปได้มีบางพื้นที่ที่มีประสิทธิภาพที่ดีพอที่จะใช้บ่อย ตัวอย่างที่ดีของเรื่องนี้คือNeuroevolution ของการเพิ่มโทโพโลยีหรือ NEATซึ่งเป็นวิธีการที่ประสบความสำเร็จในการสร้างตัวควบคุมในสภาพแวดล้อมที่เรียบง่ายเช่นเกม

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

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

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

ในทางปฏิบัติในเครือข่ายหลายเลเยอร์ขนาดใหญ่วิธีการไล่ระดับสีจะเป็นคำสั่งที่มีขนาดเร็วกว่าการค้นหา GA เช่น NEAT สำหรับค้นหาพารามิเตอร์เครือข่าย คุณจะไม่พบ CNN ที่ผ่านการฝึกอบรม GA ใด ๆ ที่แก้ปัญหา ImageNet หรือแม้แต่ MNIST ซึ่ง GA พบว่าน้ำหนักของเครือข่ายไม่ได้รับการพูดถึง อย่างไรก็ตาม GAs หรืออย่างน้อยก็บางสายพันธุ์ไม่ได้ตัดออก 100% ตัวอย่างนี้บล็อกรีวิว 2017 เอกสารล่าสุดรวมถึงวิวัฒนาการขนาดใหญ่ของตัวแยกประเภทภาพซึ่งสำรวจโดยใช้ GAs เพื่อค้นหาพารามิเตอร์ไฮเปอร์พารามิเตอร์ NN ซึ่งเป็นงานที่สำคัญในการเรียนรู้ของเครื่อง


1

ที่จริงแล้ว Google Brain นั้นทำสิ่งเดียวกันสำหรับตัวแยกประเภทภาพ

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

พวกเขาตีพิมพ์ครั้งแรกกระดาษในปี 2017 และในปี 2018 ได้รับการปรับปรุงให้ดีขึ้นรุ่น คุณสามารถอ่านเกี่ยวกับเรื่องนี้ได้ในบล็อกโพสต์

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

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