On entend beaucoup parler du Deep Learning (ou Apprentissage Profond), mais qu’est ce que c’est exactement? Comment est-ce que ça fonctionne?
Voici un petit guide rapide pour y voir plus clair.
L’Intelligence Artificielle (IA) et le Machine Learning (ML – Apprentissage Automatique) sont parmi les sujets les plus brûlants du moment.
Le terme « IA » est utilisé tous les jours de manière aggressive. Vous entendez des développeurs en herbe dire qu’ils veulent apprendre l’IA. Vous entendez également des cadres dire qu’ils veulent mettre en œuvre de l’Intelligence Artificielle dans leurs services. Mais bien souvent, beaucoup de ces personnes ne comprennent pas ce qu’est l’IA.
Une fois que vous aurez lu cet article, vous comprendrez les bases de l’Intelligence Artificielle et du Machine Learning. Plus important encore, vous comprendrez comment fonctionne le Deep Learning, le type de Machine Learning le plus populaire.
Ce guide s’adresse à tout le monde, il ne s’agit donc absolument pas de mathématiques avancées.
Contexte du Deep Learning
La première étape pour comprendre le fonctionnement du Deep Learning ou Apprentissage Profond consiste à saisir les différences entre les termes importants.
Intelligence Artificielle vs. Machine Learning
Lorsque la recherche sur l’IA a débuté, les chercheurs essayaient de reproduire l’intelligence humaine pour des tâches spécifiques – comme jouer à un jeu.
Ils ont introduit un grand nombre de règles que l’ordinateur devait respecter. Celui-ci disposait d’une liste spécifique d’actions possibles et prenait ses décisions en fonction de ces règles.
Le Machine Learning permet aux ordinateurs d’apprendre par eux-mêmes. Ce type d’apprentissage tire profit de la puissance de traitement des ordinateurs modernes, qui peuvent facilement traiter de grands ensembles de données.
Apprentissage supervisé vs. Apprentissage non supervisé
Avec l’apprentissage supervisé, la machine peut apprendre à faire une certaine tâche en étudiant des exemples (des données) de cette tâche qu’elle doit réaliser. Par exemple, elle peut apprendre à reconnaître une photo de chat après qu’on lui ait montré des dizaines de millions de photos de chat.
Les applications sont nombreuses : Reconnaissance vocale, vision par ordinateur, régressions, classifications, etc.
La grande majorité des problèmes de Machine Learning et de Deep Learning utilisent l’apprentissage supervisé. Il est donc essentiel de bien comprendre le fonctionnement de cette mécanique.
Lorsque vous entrainez une IA en utilisant l’apprentissage non supervisé, vous laissez l’IA faire des classifications logiques des données.
Un exemple d’apprentissage non supervisé est une IA prédisant le comportement pour un site de commerce électronique. Elle n’apprendra pas en utilisant un ensemble de données étiquetées d’entrées et de sorties.
Elle créera plutôt sa propre classification des données d’entrée. Elle vous indiquera quels types d’utilisateurs sont les plus susceptibles d’acheter différents produits.
Maintenant, comment fonctionne le Deep Learning?
Vous êtes maintenant prêt à comprendre ce qu’est le Deep Learning et comment fonctionne le Deep Learning !
Le Deep Learning est une méthode de Machine Learning. Il nous permet de former une IA à prédire les résultats, en fonction d’un ensemble d’entrées. L’apprentissage supervisé et non supervisé peut être utilisé pour entrainer l’IA.
Nous apprendrons comment fonctionne le Deep Learning en construisant un service d’estimation du prix d’un billet d’avion. Nous l’entrainerons à l’aide d’une méthode d’apprentissage supervisé.
Nous voulons que notre estimateur de prix de billet d’avion prédise le prix en utilisant les entrées suivantes (nous excluons les billets aller-retour pour des raisons de simplicité) :
- Aéroport d’origine
- Aéroport de destination
- Date de départ
- Compagnie aérienne
Réseaux de Neurones
Vous pouvez aussi lire mon article pour bien comprendre les réseaux de neurones.
Regardons à l’intérieur du cerveau de notre Intelligence Artificielle.
Comme les humains, le cerveau de notre IA a des neurones. Ils sont représentés par des cercles. Ces neurones sont interconnectés.
Les neurones sont regroupés en trois types de couches différentes :
- La couche d’entrée – input layer
- La ou les couche(s) cachée(s) – hidden layer(s)
- La couche de sortie – output layer
La couche d’entrée (input layer) reçoit les données d’entrée. Dans notre cas, nous avons quatre neurones dans la couche d’entrée : L’aéroport d’origine, l’aéroport de destination, la date de départ et la compagnie aérienne. La couche d’entrée transmet les données d’entrée à la première couche cachée.
Les couches cachées (hidden layers) effectuent des calculs mathématiques sur nos entrées. L’un des défis de la création de réseaux de neurones consiste à décider du nombre de couches cachées, ainsi que du nombre de neurones pour chaque couche.
Le terme « Deep » (profond) dans Deep Learning fait référence au fait d’avoir plus d’une couche cachée.
La couche de sortie (output layer) renvoie les données de sortie. Dans notre cas, elle nous donne la prédiction des prix.
Alors comment cela calcule-t-il la prédiction des prix ?
C’est là que commence la magie du Deep Learning.
Chaque connexion entre les neurones est associée à un poids (weight). Ce poids dicte l’importance de la valeur d’entrée. Les poids initiaux sont fixés de façon aléatoire.
La date de départ est l’un des facteurs les plus importants dans la prédiction du prix d’un billet d’avion. Par conséquent, les connexions neuronales de la date de départ auront un poids important.
Chaque neurone a une fonction d’activation. Ces fonctions sont difficiles à comprendre sans raisonnement mathématique.
En termes simples, l’un de ses objectifs est de « normaliser » la sortie du neurone.
Une fois qu’un ensemble de données d’entrée a traversé toutes les couches du réseau neuronal, il renvoie les données de sortie par la couche de sortie.
Rien de sorcier, n’est-ce pas ?
Entrainer le réseau de neurones
L’entrainement de l’IA est la partie la plus difficile du Deep Learning. Pourquoi ?
- Vous avez besoin d’un très grand ensemble de données.
- Vous avez besoin d’une très grande puissance de calcul.
Pour notre estimateur de prix des billets d’avion, nous devons trouver des données historiques sur les prix des billets. Et en raison du grand nombre de combinaisons possibles d’aéroports et de dates de départ, nous avons besoin d’une très grande liste de prix de billets.
Pour entrainer l’IA, nous devons lui donner en entrée les données de notre ensemble de données. Puis comparer ses sorties avec les prix connus de l’ensemble de données. Comme l’IA n’est pas encore entrainée, ses résultats seront incorrects.
Une fois que nous avons parcouru l’ensemble des données, nous pouvons créer une fonction qui nous montre à quel point les résultats de l’IA étaient incorrects par rapport aux résultats réels. Cette fonction s’appelle la fonction de coût (cost ou loss).
Idéalement, nous voulons que notre fonction de coût soit nulle. C’est dans ce cas que les sorties de notre IA sont les mêmes que celles de l’ensemble des données.
Comment pouvons-nous réduire la fonction de coût ?
Nous changeons les poids entre les neurones. Nous pourrions les changer au hasard jusqu’à ce que notre fonction de coût soit faible, mais ce n’est pas très efficace.
Nous utiliserons plutôt une technique appelée « Gradient Descent » ou Algorithme du Gradient.
La descente en gradient est une technique qui permet de trouver le minimum d’une fonction. Dans notre cas, nous recherchons le minimum de la fonction de coût.
Il fonctionne en modifiant les poids par petits incréments après chaque itération de l’ensemble de données. En calculant la dérivée (ou gradient) de la fonction de coût à un certain poids, nous pouvons voir dans quelle direction se trouve le minimum.
Pour minimiser la fonction de coût, vous devez répéter plusieurs fois l’ensemble de vos données. C’est pourquoi vous avez besoin d’une grande puissance de calcul.
La mise à jour des poids à l’aide de la descente de la pente se fait automatiquement. C’est la magie du Deep Learning !
Une fois que nous avons entrainé notre estimateur de prix des billets d’avion, nous pouvons l’utiliser pour prédire les futurs prix.
En résumé…
- Le Deep Learning utilise un réseau de neurones pour imiter l’intelligence humaine.
- Il existe trois types de couches de neurones dans un réseau neuronal : la couche d’entrée, la ou les couches cachées et la couche de sortie.
- Les connexions entre les neurones sont associées à un poids, dictant l’importance de la valeur d’entrée.
- Les neurones appliquent une fonction d’activation sur les données pour « normaliser » la sortie du neurone.
- Pour entrainer un réseau de neurones, il faut un grand ensemble de données.
- L’itération de l’ensemble de données et la comparaison des sorties produiront une fonction de coût, indiquant l’écart entre l’IA et les sorties réelles.
- Après chaque itération dans l’ensemble de données, les poids entre les neurones sont ajustés à l’aide d’une descente en gradient pour réduire la fonction de coût.
Si vous avez aimé cet article, partagez sur vos réseaux sociaux pour plus de visibilité. Merci !