10 công cụ / khung nguồn mở cho trí tuệ nhân tạo

Dưới đây là 10 công cụ / khung nguồn mở cho chủ đề nóng hiện nay, AI.

Kéo căng

Một thư viện phần mềm nguồn mở cho Machine Intelligence.

TensorFlow ™ là một thư viện phần mềm nguồn mở, ban đầu được phát triển bởi các nhà nghiên cứu và kỹ sư làm việc trong Nhóm Google Brain. TensorFlow dành cho tính toán số bằng biểu đồ luồng dữ liệu. Các nút trong biểu đồ biểu thị các hoạt động toán học, trong khi các cạnh của biểu đồ biểu thị các mảng dữ liệu đa chiều (tenxơ) được truyền thông giữa chúng. Kiến trúc linh hoạt cho phép bạn triển khai tính toán cho một hoặc nhiều CPU hoặc GPU trong máy tính để bàn, máy chủ hoặc thiết bị di động với một API duy nhất.

TensorFlow cung cấp nhiều API. API cấp thấp nhất – TensorFlow Core – cung cấp cho bạn quyền kiểm soát lập trình hoàn chỉnh. Các API cấp cao hơn được xây dựng dựa trên lõi của TensorFlow. Các API cấp cao hơn này thường dễ học và sử dụng hơn so với TensorFlow Core. Ngoài ra, các API cấp cao hơn giúp các tác vụ lặp đi lặp lại dễ dàng và nhất quán hơn giữa các người dùng khác nhau. API cấp cao như tf.estimator giúp bạn quản lý bộ dữ liệu, công cụ ước tính, đào tạo và suy luận.

Đơn vị trung tâm của dữ liệu trong TensorFlow là tenxơ . Một tenxơ bao gồm một tập hợp các giá trị nguyên thủy được định hình thành một mảng với bất kỳ số lượng kích thước nào. Thứ hạng của tenor là số thứ nguyên của nó.

Một vài ứng dụng của Google sử dụng luồng tenor là:

RankBrain: Triển khai quy mô lớn các mạng lưới thần kinh sâu để xếp hạng tìm kiếm trên www.google.com

Mô hình phân loại hình ảnh khởi động: Mô hình cơ sở và nghiên cứu tiếp theo về các mô hình thị giác máy tính có độ chính xác cao, bắt đầu với mô hình chiến thắng thử thách phân loại hình ảnh Imagenet 2014

SmartReply: Mô hình LSTM sâu để tự động tạo phản hồi email

Mạng lưới đa nhiệm rộng rãi cho khám phá ma túy: Một mô hình mạng lưới thần kinh sâu sắc để xác định các ứng cử viên ma túy đầy triển vọng của Google kết hợp với Đại học Stanford.

Tầm nhìn máy tính trên thiết bị cho OCR: Mô hình thị giác máy tính trên thiết bị để thực hiện nhận dạng ký tự quang học để cho phép dịch thuật thời gian thực

Liên kết hữu ích

Nhà căng

GitHub

Bắt đầu

Hệ thống Apache

Một nơi làm việc tối ưu cho máy học sử dụng dữ liệu lớn.

SystemML, công nghệ máy học được tạo ra tại IBM, đã đạt được một trong những trạng thái dự án cấp cao nhất tại Quỹ phần mềm Apache và đó là một hệ thống học máy linh hoạt, có thể mở rộng. Các đặc điểm quan trọng là:

Khả năng tùy biến thuật toán thông qua các ngôn ngữ giống như R và Python.

Nhiều chế độ thực thi, bao gồm Spark MLContext, Spark Batch, Hadoop Batch, Stand Độc và JMLC (Trình kết nối máy học Java).

Tối ưu hóa tự động dựa trên dữ liệu và đặc điểm cụm để đảm bảo cả hiệu quả và khả năng mở rộng.

