Fondamentalement, les développeurs distinguent avec des étapes intermédiaires progressives l’apprentissage supervisé (supervised learning) et l’apprentissage non supervisé (unsupervised learning). Les algorithmes utilisés sont très différents. L’apprentissage supervisé apporte des exemples, comme une base de données, au système. Les développeurs spécifient la valeur des informations, par exemple, si elles appartiennent à la catégorie A ou B. Le système d’apprentissage automatique en tire des conclusions, reconnait les modèles et peut mieux gérer des données inconnues. L’objectif est de réduire davantage le taux d’erreur.
Un exemple connu d’apprentissage supervisé est le filtre anti-spam : le système utilise des fonctions pour décider si le courrier est envoyé à la boite de réception ou bien s’il est déposé dans le dossier spam (courrier indésirable). Si le système fait une erreur, vous pouvez le corriger manuellement et le filtre ajustera ainsi ses futurs calculs. Le logiciel obtient donc ainsi de meilleurs résultats. Un tel programme de filtrage est basé sur l’ensemble des filtres bayésiens (de la théorie des probabilités, le théorème de Bayes) c’est pourquoi on parle de filtrage bayésien du spam.
Le unsupervised learning, c’est à dire l’apprentissage non supervisé, élimine l’enseignant, qui dans l’apprentissage supervisé, indique toujours ce qui appartient et donne un retour d’information sur les décisions autonomes du système. Au lieu de cela, le programme ici essaie de reconnaitre les modèles par lui-même. Il peut utiliser le clustering (partitionnement des données), par exemple : un élément est sélectionné parmi la quantité de données, examiné pour ses caractéristiques et ensuite comparé à celles déjà examinées. S’il a déjà examiné des éléments équivalents, l‘objet courant y sera ajouté. Si ce n’est pas le cas, il est alors stocké séparément.
Des systèmes basés sur l’apprentissage non supervisé sont mis en œuvre dans les réseaux neuronaux. Des exemples d’application peuvent être trouvés dans la sécurité du réseau : un système apprentissage automatique détecte les comportements anormaux. Par exemple, comme une cyberattaque ne peut pas être attribuée à un groupe connu, le programme peut alors détecter la menace et notifier un problème, alarmer l’utilisateur.
En plus de ces deux domaines principaux, il existe aussi l’apprentissage semi-supervisé (semi-supervised learning) et l’apprentissage par renforcement (reinforcement learning), et l’apprentissage actif (active learning) : ces trois méthodes sont plus étroitement liées à l’apprentissage supervisé et diffèrent au niveau du type et de l’étendue de la participation des utilisateurs.
En outre, il existe aussi une distinction entre le shallow learning et le deep learning. Alors que la première méthode est relativement simple, avec des résultats assez superficiels, le deep learning (ou apprentissage profond) est lui plus difficile à comprendre. Ces sont des informations très complexes, parce qu’il s’agit d’informations naturelles, par exemple celles qui se produisent pendant la parole, l’écriture ou la reconnaissance faciale. Les données naturelles sont faciles à traiter pour les humains, mais pas pour une machine, car elles sont difficiles à saisir mathématiquement.
Le deep learning et un réseau de neurones artificiels sont étroitement liés. La façon dont un réseau neuronal est formé peut être décrite comme un deep learning. On le nomme deep learning parce que le réseau de neurones est organisé en plusieurs niveaux hiérarchiques. Le premier niveau commence par une couche de neurones d’entrée. Ils enregistrent les données, commencent leur analyse et envoient leurs résultats au nœud neuronal suivant. A la fin, l’information de plus en plus affinée atteint le niveau initial et le réseau délivre une valeur. Les niveaux parfois très nombreux situés entre l’entrée et la sortie sont appelés couches cachées (hidden layers).