Understanding Machine Learning: A Conceptual Approach
Machine learning is a technique used to create very complex algorithms in an efficient manner. The idea is that by using ML, engineers are able to make algorithmic models that can understand inputs with thousands or millions of interconnected variables and make sense of them to give a coherent output. Although, theoretically, these models could be manually crafted with specific rules, if your input consists of a lot of complex data this could make manual approaches unviable.
ML came to solve this, the technique goes as follows:
Designing a Neural Network
You design an architecture capable of analysing a lot of data and that outputs the format you expect. For example, maybe your input consists of a thousand variables, and you want a model capable of distinguishing between two categories. The input could be facial characteristics and the output could be telling if it is a genuine face or an attack.
One of the main characteristics of these architectures is that they allow for all the input variables to influence each other. The other characteristic is that they have a large number of internal parameters which must be tuned in order for the model to work. This is what is called an artificial neural network, ANN.
The term ANN, and the underlying theories on which ANN is based have been around since the last century, but it has been more recently, with the emergence of more powerful computing, that they have gained a lot of relevance.
Other architectures apart from ANN exist, but we will focus on this one because it is one of the most versatile and popular.
Training a neural network
Initially, this ANN will not give the desired output given an input. This is because their internal parameters have not been tuned. The goal is to set the values of these internal parameters so that given those 1000 input variables, the model will output the correct gender. How is that done? Through “training”.
Training a neural network consists of an automated way of tuning its internal parameters so that the resulting model behaves the way intended. In our example, you want the model to detect spoofing if the input is from an attack sample, and to classify as genuine otherwise.
There are multiple ways a network can be trained, but all these approaches require the use of data. Which data? The data we are trying to model. The main way ANNs are trained is by using the supervised learning paradigm. In supervised learning, you use the input samples and the desired output for each sample, run them through the model, and update the network’s parameters so that it makes the model output closer to the desired one. Through enough iteration and following the rules of the paradigm, the parameters of the model will achieve an optimum state and the model will have learned the task.
So yes, in order to make an ML model that classifies some input data, you will need in the first place to have that data already classified. The resulting model, if correctly trained, will be able to generalize and classify/predict data that it was never trained with. The idea behind ML is that you can automate a task that is too complex for a manually crafted algorithm or that requires a lot of human resources but has already been solved.
Machine learning applies to various industries
- Healthcare: Predictive modelling for disease diagnosis and treatment recommendations.
- Finance: Fraud detection, algorithmic trading, and credit risk assessment.
- Natural Language Processing: Speech recognition, sentiment analysis, and language translation.
- Autonomous Vehicles: Object detection, path planning, and self-driving capabilities.
Understanding the conceptual aspects of machine learning is essential to grasp its potential and limitations. As the field continues to evolve, machine learning is poised to transform industries and drive innovation in the years to come. At Alice, machine learning is at the heart of our technology enables us to verify millions of identities every year.
What about deep learning?
When we scale these principles to large architectures and big datasets and training procedures, we call it deep learning. Because more parameters are used to model the task, the resulting network will be able to learn more complex problems. Deep learning lies behind the most recent advances in machine learning, such as generative AIs and large language models such as ChatGPT or Google Bard.