SystemML được coi là SQL cho Machine learning. Phiên bản mới nhất (1.0.0) của SystemML hỗ trợ: Java 8+, Scala 2.11+, Python 2.7 / 3.5 +, Hadoop 2.6+ và Spark 2.1+.

Nó có thể được chạy trên Apache Spark, nơi nó tự động chia tỷ lệ dòng dữ liệu của bạn theo từng dòng, xác định xem mã của bạn sẽ được chạy trên trình điều khiển hay cụm Apache Spark. Các phát triển SystemML trong tương lai bao gồm học sâu bổ sung với các khả năng của GPU như nhập và chạy các kiến ​​trúc mạng thần kinh và các mô hình được đào tạo trước để đào tạo.

Trình kết nối máy học Java (JMLC) cho SystemML

API Trình kết nối máy học Java (JMLC) là một giao diện lập trình để tương tác với SystemML theo kiểu nhúng. Mục đích chính của JMLC là API ghi điểm, trong đó chức năng chấm điểm của bạn được thể hiện bằng ngôn ngữ DML (Học khai báo máy móc khai báo) của SystemML. Ngoài việc chấm điểm, SystemML nhúng có thể được sử dụng cho các tác vụ như học tập không giám sát (ví dụ: phân cụm) trong bối cảnh ứng dụng lớn hơn chạy trên một máy đơn lẻ.

Liên kết hữu ích

Hệ thống nhà

GitHub

Caffein

Một khung học tập sâu được thực hiện với biểu hiện, tốc độ và mô-đun trong tâm trí.

Dự án Caffe được khởi xướng bởi Yang Khánh Jia trong thời gian làm Tiến sĩ. tại UC Berkeley và sau đó được phát triển bởi Berkeley AI Research (BAIR) và bởi những người đóng góp trong cộng đồng. Nó chủ yếu tập trung vào các mạng chập cho các ứng dụng thị giác máy tính. Caffe là một lựa chọn chắc chắn và phổ biến cho các tác vụ liên quan đến thị giác máy tính và bạn có thể tải xuống nhiều mô hình thành công được tạo bởi người dùng Caffe từ Zoo Model Zoo (liên kết bên dưới) để sử dụng ngoài luồng.

Ưu điểm cafe

Kiến trúc biểu cảm khuyến khích ứng dụng và đổi mới. Các mô hình và tối ưu hóa được xác định bởi cấu hình mà không cần mã hóa cứng. Chuyển đổi giữa CPU và GPU bằng cách đặt một cờ duy nhất để đào tạo trên máy GPU sau đó triển khai đến các cụm hàng hóa hoặc thiết bị di động.

Mã mở rộng thúc đẩy sự phát triển tích cực. Trong năm đầu tiên của Caffe, nó đã được hơn 1.000 nhà phát triển chia rẽ và có nhiều thay đổi đáng kể đóng góp trở lại.

Tốc độ làm cho Caffe hoàn hảo cho các thí nghiệm nghiên cứu và triển khai ngành. Caffe có thể xử lý hơn 60 triệu hình ảnh mỗi ngày với một GPU NVIDIA K40.

Cộng đồng : Caffe đã hỗ trợ các dự án nghiên cứu học thuật, nguyên mẫu khởi nghiệp và thậm chí các ứng dụng công nghiệp quy mô lớn về tầm nhìn, lời nói và đa phương tiện.

Liên kết hữu ích

Caffe nhà

GitHub

Nhóm người dùng cafe

Hướng dẫn trình bày khung và khóa học sụp đổ cả ngày

Sở thú mô hình Caffe

Mahout

Một khung đại số tuyến tính phân tán và Scala DSL biểu cảm toán học

Mahout được thiết kế để cho các nhà toán học, nhà thống kê và nhà khoa học dữ liệu nhanh chóng thực hiện các thuật toán của riêng họ. Apache Spark là phụ trợ phân tán ngoài luồng được đề xuất hoặc có thể được mở rộng sang các phụ trợ phân tán khác.

