คุณสามารถใช้เครือข่ายประสาทอย่างง่าย ๆ บนไมโครโปรเซสเซอร์เช่น Arduino Uno เพื่อใช้ในการเรียนรู้ของเครื่องได้หรือไม่?
คุณสามารถใช้เครือข่ายประสาทอย่างง่าย ๆ บนไมโครโปรเซสเซอร์เช่น Arduino Uno เพื่อใช้ในการเรียนรู้ของเครื่องได้หรือไม่?
คำตอบ:
คุณสามารถฝึกโครงข่ายประสาทเทียมบนไมโครคอนโทรลเลอร์ได้หรือไม่? อาจเป็นได้ แต่โปรดอย่าลอง คุณสามารถใช้ NN เพื่อจัดหมวดหมู่และอื่น ๆ บนไมโครคอนโทรลเลอร์ได้หรือไม่? แน่นอนว่าตราบใดที่คุณสามารถคำนวณผลลัพธ์ของการเผยแพร่โหนดและค่าขอบและจัดการการคูณ
แน่นอนว่ามันเป็นไปได้ที่จะนำไปใช้กับ Arduino นี่คือ 3 ไลบรารี Arduino ที่ใช้เครือข่ายประสาท:
ความซับซ้อนของเครือข่ายที่ Arduino สามารถจัดการได้เป็นคำถามแยกต่างหากโดยเฉพาะอย่างยิ่งเมื่อต้องมีการฝึกอบรม - มีการทำซ้ำซ้ำนับหมื่นของข้อมูลการฝึกอบรม การฝึกอบรมเกี่ยวกับเครื่องจักรที่รวดเร็วแล้วคัดลอกน้ำหนักของเซลล์ประสาทไปยัง Arduino จะเป็นวิธีที่ชาญฉลาดในการพัฒนาการใช้งานของคุณ
ใช่. หากคุณรันเฉพาะในโหมดป้อนต่อและทำการฝึกอบรมแบบออฟไลน์ที่อื่น:
ฉันตั้งโปรแกรม ANN แบบ 3 ชั้น (5-5-2) บน Arduino UNO มันวิ่งบนหุ่นยนต์มือถือ เมื่อใดก็ตามที่หุ่นยนต์ชนอะไรมันก็จะทำการฝึกอบรมเครือข่ายใหม่ ส่วนการป้อนสุทธิของเน็ตเวิร์กวิ่งตามเวลาจริง ในขณะที่การฝึกอบรมการขยายพันธุ์กลับใช้เวลาประมาณ 5 ถึง 20 วินาที ฉันคิดว่าคุณสามารถลดขนาดของเครือข่ายเช่นเดียวกับการเล่นกับพารามิเตอร์เพื่อให้มันทำงานได้เร็วขึ้นเล็กน้อย แต่ถ้าคุณวางแผนที่จะทำการ backpropagation ใน Arduino ฉันคิดว่ามันช้าเกินไป
ความคิดบางอย่างเพื่อเร่งความเร็วสิ่งรวมถึง:
ใช่แน่นอนมันเป็นไปได้ที่จะฝังเครือข่ายประสาทเทียมในไมโครคอนโทรลเลอร์ มีตัวอย่างมากมายในวรรณกรรมทางวิทยาศาสตร์ แต่ฉันสามารถอ้างอิงตัวอย่างที่น่าทึ่งของสิ่งที่สามารถทำได้ด้วย MCU ที่ง่ายมากถ้าคุณฉลาดพอ ในEvolutionary Bits'n'Spikesผู้เขียนได้อธิบายถึงการนำเครือข่ายประสาทแบบ spiking ตามเวลาจริงมาใช้และอัลกอริทึมทางพันธุกรรมเพื่อฝึกฝนมันเพื่อควบคุมหุ่นยนต์ล้อเฟือง รหัสทั้งหมดทำงานในไมโครคอนโทรลเลอร์ขนาดเล็ก PIC16F628 4MHz ที่ฝังอยู่ในหุ่นยนต์อลิซขนาด 1 ลูกบาศก์นิ้ว