เครื่องมือโอเพนซอร์ซสำหรับการเรียนรู้ / ทดลอง AI ที่บ้าน?


9

ฉันต้องการทำการทดลองกับวิวัฒนาการโครงข่ายประสาท (NEAT) ฉันเขียนรหัส GA และโครงข่ายประสาทใน C ++ ย้อนกลับไปใน 90s เพื่อเล่นกับ แต่วิธี DIY พิสูจน์แล้วว่าใช้แรงงานมากพอจนในที่สุดฉันก็ทิ้งมันไป

สิ่งต่าง ๆ ได้เปลี่ยนแปลงไปมากมายตั้งแต่นั้นมาและยังมีห้องสมุดและเครื่องมือโอเพนซอร์สที่น่าสนใจมากมายที่น่าสนใจ ฉันใช้ห้องสมุดโอเพ่นซอร์สที่แตกต่างกันของ Google (เช่น DEAP) แต่ฉันสามารถใช้ความช่วยเหลือบางอย่างในการเลือกไลบรารีที่เหมาะสมกับ ...

  • ฉันใช้เวลาส่วนใหญ่เขียนโค้ดเพื่อดูภาพว่าเกิดอะไรขึ้น (สถานะของโครงข่ายประสาทเทียมความเหมาะสมของประชากร) หรือผลลัพธ์สุดท้าย (กราฟ ฯลฯ )

    บางทีนี่อาจจะต้องได้รับการเติมเต็มด้วยไลบรารี่โอเพนซอร์ซแยกต่างหาก แต่การสนับสนุนการสร้างภาพข้อมูลเป็นสิ่งที่จะทำให้ฉันใช้เวลากับปัญหา / การแก้ปัญหามากขึ้น
  • ฉันรู้จัก C / C ++, Java, C #, Python, Javascript และอื่น ๆ เล็กน้อย สิ่งที่เป็นการแลกเปลี่ยนที่ดีระหว่างภาษาระดับสูงและประสิทธิภาพที่ดีของฮาร์ดแวร์ภายในบ้านจะเป็นตัวเลือกที่ดี

ใครบางคนที่มีประสบการณ์สามารถแนะนำห้องสมุดโอเพ่นซอร์สที่ดีหรือชุดเครื่องมือได้หรือไม่?


คำถามนี้เป็นsoftwarerecs.stackexchange.com Btw สำหรับฉันคำถามของคุณดูเหมือนจะกว้างมากและดังนั้นจึงควรถูกปิด แต่อย่างใด
nbro

@nbro - ขอบคุณฉันสงสัยว่ามีสถานที่ที่ดีกว่าสำหรับสิ่งนี้ แต่ไม่รู้เกี่ยวกับ softwarerecs
Scott Smith

ผู้ที่โหวตคำถามนี้จะบอกเราว่าทำไม
quintumnia

คำตอบ:


3

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

https://github.com/wagenaartje/neataptic


2

ถ้าคุณเลือกTensorfFlowเพื่อทำงานร่วมกับคุณคุณจะได้รับTensorBoardเป็นส่วนหนึ่งของแพ็คเกจ นั่นอาจเป็นสิ่งที่ใกล้เคียงกับสิ่งที่คุณกำลังมองหา

และด้วย TensorFlow คุณสามารถเขียนโค้ดเป็นภาษา C ++, Python และภาษาอื่น ๆ สองสามภาษา (ฉันคิดว่ามีทั้งการผูก Ruby และ Java ด้วยเช่นกันอาจเป็นภาษาอื่น)



2

นอกจากนี้ยังมี DXNN ซึ่งเป็นตามที่คุณอธิบายระบบประสาทวิวัฒนาการมันเขียนใน Erlang https://github.com/CorticalComputer/DXNN2

ฉันทำงานเพื่อทำให้เป็นโมดูลดังนั้นคุณจึงใช้เป็นห้องสมุดและแยกรหัส / แอปพลิเคชันของคุณออก

นี่คือตัวอย่างโค้ดซึ่งดาวน์โหลด DXNN เป็นไลบรารี่ มันยังสร้างไฟล์ข้อมูลพร้อม gnuplot สำหรับการสร้างภาพ


2

Fann ( http://leenissen.dk/fann/wp/ ) เป็นโอเพ่นซอร์สไลบรารีเครือข่ายนิวรัลฟรี

คุณสมบัติพัดลม:

  • ห้องสมุดเครือข่ายประสาทเทียมหลายชั้นในค
  • การฝึกอบรมเรื่องการแพร่กระจายย้อนกลับ (RPROP, Quickprop, รุ่นที่เพิ่มขึ้น)
  • วิวัฒนาการการฝึกอบรมทอพอโลยีซึ่งสร้างและฝึกอบรม ANN (Cascade2) แบบไดนามิก
  • ใช้งานง่าย (สร้างฝึกอบรมและเรียกใช้ ANN ด้วยการเรียกใช้ฟังก์ชันเพียงสามครั้ง)
  • เร็ว (เร็วกว่าการประมวลผลเร็วกว่าห้องสมุด 150 ครั้ง)
  • หลากหลาย (เป็นไปได้ที่จะปรับพารามิเตอร์และคุณสมบัติต่างๆได้ทันที)
  • มีเอกสารครบถ้วน (บทความแนะนำที่อ่านง่ายคู่มืออ้างอิงอย่างละเอียดและรายงานมหาวิทยาลัยมากกว่า 50 หน้าที่อธิบายถึงข้อควรพิจารณาในการนำไปปฏิบัติ ฯลฯ )
  • ข้ามแพลตฟอร์ม (กำหนดค่าสคริปต์สำหรับ linux และ unix, ไฟล์ dll สำหรับ windows, ไฟล์โครงการสำหรับ MSVC ++ และคอมไพเลอร์ Borland จะรายงานด้วยเพื่อให้ทำงานได้)
  • มีการเปิดใช้งานฟังก์ชั่นที่แตกต่างหลากหลาย (รวมถึงฟังก์ชั่นเชิงเส้นแบบขั้นตอนสำหรับความเร็วเพิ่มอีกนิด)
  • ง่ายต่อการบันทึกและโหลด ANN ทั้งหมด
  • ตัวอย่างที่ใช้งานง่ายหลายอย่าง
  • สามารถใช้ทั้งจำนวนจุดลอยตัวและหมายเลขจุดคงที่ (จริง ๆ แล้วมีทั้งแบบลอยคู่และ int)
  • แคชได้รับการปรับปรุง (สำหรับความเร็วที่เพิ่มขึ้นเล็กน้อย)
  • โอเพ่นซอร์ส แต่ยังคงสามารถใช้งานได้ในแอปพลิเคชันเชิงพาณิชย์ (ได้รับใบอนุญาตภายใต้ LGPL)
  • Framework สำหรับการจัดการชุดข้อมูลการฝึกอบรมที่ง่ายดาย
  • อินเทอร์เฟซแบบกราฟิก
  • การผูกภาษากับภาษาการเขียนโปรแกรมที่แตกต่างกันจำนวนมาก
  • ใช้กันอย่างแพร่หลาย (ประมาณ 100 ดาวน์โหลดต่อวัน)

2

สำหรับขั้นตอนวิธีทางพันธุกรรมฉันได้เขียนGeneticSharp

ไลบรารีอัลกอริทึมพันธุกรรมแบบหลายแพลตฟอร์มสำหรับ. NET Core และ. NET Framework ห้องสมุดมีการใช้งานของตัวดำเนินการ GA หลายประการเช่น: การเลือกครอสโอเวอร์การกลายพันธุ์การแทรกซ้ำและการเลิกจ้าง

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