Toán học Scala DSL biểu cảm

Hỗ trợ cho nhiều phần cuối phân tán (bao gồm cả Apache Spark)

Modular Native Solvers để tăng tốc CPU / GPU / CUDA

Apache Mahout hiện đang triển khai các lĩnh vực bao gồm Lọc cộng tác (CF), Phân cụm và Phân loại

Tính năng / Ứng dụng

Hương vị CF. Hương vị là một dự án nguồn mở cho CF (lọc cộng tác) được bắt đầu bởi Sean Owen trên SourceForge và được tặng cho Mahout vào năm 2008.

Một số triển khai phân cụm cho phép Map-Giảm bao gồm k-Means, k-Means mờ, Canopy, Dirichlet và Mean-Shift.

Phân phối Naive Bayes và triển khai phân loại Naive Bayes bổ sung.

Phân phối khả năng chức năng thể dục cho lập trình tiến hóa.

Thư viện ma trận và vector.

Ví dụ về tất cả các thuật toán trên.

Liên kết hữu ích

Nhà gỗ

GitHub

Giới thiệu về Mahout của Grant Ingersoll

OpenNN 

Một thư viện lớp mã nguồn mở được viết bằng C ++, thực hiện các mạng thần kinh.

OpenNN (Thư viện mạng nơ ron mở) trước đây được gọi là Flood dựa trên Ph.D. luận án của R. Lopez, “Mạng lưới thần kinh cho các vấn đề biến đổi trong kỹ thuật”, tại Đại học Kỹ thuật Catalonia, 2008.

OpenNN thực hiện các phương thức khai thác dữ liệu như một gói các hàm. Chúng có thể được nhúng trong các công cụ phần mềm khác bằng giao diện lập trình ứng dụng (API) cho sự tương tác giữa công cụ phần mềm và các tác vụ phân tích dự đoán. Ưu điểm chính của OpenNN là hiệu năng cao. Nó được phát triển trong C ++ để quản lý bộ nhớ tốt hơn và tốc độ xử lý cao hơn và thực hiện song song hóa CPU bằng phương pháp tăng tốc OpenMP và GPU với CUDA.

Gói đi kèm với thử nghiệm đơn vị, nhiều ví dụ và tài liệu mở rộng. Nó cung cấp một khung hiệu quả cho việc nghiên cứu và phát triển các thuật toán và ứng dụng mạng thần kinh. Neural Designer là một công cụ phân tích dự đoán chuyên nghiệp sử dụng OpenNN, có nghĩa là công cụ thần kinh của Nhà thiết kế thần kinh đã được xây dựng bằng OpenNN.

OpenNN đã được thiết kế để học từ cả hai tập dữ liệu và mô hình toán học.

Bộ dữ liệu

Hồi quy hàm.

Nhận dạng mẫu.

Dự đoán chuỗi thời gian.

Mô hình toán học

Kiểm soát tối ưu.

Thiết kế hình dạng tối ưu.

Bộ dữ liệu và mô hình toán học

Vấn đề nghịch đảo.

Liên kết hữu ích 

Mở nhà 

OpenNN Artelnics GitHub

Nhà thiết kế thần kinh

Đuốc

Một thư viện máy học mã nguồn mở, khung tính toán khoa học và ngôn ngữ kịch bản dựa trên ngôn ngữ lập trình Lua.

  • một mảng N chiều mạnh mẽ
  • rất nhiều thói quen để lập chỉ mục, cắt, chuyển vị
  • giao diện tuyệt vời đến C, thông qua LuaJIT
  • thói quen đại số tuyến tính
  • mạng lưới thần kinh và các mô hình dựa trên năng lượng
  • thói quen tối ưu hóa số
  • Hỗ trợ GPU nhanh và hiệu quả
  • Có thể nhúng, với các cổng vào phụ trợ iOS và Android

