10 Tools for Modeling AI Components – Machine Learning without the code
Tags: modeling, machinelearning, ai, visual
Published: 2019-08-03 17:33:02

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 <a href="https://www.information-age.com/ai-assistant-application-development-123473071/" target="_blank" rel="noopener noreferrer">smart apps</a>) 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: <strong><a href="https://modeling-languages.com/modeling-and-artificial-intelligence-opportunities/">modeling AI </a> comes to the rescue. </strong>

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. 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. I 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 <a href="https://azure.microsoft.com/en-us/services/machine-learning-studio/" target="_blank" rel="noopener noreferrer">Azure Machine Learning Studio</a> 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.

<img src="https://azurecomcdn.azureedge.net/cvt-38ff2bbd6f3685d423d85ec5fffdc68d952f70196ec3dbb12bec48314847eca8/images/page/services/machine-learning-studio/simple-scalable-cutting-edge.jpg" alt="Building a classifier model with Azure ML Studio" width="1920" height="1080" /> 
###SPSS Modeler from IBM
The IBM alternative to the Azure ML Studio is the <a href="https://www.ibm.com/products/spss-modeler" target="_blank" rel="noopener noreferrer">SPSS Modeler,</a> part of the <a href="https://www.ibm.com/cloud/watson-studio/pricing" target="_blank" rel="noopener noreferrer">Watson Studio</a>. 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.

<img class="aligncenter" src="https://cdn-images-1.medium.com/max/1000/1*hl1vCyDOFn7PYqKF70WH1Q.png" width="781" height="503" />
<p id="gzaFSsW">The closest solution from Amazon would be <a href="https://aws.amazon.com/sagemaker/" target="_blank" rel="noopener noreferrer">Amazon SageMaker</a> but I've been unable to find a visual modeling AI editor in it.</p>

##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 <a href="https://keras.io/" target="_blank" rel="noopener noreferrer">Keras</a> or <a href="https://www.tensorflow.org/" target="_blank" rel="noopener noreferrer">Tensorflow</a>.
###RapidMiner
<a href="https://rapidminer.com/" target="_blank" rel="noopener noreferrer">RapidMiner </a> 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
<a href="https://orange.biolab.si/" target="_blank" rel="noopener noreferrer">Orange</a> 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.

###Knime
My favorite option for small/medium companies. <a href="https://www.knime.com/" target="_blank" rel="noopener noreferrer">Knime</a> 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 <a href="https://www.knime.com/knime-for-data-scientists" target="_blank" rel="noopener noreferrer">Knime for data scientists</a> and <a href="https://www.knime.com/deeplearning" target="_blank" rel="noopener noreferrer">Knime for deep learning</a> 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, <a href="https://github.com/knime/" target="_blank" rel="noopener noreferrer">Knime is open source</a> and free (you can create and buy commercial add-ons).

<img class="alignnone" src="https://files.knime.com/sites/default/files/inline-images/login.png" alt="Knime modeling environment" width="1200" height="688" />

Note that besides these data science tools, other generics environments are getting data science extensions. An example would be <a href="https://marketplace.visualstudio.com/items?itemName=neuron.neuron-IPE" target="_blank" rel="noopener noreferrer">Neuron </a>, a <a href="https://blogs.msdn.microsoft.com/uk_faculty_connection/2018/10/29/data-science-in-visual-studio-code-using-neuron-a-new-vs-code-extension/" target="_blank" rel="noopener noreferrer">data science extension for Visual Studio Code</a>.
###Dataiku
More oriented towards large enterprises, <a href="https://www.dataiku.com/" target="_blank" rel="noopener noreferrer">Dataiku </a>aims to bring together everybody playing a role in a data science project (business analyst, data science, data engineer,...) in one single platform. Dataiku integrates with a large number of other tools, from notebooks to chart libraries for data visualization and of course all major ML libraries.

Once you've set up the pipeline, you can bundle it as a single deployable package for real-time predictions via a REST API.
<h2>Modeling neural networks</h2>
If your main interest is the modeling of neural network itself, <a href="http://dianne.intec.ugent.be/" target="_blank" rel="noopener noreferrer">DIANNE</a> 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.

<img class="aligncenter" src="http://dianne.intec.ugent.be/images/screenshot-build.png" alt="Visual modeling of neural networks" width="774" height="375" />

To learn how neural networks work, this <a href="https://playground.tensorflow.org/" target="_blank" rel="noopener noreferrer">Tensorflow playground</a> is ideal to play with neural networks and learn its basic concepts

<a href="http://modeling-languages.com/wp-content/uploads/2018/12/tensorflow.png"><img class="aligncenter size-full wp-image-6836" src="https://modeling-languages.com/wp-content/uploads/2018/12/tensorflow.png" alt="Visual modeling and execution of neural networks with TensorFlow" width="1000" height="389" /></a>
##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, <a href="https://www.tensorflow.org/guide/summaries_and_tensorboard" target="_blank" rel="noopener noreferrer">TensorBoard </a> is a suite of web applications for inspecting TensorFlow runs. Nvidia builds on top of TensorBoard to visualize deep neural networks in its <a href="https://developer.nvidia.com/digits" target="_blank" rel="noopener noreferrer">Nvidia Digits</a> tool.

<img class="aligncenter" src="https://developer.nvidia.com/sites/default/files/akamai/cuda/images/deeplearning/Visualize_model.png" alt="Visual deep learning modeling in Nvidia" width="618" height="607" />