ARTIFICIAL INTELLIGENCE OPEN SOURCE TOOLS

This is an overview of various open source tools, frameworks and libraries that can be used to develop software solutions with artificial intelligence and . In our projects we gained experience in the following tools:

The open source project Scikit-learn offers machine learning tools for Python, with a focus on and analysis. It builds on the work of several other open source projects, including NumPy, SciPy, and matplotlib.

One of Google's open source AI projects created by the Google Brain Team, TensorFlow is a "library for numerical computation using data flow graphs." The website includes Python and C++ that allow developers to use Google's AI capabilities in their own apps.

Caffe is a modular and expressive framework based on speed. It is released under the BSD 2-Clause license, and it’s already supporting several community projects in areas such as research, startup proto- types, industrial applications in fields such as vision, speech and multimedia.

MLlib is an open-source, easy-to-use and high performance machine learning library developed as part of Apache Spark. It is essentially easy to deploy and can run on existing Hadoop clusters and data. MLlib also ships in with a collection of algorithms for classification, regression, recommendation, clustering, survi- val analysis and so much more. Importantly, it can be used in Python, Java, Scala and R programming languages.

Mahout is an open-source framework designed for building scalable machine learning applications. It has three prominent features listed below: 1. Provides simple and extensible programming workplace 2. Offers a variety of prepackaged algorithms for Scala + Apache Spark, H2O as well as Apache Flink 3. Includes Samaras, a vector math experimentation workplace with R-like syntax

There are many other tools in the open-source market that are worth trying:

Deeplearning4j is a commercial grade, open-source, plug and play, distributed deep-learning library for Java and Scala programming languages. It’s designed specifically for business related application, and integrated with Hadoop and Spark on top of distributed CPUs and GPUs. DL4J is released under the Apache 2.0 license and provides GPU support for scaling on AWS and is adapted for micro-service architecture.

H2O is an open-source, fast, scalable and distributed machine learning framework, plus the assortment of algorithms equipped on the framework. It supports smarter application such as deep learning, gradient boos- ting, random forests, generalized linear modeling (I.e logistic regression, Elastic Net) and many more. It is a business oriented artificial intelligence tool for decision making from data, it enables users to draw insights from their data using faster and better predictive modeling.

OpenNN is also an open-source class library written in C++ for deep learning, and it is used to instigate neural networks. However, it is only optimal for experienced C++ programmers and persons with tremendous machine learning skills. It is characterized of a deep architecture and high performance.

Oryx 2 is a continuation of the initial Oryx project, it’s developed on Apache Spark and Apache Kafka as a re-architecting of the lambda architecture, although dedicated towards achieving real-time machine learning. It is a platform for application development and ships in with certain applications as well for collaborative filtering, classification, regression and clustering purposes. OpenCyc is an open-source portal to the largest and most comprehensive general knowledge base and commonsense reasoning engine of the world. It includes a large number of Cyc terms arranged in a precisely designed onology for application in areas such as rich domain modeling, domain-specific expert systems, text understanding and semantic data integration, as well as AI games plus many more.

SystemML is open-source artificial intelligence platform for machine learning ideal for big data. Its main features are runs on R and Python-like syntax, focused on big data and designed specifically for high-level math. There are several ways to use it including Apache Spark, Apache Hadoop, Jupyter and Apache Zeppelin. Some of its notable use cases include automotive, airport traffic and social banking.

NuPIC is an open-source framework for machine learning that is based on Hierarchical Temporary Memory (HTM), a neocortex theory. The HTM program integrated in NuPIC is implemented for analyzing real-time streaming data, where it learns time-based patterns existing in data, predicts the imminent values as well as reveals any irregularities. Its notable features include continuous online learning, temporal and spatial patterns, real-time streaming data, prediction and modeling, powerful anomaly detection and hierarchical temporal memory.

PredictionIO became part of the company Salesforce in February 2016. It offers open source machine learning servers that developers can use to create prediction engines very quickly. Salesforce is also integrating the technology into some of its products.

The open source machine learning framework Accord.NET Framework makes it easy to add audio or image processing capabilities to an application. The website includes resources like sample applications, documentation and a wiki to help developers get up to speed on the technology very quickly.

As you might guess from the "JS" in its name, ConvNetJS is an open source JavaScript library. It allows users to train neural networks entirely from the browser.

Encog is an open source machine learning framework that supports artificial neural networks, vector machines, bayesian networks, hidden markov models, genetic programming and genetic algorithms. Available for Java or C#, it's a cross-platform tool that works well on multicore, GPU-equipped hardware.

Neuroph is an open source Java-based framework for developing neural network architectures. It's designed to be used by developers who are new to AI, offering quite a bit of online documentation.

Another open source initiative, Open Cog is dedicated to "creating beneficial artificial general intelligence (AGI), with broad capabilities at the human level and ultimately beyond." The technology is currently in use at Hong Kong Polytechnic University, and the team is confident that they will soon have software capable of human preschool-level intelligence.

Built to run on GPUs and based on LuaJIT, is an open source scientific computing framework that supports a lot of machine learning algorithms. Community members have created Torch packages for machine learning, computer vision, signal processing, parallel processing and other AI applications.

Open Assistant is an evolving open source artificial intelligence agent able to interact in basic conversation and automate an increasing number of tasks.

We offer consulting, development and implementation of data science, machine learning and artificial intelligence solutions. We are consulting your business in systematic data collection, giving your teams the knowledge to use certain technologies and utilize open source solutions together with you. By this, we want to ensure that you are an independent user of these modern technologies and knowledge.

Ancud IT-Beratung GmbH Glockenhofstraße 47, Nürnberg Tel: +49 911 2525 68-0 www.ancud.de Friedrichstr. 122, Berlin Tel: +49 30 400 060-50 [email protected]