Torch được sử dụng bởi Nhóm nghiên cứu AI của Facebook, IBM, Yandex và Viện nghiên cứu Idiap. Nó đã được mở rộng để sử dụng trên Android và iOS và đã được sử dụng để xây dựng các triển khai phần cứng cho các luồng dữ liệu giống như các mạng được tìm thấy trong các mạng thần kinh.

Facebook đã phát hành một tập hợp các mô-đun mở rộng dưới dạng phần mềm nguồn mở.

PyTorch là một thư viện máy học mã nguồn mở cho Python, được sử dụng cho các ứng dụng như xử lý ngôn ngữ tự nhiên. Nó chủ yếu được phát triển bởi nhóm nghiên cứu trí tuệ nhân tạo của Facebook và phần mềm “Pyro” của Uber để lập trình xác suất được xây dựng dựa trên nó.

Liên kết hữu ích

Ngọn đuốc

GitHub

Thần kinh

Một khung mạng thần kinh hướng đối tượng được viết bằng Java.

Neuroph có thể được sử dụng để tạo và huấn luyện các mạng thần kinh trong các chương trình Java. Neuroph cung cấp thư viện lớp Java cũng như easyNeurons của công cụ GUI để tạo và huấn luyện các mạng thần kinh. Neuroph là khung mạng thần kinh Java nhẹ để phát triển các kiến ​​trúc mạng thần kinh phổ biến. Nó chứa một thư viện Java mã nguồn mở được thiết kế tốt với một số lượng nhỏ các lớp cơ bản tương ứng với các khái niệm NN cơ bản. Nó cũng có trình soạn thảo mạng nơ-ron GUI đẹp để tạo nhanh các thành phần mạng nơ-ron Java. Nó đã được phát hành dưới dạng mã nguồn mở theo giấy phép Apache 2.0.

Các lớp lõi của Neuroph tương ứng với các khái niệm mạng thần kinh cơ bản như nơ-ron nhân tạo, lớp nơ-ron, kết nối nơ-ron, trọng lượng, chức năng chuyển, chức năng đầu vào, quy tắc học tập, v.v. Tất cả các lớp này có thể được mở rộng và tùy chỉnh để tạo các mạng thần kinh tùy chỉnh và các quy tắc học tập. Neuroph đã tích hợp hỗ trợ nhận dạng hình ảnh.

Liên kết hữu ích

Nhà thần kih

GitHub

Deeplearning4j

Thư viện học tập sâu, phân tán, cấp độ thương mại đầu tiên được viết cho Java và Scala.

Deeplearning4j nhằm mục đích là cắm và chơi tiên tiến và quy ước hơn cấu hình, cho phép tạo mẫu nhanh cho những người không nghiên cứu.

DL4J có thể tùy chỉnh theo tỷ lệ.

DL4J có thể nhập các mô hình mạng thần kinh từ hầu hết các khung chính thông qua Keras, bao gồm TensorFlow, Caffe và Theano, thu hẹp khoảng cách giữa hệ sinh thái Python và JVM với bộ công cụ nhóm chéo cho các nhà khoa học dữ liệu, kỹ sư dữ liệu và DevOps. Keras được sử dụng như API Python của Deeplearning4j.

Các mô hình học máy được phục vụ trong sản xuất với máy chủ mô hình của Skymind.

Tính năng, đặc điểm

  • CPU và GPU phân tán
  • API Java, Scala và Python
  • Thích nghi với kiến ​​trúc vi dịch vụ
  • Đào tạo song song thông qua giảm lặp
  • Có thể mở rộng trên Hadoop
  • Hỗ trợ GPU để nhân rộng trên AWS

Thư viện :

  • Deeplearning4J: Nền tảng mạng thần kinh
  • ND4J: Numpy cho JVM
  • DataVec: Công cụ cho các hoạt động ETL của Machine Learning
  • JavaCPP: Cầu nối giữa Java và C ++ bản địa
  • Arbiter: Công cụ đánh giá cho các thuật toán học máy
  • RL4J: Học tăng cường sâu cho JVM

