There is a myriad of libraries, platforms and cloud-based services for Artificial Intelligence (AI). But directly programming your AI application on top of them makes your software too dependant of the specific infrastructure you chose. This is dangerous in such a fast-paced environment where new (and better) AI solutions pop up every day.

How can you develop AI-enhanced software (also known as smart apps) or just pure AI components (neural networks, image recognition software, chatbots…) for a data science problem without learning each of the specific AI technologies and languages and preserving my ability to easily migrate my software over a new AI infrastructure? The solution won’t surprise my readers: modeling AI comes to the rescue. 

By raising the abstraction level at what you define your AI needs you can first focus on modeling the AI behaviour and later on refining it to integrate platform-specific details. Basically, model-driven engineering applied to AI, i.e. a kind of MDA for AI. But don’t be mistaken, I’m not saying this just because I’m a “modeling maniac”. As you’ll see just now, this is the trend all AI providers are following now.

Let’s take a closer look at the best modeling AI tools I know (as we did for the opposite post: IA for modeling, this post is more of a way to structure my set of links and notes on this topic than a systematic and complete list of tools for AI and data science modeling). We try to cover several kinds of tools: from complete data science modeling to code-generation for AI.

AI visual modeling tools from the Big Tech players

The big players (Google, Amazon, Microsoft) are offering visual AI modeling environments as a way to bring more users to their Machine Learning solutions. They “sell” them as a kind of visual programming for machine learning or “machine learning without the code” to try to attract people interested in ML but scared of writing the code to create and train ML models. Of course, those models can then only be executed on the proprietary infrastructure of the respective vendor.

Azure Machine Learning Studio

The ML modeling environment I like the most is the Azure Machine Learning Studio from Microsoft. As Microsoft says: “it is s a powerfully simple browser-based, visual drag-and-drop authoring environment where no coding is necessary”. With it you can easily define the input data, process it (if necessary) and use it to train several types of ML models and evaluate the quality of the results.

Building a classifier model with Azure ML Studio

Building a classifier model with Azure ML Studio

SPSS Modeler from IBM

The IBM alternative to the Azure ML Studio is the SPSS Modeler, part of the Watson Studio. Similar to the Microsoft competitor above, you can define your input data pipeline, the model you want to generate (classifier, predictive,…) and evaluate and visualize the quality of the results. It comes with complete algorithms and predefined models that are ready for immediate use to bootstrap your own data science application.

The closest solution from Amazon would be Amazon SageMaker but I’ve been unable to find a visual modeling AI editor in it.

Data Science modeling environments

In Data Science, the data collection and processing aspect is as important as the learning / predictive process to perform on that data. The complexity of the data science resides many times in deciding what data to collect and what features of the data are the important ones for the prediction problem we want to address. Some data science tools provide their own runtime environment but many come with built-in integrations with deep learning frameworks and libraries like Keras or Tensorflow.

RapidMiner

RapidMiner  comes with a visual workflow designer  to accelerate the prototyping and validation of predictive models, with predefined connections (including many for data acquisition, RapidMiner includes over 60 file types and formats for structured and unstructured data), built-in templates and repeatable workflows.

Orange

Orange is an open source machine learning and data visualization toolkit.  Data analysis is done by linking widgets in workflows. Each widget may embed some data retrieval, preprocessing, visualization, modeling or evaluation tasks. A considerable number of predefined widgets are available but you can also build your own.

A data analysis workflow - visual programming in Orange

A data analysis workflow – visual programming in Orange

Knime

My favorite option. Knime is a generic data analytics platform that can be used for a multitude of tasks. Knime comes with over 2000 different types of nodes to cover all your needs. The Knime for data scientists and Knime for deep learning extensions are the most interesting ones for the topic of this post. For instance, the latter allows users to read, create, edit, train, and execute deep neural networks. Since all nodes can be combined, you can easily use the deep learning nodes as part of any other kind of data analytic project.

On top of this, Knime is open source and free (you can create and buy commercial add-ons).

Knime modeling environment

Note that besides these data science tools, other generics environments are getting data science extensions. An example would be Neuron , a data science extension for Visual Studio Code.

Modeling neural networks

If your main interest is the modeling of neural network itself, DIANNE is a good option. In Dianne, neural networks are built as a directed graph. DIANNE comes with a web-based UI builder to drag-and-drop neural network modules and link them together.

Visual modeling of neural networks

To learn how neural networks work, this Tensorflow playground is ideal to play with neural networks and learn its basic concepts

Visual modeling and execution of neural networks with TensorFlow

Visualizing the learned models

Some tools focus on the visualization of the results, as a way to help you understand the quality of the deep learning model you created. As an example, TensorBoard  is a suite of web applications for inspecting TensorFlow runs. Nvidia builds on top of TensorBoard to visualize deep neural networks in its Nvidia Digits tool.

Visual deep learning modeling in Nvidia

Low-code tools to build smart apps

At a different level, but low-code tools are also quickly understanding that their users want to build apps that have some level of intelligence. Chatbots or facial recognition are two classical examples. Low-code tools are adding new “units/modules” in their DSLs to enable developers to specify what parts of their apps should be smart.

For now, this smart part basically means connecting the app with a packaged external service (for text to speech, for object detection, for sentiment analysis,…) where the actual reasoning takes place. Configuration is bare to none. Still, for many applications, this is good enough. The intelligent part is not the core of the app (if it is, then you better move to one of the tools above) but an additional functionality.

Genexus

For instance, this table shows the intelligent tasks you can model in Genexus. Note that for some of them you can also choose the actual provider to call at runtime)Intelligent actions available in Genexus

Mendix

Mendix is moving in a similar direction (e.g. see this example of chatbot creation with Mendix) but right now the process seems to be more manual.

Lobe

Lobe (now part of Microsoft) is a new player in the world of ” low-code for AI ” tools. Lobe wants you to easily provide training data to build a deep learning model to be then shipped with your app. They are still in beta so it’s difficult to see how far it could go but from its visual deep learning examples, it’s easy to imagine a number of very interesting mobile smart apps that could be created with Lobe.

Hand recognition with Lobe

Hand recognition with Lobe

Pin It on Pinterest

Share This