Công cụ nguồn mở cho việc học / thử nghiệm AI tại nhà?


9

Tôi muốn thực hiện một số thử nghiệm với tiến hóa mạng thần kinh (NEAT). Tôi đã viết một số mã GA và mã mạng thần kinh trong C ++ vào những năm 90 chỉ để chơi xung quanh, nhưng phương pháp DIY đã chứng minh là cần nhiều lao động để cuối cùng tôi bỏ nó.

Mọi thứ đã thay đổi rất nhiều kể từ đó, và có rất nhiều thư viện và công cụ nguồn mở rất đẹp xung quanh cho bất kỳ mối quan tâm nào mà người ta có thể có. Tôi đã quản lý các thư viện nguồn mở khác nhau (ví dụ DEAP), nhưng tôi có thể sử dụng một số trợ giúp để chọn một thư viện phù hợp ...

  • Tôi đã dành nhiều thời gian để viết mã để hình dung những gì đang diễn ra (trạng thái mạng lưới thần kinh, thể lực dân số) hoặc kết quả cuối cùng (biểu đồ, v.v.).

    Có lẽ điều này sẽ phải được hoàn thành bởi một thư viện nguồn mở riêng biệt, nhưng hỗ trợ trực quan hóa sẽ là thứ cho phép tôi dành nhiều thời gian hơn cho vấn đề / giải pháp và ít chi tiết triển khai hơn.
  • Tôi biết C / C ++, Java, C #, Python, Javascript và một vài người khác. Một cái gì đó là sự đánh đổi tốt đẹp giữa ngôn ngữ cấp cao hơn và hiệu năng tốt trên phần cứng gia đình sẽ là một lựa chọn tốt.

Ai đó có kinh nghiệm có thể đề xuất một thư viện mã nguồn mở tốt hoặc bộ công cụ không?


Câu hỏi này thuộc về softwarerecs.stackexchange.com . Btw, với tôi, câu hỏi của bạn dường như rất rộng và do đó nên được đóng lại, dù sao đi nữa.
nbro

@nbro - Cảm ơn, tôi nghi ngờ có một nơi tốt hơn cho việc này, nhưng không biết về softwarerecs.
Scott Smith

Những người bỏ phiếu này có thể cho chúng tôi biết lý do tại sao không?
quintumnia

Câu trả lời:


3

vì điều này được viết bằng Javascript và chưa (chưa) cung cấp hỗ trợ GPU, nên nó khá chậm. Tuy nhiên, nó rất hay để khám phá xung quanh với kiến ​​trúc mạng linh hoạt. Hình dung duy nhất mà nó cung cấp ngay bây giờ là bản đồ kiến ​​trúc mạng, nhưng đồ thị có thể dễ dàng thực hiện.

https://github.com/wlahomaartje/neataptic


2

Chà, nếu bạn chọn TensorfFlow để làm việc cùng, bạn sẽ nhận được TensorBoard như một phần của gói. Đó có thể là một cái gì đó gần với những gì bạn đang tìm kiếm.

Và với TensorFlow, bạn có thể viết mã bằng C ++, Python và một vài ngôn ngữ khác (tôi nghĩ hiện tại cũng có cả các ràng buộc của Ruby và Java, có lẽ là các ngôn ngữ khác).



2

Ngoài ra còn có DXNN, như bạn mô tả, một hệ thống thần kinh, nó được viết bằng Erlang. https://github.com/CorticalComputer/DXNN2

Tôi đã thực hiện một số công việc để làm cho nó thành mô-đun, vì vậy bạn sử dụng nó như một thư viện và giữ cho mã / ứng dụng của bạn được cách ly.

Dưới đây là một ví dụ mã , tải DXNN dưới dạng thư viện. nó cũng tạo ra các tệp dữ liệu sẵn sàng của gnuplot để trực quan hóa.


2

Fann ( http://leenissen.dk/fann/wp/ ) là một thư viện mạng thần kinh mã nguồn mở miễn phí.

Các tính năng của FANN:

  • Thư viện mạng nơ ron nhân tạo đa lớp trong C
  • Đào tạo backpropagation (RPROP, Quickprop, Batch, Incremental)
  • Phát triển đào tạo cấu trúc liên kết mà tự động xây dựng và đào tạo ANN (Cascade2)
  • Dễ sử dụng (tạo, huấn luyện và chạy ANN chỉ với ba lệnh gọi chức năng)
  • Nhanh (thực hiện nhanh hơn tới 150 lần so với các thư viện khác)
  • Đa năng (có thể điều chỉnh nhiều thông số và tính năng đang hoạt động)
  • Tài liệu tốt (Một bài viết giới thiệu dễ đọc, hướng dẫn tham khảo kỹ lưỡng và báo cáo đại học hơn 50 trang mô tả các cân nhắc thực hiện, v.v.)
  • Đa nền tảng (cấu hình tập lệnh cho linux và unix, tập tin dll cho windows, tập tin dự án cho trình biên dịch MSVC ++ và Borland cũng được báo cáo để hoạt động)
  • Một số chức năng kích hoạt khác nhau được triển khai (bao gồm các hàm tuyến tính từng bước cho tốc độ tăng thêm đó)
  • Dễ dàng lưu và tải toàn bộ ANN
  • Một số ví dụ dễ sử dụng
  • Có thể sử dụng cả số dấu phẩy động và số điểm cố định (thực tế cả số float, double và int đều khả dụng)
  • Bộ nhớ cache được tối ưu hóa (cho thêm chút tốc độ)
  • Nguồn mở, nhưng vẫn có thể được sử dụng trong các ứng dụng thương mại (được cấp phép theo LGPL)
  • Khung để dễ dàng xử lý các tập dữ liệu huấn luyện
  • Giao diện đồ họa
  • Ngôn ngữ ràng buộc với một số lượng lớn các ngôn ngữ lập trình khác nhau
  • Được sử dụng rộng rãi (khoảng 100 lượt tải xuống mỗi ngày)

2

Đối với các thuật toán di truyền, tôi đã viết GeneticSharp .

Một thư viện thuật toán di truyền đa nền tảng cho .NET Core và .NET Framework. Thư viện có một số triển khai của các toán tử GA, như: lựa chọn, trao đổi chéo, đột biến, sắp xếp lại và chấm dứt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.