IA 3-2

Appréhendez le Deep Learning ou l’apprentissage profond

Ces dernières années, l’intelligence artificielle (IA) a fait l’objet d’un engouement médiatique intense. Et il y a un sous-domaine de l’IA qui a particulièrement fait parler de lui : l’apprentissage profond, ou Deep Learning en anglais.

Le Deep Learning est une sous-discipline du Machine Learning
Le Deep Learning est une sous-discipline du Machine Learning

Mais qu’est-ce que c’est, au juste ? 

Le Deep Learning, c’est un réseau de neurones artificiels convolutifs. Cette dernière phrase vous semble être écrite dans une langue étrangère ? Pas de panique, décryptons tout cela ensemble !

Vous allez d’abord découvrir ce qu’on qualifie de « réseau de neurones artificiels » et nous nous attaquerons ensuite à la convolution. Une fois ces deux éléments clarifiés, vous pourrez plus facilement comprendre le Deep Learning ! Vous êtes prêt ?

Découvrez l’ambition initiale du réseau de neurones artificiels : s’inspirer du cerveau humain

Depuis les débuts de l’IA, il y a cette ambition de reproduire le cerveau humain, ou plus précisément de s’en inspirer. Pour ce faire, les chercheurs se sont d’abord intéressés de près au fonctionnement des cerveaux biologiques. Ils ont étudié notamment le fonctionnement des neurones. Ces neurones, qui composent notre cerveau, communiquent entre eux grâce à des synapses.

Représentation d'un neurone : inspiration
Représentation d’un neurone : une inspiration

On a donc créé des algorithmes qui reprennent cette architecture neuronale. Bien sûr, les neurones sont ici une inspiration, qu’on a ensuite adaptée à l’intelligence artificielle.

Le réseau de neurones artificiels n’est pas une reproduction du cerveau humain, son architecture en est seulement inspirée.

Passons à la suite pour voir à quoi cela ressemble !

Découvrez le réseau de neurones artificiels 

Pour mieux comprendre, prenons ensemble un exemple concret dans le domaine de la reconnaissance d’image. Nous allons nous pencher sur le tri de photos. Nos photos numériques ont tendance à s’accumuler, et les trier peut devenir un vrai travail. Dans cet exemple, comme nous l’avons fait pour les chats et les chiens dans la vidéo, nous allons construire un programme d’intelligence artificielle pour effectuer ce tri à notre place. Sa mission : étiqueter, pour chaque photo, le ou les sujets présents avec leur(s) nom(s). 

Dans un premier temps, nous allons nous limiter à de simples portraits d’une personne, avec des photos très bien cadrées. 

Nous souhaitons entraîner notre intelligence artificielle à identifier les membres de notre famille sur des clichés. Pour ce faire, nous rassemblons une série de clichés pour chaque individu.

trois personnages : photos de notre famille
Quelques photos de notre famille

Et pour pouvoir analyser nos photos de famille, on va utiliser le réseau de neurones artificiels !

On peut se représenter le réseau de neurones artificiels comme une boîte avec :

  • une entrée : les données fournies (une photo) ;
  • une sortie : le résultat attendu (le prénom du sujet présent sur la photo), et
  • entre les deux : un réseau neuronal, autrement dit des couches successives de neurones artificiels.
une entrée : les données fournies (une photo) ; une sortie : le résultat attendu (le prénom du sujet sur la photo) ;  et entre les deux : des couches successives de neurones artificiels.

Alors, apprentissage supervisé ou non supervisé, ici ? 

Le Deep Learning peut être utilisé pour de l’apprentissage supervisé comme pour de l’apprentissage non supervisé. Ici, nous sommes dans un problème typique d’apprentissage supervisé. Nous souhaitons entraîner un algorithme à partir d’exemples annotés.

Que se passe-t-il dans ce réseau de neurones ? Et comment l’apprentissage fonctionne-t-il ?

Notre réseau est composé de nombreux neurones, qui sont groupés en plusieurs couches de neurones. Je vous propose d’en détailler trois types : la couche d’entrée, les couches intermédiaires et la couche de sortie.

La couche d’entrée

C’est elle qui reçoit l’information de notre image. Notre cliché est composé de millions de points appelés pixels. Chaque pixel alimente un neurone de la couche d’entrée.

Ainsi, si notre image comporte 1 million de pixels, la première couche sera composée d’1 million de neurones.

Les couches intermédiaires 

Les couches intermédiaires peuvent être nombreuses (de quelques dizaines à plusieurs centaines). Les neurones d’une couche sont connectés aux neurones de la couche suivante. Les neurones d’une couche interagissent avec ceux de la couche suivante en réalisant des opérations mathématiques élémentaires comme l’addition, la soustraction, la multiplication et la division.

En fonction du résultat des opérations mathématiques, chaque neurone sera activé ou non. En réalité, on utilise ici une fonction mathématique appelée « fonction d’activation ». Elle prend en entrée les données de la couche précédente et renvoie 1 (activation du neurone) ou 0 (non-activation). 

La couche de sortie

La dernière couche porte le résultat final.

Dans notre exemple, il s’agit du nom de la personne présente sur le portrait.

Ces trois types de couche nous donnent schématiquement quelque chose comme ça :

