ฉันจะเลือกโทโพโลยีของโครงข่ายประสาทเทียมโดยอัตโนมัติสำหรับปัญหาที่กำหนดได้อย่างไร?


14

สมมติว่าฉันต้องการแก้ปัญหาด้วยโครงข่ายประสาทที่อาจไม่เหมาะกับโทโพโลยีที่มีอยู่แล้ว (perceptron, Konohen, ฯลฯ ) หรือฉันไม่ได้ตระหนักถึงการดำรงอยู่ของสิ่งเหล่านั้นหรือฉันไม่เข้าใจพวกเขา กลไกและฉันพึ่งพาตัวเองแทน

ฉันจะเลือกโทโพโลยีอัตโนมัติ (นั่นคือจำนวนเลเยอร์ชนิดของการเปิดใช้งานประเภทและทิศทางของการเชื่อมต่อ ฯลฯ ) ของเครือข่ายประสาทเทียมสำหรับปัญหาที่เกิดขึ้นตามอำเภอใจได้อย่างไร

ฉันเป็นผู้เริ่มต้น แต่ฉันก็รู้ว่าในโทโพโลยีบางอย่าง (หรืออย่างน้อยก็เป็น perceptrons) มันยากมากถ้าไม่สามารถเข้าใจกลไกภายในเนื่องจากเซลล์ประสาทของเลเยอร์ที่ซ่อนอยู่ไม่แสดงบริบททางคณิตศาสตร์ที่มีความหมาย

คำตอบ:


11

ฉันคิดว่าในกรณีนี้คุณอาจต้องการใช้อัลกอริธึมทางพันธุกรรมเพื่อสร้างทอพอโลยีมากกว่าที่จะทำงานด้วยตัวคุณเอง ผมเองชอบประณีต (NeuroEvolution ของ Augmenting Topologies)

กระดาษ NEAT ดั้งเดิมนั้นเกี่ยวข้องกับการพัฒนาน้ำหนักสำหรับการเชื่อมต่อ แต่ถ้าคุณต้องการทอพอโลยีเท่านั้นคุณสามารถใช้อัลกอริธึมการถ่วงน้ำหนักแทน คุณยังสามารถผสมฟังก์ชั่นการเปิดใช้งานหากคุณไม่แน่ใจว่าจะใช้ นี่คือตัวอย่างของการใช้ backpropagation และเซลล์ประสาทหลายชนิด


5

คำตอบอื่น ๆกล่าวถึงNEATเพื่อสร้างน้ำหนักเครือข่ายหรือทอพอโลยี กระดาษNeuroEvolution: ความสำคัญของวิวัฒนาการฟังก์ชั่นการถ่ายโอนและเครือข่ายที่แตกต่างกันซึ่งยังให้บทสรุปสั้น ๆ ของเทคนิค neuroevolution ให้วิธีการทางเลือกที่จะ NEAT มันใช้การเขียนโปรแกรมทางพันธุกรรมคาร์ทีเซียนในการพัฒนาฟังก์ชั่นการเปิดใช้งานหลาย ๆ

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