Machine learning: how machines become intelligent
How do machines and neural networks learn?
"Computers can make decisions and predictions without being programmed". This statement may sound like a futuristic idea to the uninitiated, but it has long been commonplace in the corporate world and there are also a number of examples of its use in the private sector. After all, your trusted streaming provider always knows which series, films or music are best for you.
Behind this system is a neural network that is trained by your usage behavior. Every neural network that has been trained using machine learning works according to this principle - be it for private TV consumption or a highly complex vision system:
The computer is provided with a large amount of data, the input. Based on this training data, the machine learns continuously and gradually forms a neural network. This is where the processing of the data takes place in order to deliver an adequate output .
What types of training data are there?
While this order does not change, there are various ways in which the training data can be handled:
Supervised learning: The algorithm receives both the questions and the corresponding answers. This data is learned so that new questions only need to be assigned correctly.
Unsupervised learning: The algorithm only receives questions and learns to recognize patterns and structures from the data. By grouping the data correctly, cluster analyses can then be carried out, for example.
Reinforcement learning: The system interacts with the environment in order to learn the optimal action by acting incorrectly or correctly. Wrong actions are punished, while correctly executed actions are reinforced.
As the neural network is the core of the algorithm and contributes significantly to the success of the system, training the network is very important. It is no coincidence that large corporations such as Google, Microsoft and IBM have invested huge sums in the development of machine learning and the creation of databases. Google has even made its own TensorFlow database available as open source, which means that the database is not only publicly accessible, but is also constantly being developed further.
Focus on neural networks
A neural network is a highly complex structure and is intended to approximate the structures of our brain. Through a lot of training with large amounts of data, more and more connections are formed in the network so that the algorithm becomes better and better at performing the desired tasks. The tasks and therefore the demands placed on a neural network vary depending on the area of application.
Deep Neural Networks: DNN
Neural networks that consist of several layers are also known as DNNs and fall under the term deep learning. There is always an input layer, several hidden layers and an output layer. The hidden layers learn from each other and always use the output that they have received from the previous layer. This allows DNNs to recognize complex patterns and correlations, but in return they require a large amount of data to deliver high-quality results. Due to the many hidden layers, the interpretation of the output is often complicated as the solution path is not transparent. Nevertheless, DNNs are a popular choice for classification or pattern recognition thanks to their ability to understand complex relationships and cope with large amounts of data.
Convolutional Neural Network: CNN
This method is used for image processing and interpretation, as they are particularly good at recognizing and evaluating spatial features. Thanks to this type of machine learning, images can be interpreted in both 3D and 2D. Like DNNs, they have several layers in which the images are evaluated at pixel level. In the convolution layer, the network searches for matches in shapes and patterns in the pixels. This is always followed by a pooling layer, which simplifies the image again so that only the most important image components are retained. These layers are repeated so that the result is increasingly accurate. In the output layer, the CNN then decides what kind of object has just been "seen". CNNs must also be fed with large amounts of image data in order to deliver correct results.
Generative Adversarial Network: GAN
With this type of machine learning, you can really say that the networks learn independently. The data does not come from a database, but is generated via a "competition" between two networks. There is always a generator network and a discriminator network. The generator provides real examples and generated examples, which the discriminator network has to assess and distinguish. With each run, both networks improve and learn from each other. In the end, it is possible for the generator to generate very realistic examples. With GANs, the focus is not on interpretation but on the generation of data, which distinguishes this type of network from CNNs and DNNs.
Without machine learning, we humans would reach our limits when it comes to interpreting data. In order to do justice to the constantly growing data sets, neural networks are taking over the evaluation and interpretation for us in many industries, for example:
for object and image recognition in robots
in biometric facial recognition for surveillance systems
in warning systems for autonomous driving
with automated translation tools
in the field of warehouse automation.
So we can rather answer the question "What is machine learning?": What is it not? After all, the topics of AI and machine learning are already omnipresent in almost all sectors of our society - including your vision system. Let us advise you and find out more about how we at Basler benefit from machine learning methods in a personal meeting.