Une version simplifiée d’un réseau de neurones.
Une version simplifiée d’un réseau de neurones.

Nos images ont en général plusieurs millions de pixels. Il faut ainsi imaginer que notre couche d’entrée contient en réalité des millions de neurones. Concernant les couches intermédiaires, nous en aurons des dizaines, voire des centaines (composées chacune de très nombreux neurones). Enfin, la couche de sortie est composée des différents résultats possibles.

OK, on a construit un réseau de neurones qui prend des images en entrée et nous donne une réponse en sortie. Mais comment fait-il pour apprendre ?

Pour apprendre, l’algorithme doit s’entraîner, en prenant chaque photo et en la faisant passer par ses différentes couches de neurones jusqu’à obtenir un résultat. Au début, il va répondre au hasard, car il n’a aucune expérience !

Dans cette image, nous avons initié l’entraînement de notre réseau de neurones. Et pour sa première image, il s’est trompé ! Il n’a pas étiqueté le sujet correctement.
Dans cette image, nous avons initié l’entraînement de notre réseau de neurones. Et pour sa première image, il s’est trompé ! Il n’a pas étiqueté le sujet correctement.

Et puis, au fur et à mesure, le réseau modifie la façon dont les neurones se transmettent l’information, pour faire en sorte de catégoriser correctement l’image. Ainsi, le réseau de neurones fait passer une à une toutes les images. Et à chaque fois que c’est nécessaire, il fait des ajustements, pour les annoter correctement.

Une fois entraîné, le programme associe le bon résultat à l'image

Une fois entraîné, le programme associe le bon résultat à l’image

Découvrez le principe de convolution

Nous avons fini l’entraînement de notre réseau de neurones. Et bonne nouvelle, il s’avère très efficace pour trier nos différents portraits !

Par contre, il présente une limite. Eh oui, Il ne peut catégoriser que les clichés contenant des portraits qui sont parfaitement centrés. Si nous lui fournissons des clichés où les portraits ne sont pas bien centrés, ses performances sont moindres. Pire, si nous lui donnons une photo de groupe, il ne pourra pas étiqueter plusieurs personnes car il n’a pas été entraîné pour ce besoin !

Nous avons besoin de muscler notre outil pour lui permettre d’étiqueter plusieurs sujets sur une même image.

différents individus en action qui composent une image.
Cette fois-ci, nous souhaitons pouvoir identifier les différents individus qui composent une image.

Pour cela, nous allons utiliser un réseau de neurones particulier appelé réseau de neurones convolutifs (en anglais : convolutional neural networks, souvent abrégé en CNN). 

La convolution n’est rien d’autre qu’un filtrage de notre image. Plutôt que de traiter l’image en un bloc, nous allons la diviser en différents carrés que nous allons analyser séparément.

Ainsi, nous allons nous déplacer progressivement sur les différentes zones de l’image, en effectuant ce qu’on appelle des pas.

On a une fenetre de filtre qui se déplace sur l'image pour l'analyser morceau par morceau et repérer plusieurs visages
Le principe de convolution

C’est un chercheur français, Yann LeCun, qui a été l’un des pionniers de ce champ de recherche dès les années 1980. Écoutons ce qu’il a à nous dire ! 

Le Deep Learning : réseau de neurones artificiels et convolution 

En alliant les réseaux de neurones artificiels et la convolution, les scientifiques ont mis en place l’apprentissage profond, ou Deep Learning

Et qu’est-ce qui le différencie et le rend si populaire ?

Ses résultats et ses capacités futures ! Un des éléments clés qui différencie le Deep Learning est sa capacité à exploiter de très grands gisements de données. Plus ces réseaux de neurones possèdent de données, plus ils arrivent à s’améliorer. Par exemple, certains systèmes de reconnaissance d’image s’entraînent sur la base de dizaines de millions de clichés photos.

L’exploitation de ces volumes de données considérables posent de nouvelles difficultés. Il faut construire des systèmes informatiques qui sont suffisamment robustes pour pouvoir stocker et traiter ces montagnes de données. Il faut donc noter que les moyens mis en œuvre actuellement pour ce type de projet nécessitent beaucoup de ressources informatiques et sont très gourmands en électricité.

Le sujet de l’apprentissage a piqué votre curiosité ? Nous avons ici évoqué une méthode pour la reconnaissance d’images, mais d’autres applications sont possibles. Par exemple, nous pouvons travailler sur le traitement automatique du langage ou la reconnaissance vocale. Vous pouvez en apprendre beaucoup plus en suivant notre cours Initiez-vous au Deep Learning

En résumé

  • L’apprentissage profond (ou Deep Learning) est un sous-domaine particulièrement puissant du Machine Learning. 
  • Cette discipline repose notamment sur la construction de systèmes inspirés de nos cerveaux, comportant des réseaux de neurones artificiels.
  • Elle utilise également le principe de convolution, qui permet d’analyser une image pas à pas avec une fenêtre de filtre et donc d’être plus performant.

Vous connaissez maintenant les fondamentaux du Machine Learning et du Deep Learning, ainsi que les différentes étapes d’un projet d’intelligence artificielle. C’est sur ces techniques que s’appuient les dernières évolutions de l’IA qui font parler : l’IA “à usage général” et l’IA générative. 

Retour en haut