Can I learn AI with C?

AI learning opportunities for beginners and advanced users

Google's Teachable Machine explains how machine learning works in a playful way so that even children can understand it. If necessary, however, an adult has to translate the English-language explanatory texts for you. The visitor only needs a browser and a webcam. With their images, a neural network can be trained to recognize three different gestures. Teachable Machine assigns three colors to these gestures: green, pink, and orange. Depending on which gesture it recognizes, it outputs different images, sounds or sentences.

To teach the network the first gesture, such as a greeting hand, you perform it and press the "Train Green" button.Teachable machine makes a series of photos. The tutorial recommends training the network with at least 30 photos per color.

Now repeat this step with the gestures for the colors pink and orange. The network then shows live which gesture it is currently recognizing. To be more precise, it permanently outputs the probability of recognizing the respective gesture in the image for all three colors - and for those with the highest probability it presents the output.

Teachable Machine shows very well how clearly separated input data can improve the recognition results and how unexpected effects can worsen the results, e.g. different lighting than during training. Incidentally, the fact that the application uses the notebook camera is not a problem: It runs completely in the browser and does not transmit any images to Google.

Wire it yourself

Deeper insights allowedA Neural Network Playground, with which the visitor can play through the entire process of using a deep artificial neural network - the selection of the individual neurons, their staggering in hidden layers, the training, the output: perhaps the most intuitive approach to experience what makes deep learning tick.

The construction kit can be used to build classifiers, among other things. The task here is to assign data points to one of two sets. That sounds more complicated than it is. The playground shows data, neurons and weights graphically. So you can see at first glance how each neuron and each connection affects the overall network - before, during and after learning. And then you can start experimenting: The given network does not want to recognize one of the given data sets? Then you can equip it with new network layers and neurons and try again. By the way, the network topology is contained in the URL. Anyone who has found a nice solution to a problem can easily pass it on.

The question of why

Normally you can't see into a neural network like you can with the Neural Network Playground - many artificial neural networks are black boxes because they are much more complex. The fact that you cannot understand their decisions is a problem for many use cases, such as medical diagnoses: Here you want to know why an AI made a certain decision.

For this reason, so-called interpretable AI is currently an important field of research. Here we are looking for ways to make the decision-making processes of artificial intelligence transparent. One method for this is called Layer-Wise Relevance Propagation. In a very simplified way, it goes through the decision-making processes in neural networks backwards.

It becomes clear which input has which influence on the result. The influence of each feature on the result can be visualized using heat maps, for example. On the Server of the Fraunhofer HHI you can try this method with photos, texts and handwritten numbers.

The researchers from Google and OpenAI also let you look into their networks. To do this, they have found a way to visualize the concepts implemented in an image recognition network, for example: What is an (ideal) radio? This results in picture matrices that are worth seeing, so-called Activation atlases.

Immerse yourself deeper

Anyone who has gained intuitive access to deep learning with the three services presented and has tasted blood may want to delve deeper into the subject and also understand the mathematical basics. There is also the free online bookNeural Networks and Deep Learning a good starting point. Practical: The first chapter deals in detail with letter recognition, which is the subject of the following programming article.

There are also numerous online courses on machine learning. The is highly recommended Andrew Ng's course at Coursera. Ng is a respected AI pioneer and teaches at Stanford University. The course itself is free; whoever wants to complete it with a certificate pays 71 euros.

Many, many more links to learning sources on the subject of deep learning can be found in the collection Awesome Deep Learning Resources at GitHubthat the developer Guillaume Chevalier has compiled. At learn anything visitors collect learning sources of various kinds, from Wikipedia articles to free books to Reddit threads or subreddits. (yo)

This article comes from c't 21/2019.