Mycroft

Tự xưng là trợ lý nguồn mở đầu tiên trên thế giới và có thể được sử dụng trong mọi thứ từ dự án khoa học đến ứng dụng phần mềm doanh nghiệp.

Mycroft chạy mọi nơi – trên máy tính để bàn, bên trong ô tô hoặc trên Raspberry Pi. Đây là phần mềm nguồn mở có thể được tự do phối lại, mở rộng và cải thiện. Mycroft có thể được sử dụng trong mọi thứ từ dự án khoa học đến ứng dụng phần mềm doanh nghiệp.

OpenCog

OpenCog là một dự án nhằm xây dựng một khung trí tuệ nhân tạo nguồn mở

OpenCog là một tập hợp đa dạng các thuật toán nhận thức, mỗi thuật toán thể hiện sự đổi mới của riêng mình – nhưng điều làm cho kiến ​​trúc tổng thể trở nên mạnh mẽ là sự tuân thủ cẩn thận với nguyên tắc hiệp lực nhận thức. OpenCog ban đầu được dựa trên bản phát hành năm 2008 của mã nguồn của “Công cụ nhận thức Novamente” (NCE) độc quyền của Novamente LLC. Mã NCE ban đầu được thảo luận trong sách PLN (tham khảo bên dưới). Sự phát triển liên tục của OpenCog được hỗ trợ bởi Viện nghiên cứu trí thông minh chung nhân tạo (AGIRI), dự án Google Summer of Code và các dự án khác.

  • Một cơ sở dữ liệu đồ thị chứa các thuật ngữ, công thức nguyên tử, câu và các mối quan hệ dưới dạng siêu dữ liệu; cung cấp cho họ một giải thích giá trị chân lý xác suất, được đặt tên là AtomSpace.
  • Một bộ giải lý thuyết modulo thỏa đáng, được xây dựng như một phần của công cụ truy vấn đồ thị chung, để thực hiện so khớp mẫu đồ thị và siêu đồ thị (phát hiện sơ đồ con đẳng cấu).
  • Việc triển khai một công cụ lý luận xác suất dựa trên các mạng logic xác suất (PLN).
  • Một nhà phát triển chương trình di truyền xác suất được gọi là Tìm kiếm tiến hóa ngữ nghĩa tối ưu hóa hay còn gọi là MOSES, ban đầu được phát triển bởi Moshe Looks hiện đang làm việc tại Google.
  • Một hệ thống phân bổ sự chú ý dựa trên lý thuyết kinh tế, ECAN.
  • Một hệ thống hiện thân cho sự tương tác và học hỏi trong thế giới ảo dựa một phần vào OpenPsi và Unity.
  • Một hệ thống nhập ngôn ngữ tự nhiên bao gồm Link Grammar và RelEx, cả hai đều sử dụng các biểu diễn giống như AtomSpace cho các mối quan hệ ngữ nghĩa và cú pháp.
  • Một hệ thống tạo ngôn ngữ tự nhiên được gọi là SegSim, với các triển khai NLGen và NLGen2.
  • Một triển khai của Lý thuyết Psi để xử lý các trạng thái cảm xúc, các ổ đĩa và sự thôi thúc, được đặt tên là OpenPsi.
  • Giao diện với robot Hanson Robotics, bao gồm mô hình cảm xúc thông qua OpenPsi.

Liên kết hữu ích

Trang chủ OpenCog

GitHub

OpenCog Wiki

Cập nhật : Khuyến nghị đọc bên dưới bài viết Dzone của Anton Shaleynikov , bao gồm các khung tốt nhất một cách chi tiết,

https://dzone.com/articles/proTHERive-tools10-best-frameworks-and-lologists