Deep Learning ou Apprentissage Profond : qu’est-ce que c’est ?

-
7
 m de lecture
-
Deep Learning

Cet article est le premier d’une série consacrée au Deep Learning : Après avoir présenté dans les grandes lignes le fonctionnement et les applications des réseaux de neurones, vous découvrirez plus en détails  dans les articles suivants les principaux types de réseaux et leurs architectures, ainsi que des méthodes et divers exemples d’applications du Deep Learning aujourd’hui. Démarrons sans plus tarder notre Introduction au Deep Learning.

Les concepts clés : IA, Machine Learning, et Deep Learning

Depuis quelques années, un nouveau lexique lié à l’émergence de l’intelligence artificielle dans notre société inonde les articles scientifiques, et il est parfois difficile de comprendre de quoi il s’agit. Lorsqu’on parle d’intelligence artificielle, on fait très souvent l’allusion aux technologies associées comme le Machine learning ou le Deep learning. Deux termes extrêmement utilisés avec des applications toujours plus nombreuses, mais pas toujours bien définis.  Pour commencer, revenons sur ces trois définitions essentielles : 

  • L’intelligence artificielle : c’est un champ de recherche qui regroupe l’ensemble des techniques et méthodes qui tendent à comprendre et reproduire le fonctionnement d’un cerveau humain.
  • Le Machine Learning : c’est un ensemble de techniques donnant la capacité aux machines d’apprendre automatiquement un ensemble de règles à partir de données. Contrairement à la programmation qui consiste en l’exécution de règles prédéterminées.
  • Le Deep Learning ou apprentissage profond : c’est une technique de machine learning reposant sur le modèle des réseaux neurones: des dizaines voire des centaines de couches de neurones sont empilées pour apporter une plus grande complexité à l’établissement des règles.

Machine Learning : Apprentissage supervisé et non supervisé

Le Machine Learning est un ensemble de techniques donnant la capacité aux machines d’apprendre, contrairement à la programmation qui consiste en l’exécution de règles prédéterminées. Il existe deux principaux types d’apprentissages en Machine Learning. L’apprentissage supervisé et non supervisé. 

En apprentissage supervisél’algorithme est guidé avec des connaissances préalables de ce que devraient être les valeurs de sortie du modèle. Par conséquent, le modèle ajuste ses paramètres de façon à diminuer l’écart entre les résultats obtenus et les résultats attendus. La marge d’erreur se réduit ainsi au fil des entraînements du modèle, afin d’être capable de l’appliquer à de nouveaux cas.

Convergence d'un modèle - Apprentissage supervisé

En revanche, l’apprentissage non supervisé n’utilise pas de données étiquetées. Il est alors impossible à l’algorithme de calculer de façon certaine un score de réussite. Son objectif est donc de déduire les regroupements présents dans nos données. Prenons l’exemple, d’un jeu de données de fleurs, on recherche à les regrouper en classes. Ici, nous ne connaissons pas l’espèce de la plante, mais nous voulons essayer de les regrouper, par exemple, si les formes des fleurs sont similaire alors elles sont en rapport avec une même plante correspondante.
Il existe deux principaux domaines de modèles dans l’apprentissage non-supervisées pour retrouver les regroupements :

  • Les méthodes par partitionnement : les algorithmes des k-means.
  • Les méthodes de regroupement hiérarchique : classification ascendante hiérarchique (CAH)
K-means avec k=3

Qu'est-ce que le Deep Learning ?

Deep Learning

Le Deep learning  ou apprentissage profond est l’une des technologies principales du Machine learning. Avec le Deep Learning, nous parlons d’algorithmes capables de mimer les actions du cerveau humain grâce à des réseaux de neurones artificielles.  Les réseaux sont composés de dizaines voire de centaines de « couches » de neurones, chacune recevant et interprétant les informations de la couche précédente.

réseau de couches 

source : Medium.com

Chaque neurone artificiel représenté dans l’image précédente par un rond, peut être vu comme un modèle linéaire. En interconnectant les neurones sous forme de couche, nous transformons notre réseau de neurones en un modèle non-linéaire très complexe.

dessin illustrant la différence entre le modèle linéaire et non linéaire
source : Machine Learnia

Pour illustrer le concept, prenons un problème de classification entre chien et chat à partir d’image. Lors de l’apprentissage, l’algorithme va ajuster les poids des neurones de façon à diminuer l’écart entre les résultats obtenus et les résultats attendus. Le modèle pourra apprendre à détecter les triangles dans une image puisque les chats ont des oreilles beaucoup plus triangulaires que les chiens.

A quoi sert le Deep Learning ?

Les modèles de Deep learning ont tendance à bien fonctionner avec une grande quantité de données alors que les modèles d’apprentissage automatique plus classique cessent de s’améliorer après un point de saturation.

à quoi sert le Deep Learning ?
source : Medium.com

Au fil des années, avec l’émergence du big data et de composants informatiques de plus en plus puissant, les algorithmes de Deep Learning gourmands en puissance et en données ont dépassé la plupart des autres méthodes. Ils semblent être prêt à résoudre bien des problèmes : reconnaître des visages, vaincre des joueurs de go ou de poker, permettre la conduite de voitures autonomes ou encore la recherche de cellules cancéreuses.

L'IA dans le monde professionnel

Presque toutes les industries sont affectées par l’IA. Le Machine learning et le Deep Learning y jouent un grand rôle.  Que vous soyez un professionnel de la santé ou un avocat, il est possible qu’un jour un modèle hautement autonome vous assiste ou même vous remplace. Dans les métiers de la santé, il existe déjà des applications pour automatiquement diagnostiquer un patient.  
Détection automatique d'une fracture à l'aide du Deep Learning
Détection automatique d’une fracture à l’aide du Deep Learning
Les métiers de l’automobile sont également bousculés avec l’arrivé de la conduite assistée. deep learning
C’est aussi grâce au deep Learning que le modèle Alpha Go de Google a réussi à battre les meilleurs champion de Go en 2016. Le moteur de recherche du géant américain est lui-même de plus en plus basé sur l’apprentissage par deep Learning plutôt que sur des règles écrites.
Aujourd’hui le deep Learning est même capable de « créer » tout seul des tableaux de peintre. C’est ce qu’on appelle le Style Transfer. Si ce sujet vous intéresse, un article entièrement consacré à ce thème arrive bientôt sur notre blog ! 
style transfer deep learning
Transfert de style
Dans la suite, nous allons vous présenter les réseaux de neurones avec une approche inédite, on espère que ça vous plaira ! 

Le Deep Learning comme solution dans le e-commerce

Il est évident que le secteur du commerce électronique génère de grandes quantités de données. Les entreprises, les commerçants et les distributeurs sont conscients que les solutions de Big Data pour gérer leurs opérations rendront leur activité plus précieuse. Malgré l’irruption de toutes ces solutions innovantes, le Big Data peut représenter une bénédiction ou une malédiction, selon la façon dont il est utilisé et appliqué.

La révolution de l’intelligence artificielle vise à faciliter la gestion de cette énorme quantité de données, grâce à des technologies intelligentes comme le Deep learning. Elle est essentielle, car elle fournit des éléments pour une meilleure analyse des données.

Dans un cas pratique, l’analyse par l’IA permet à une boutique en ligne de proposer plus facilement des produits intéressants à ses clients, de mettre en évidence leurs préférences et de leur apporter une attention personnalisée. Pour ce faire, le Deep learning automatise ce que l’on appelle l’analyse prédictive. Grâce à cette dernière, les clients peuvent recevoir des suggestions lors d’un achat.

L’apprentissage profond définit un style lorsqu’il s’agit de faire du commerce électronique. En effet, il ne s’agit pas de créer des sites en ligne qui attirent de grandes proportions d’acheteurs. L’objectif est d’envoyer des messages clairs et individualisés à chacun d’eux.

Le Big Data est soumis à une analyse approfondie grâce au Deep learning, ce qui conduit à faciliter le processus d’achat des clients. Les algorithmes d’apprentissage en profondeur aident l’entreprise à obtenir une meilleure expérience et à garder une trace de ceux qui ont visité son site.

L’apprentissage profond arrive pour faciliter l’expansion du commerce électronique. Les ventes en ligne sont stimulées par les tendances technologiques telles que les chatbots.

D’une certaine manière, le Deep Learning redéfinit le commerce en ligne et on n’est qu’aux balbutiements. Par conséquent, ceux qui l’adoptent auront plus d’avantages.

Deep Learning et réseaux de neurones : biologiques ou artificiels ? Même combat

Avant de s’attaquer au fonctionnement précis des réseaux de neurones, on s’est dit qu’il serait intéressant de faire un parallèle avec les neurones biologiques

(Pas de panique, un article dédié aux réseaux de neurones utilisés en Deep Learning suivra )

Neurone Biologique : Structure et rôle

Le système nerveux est composé de milliards de cellules : c’est un réseau de neurones biologiques. En effet, les neurones ne sont pas indépendants les uns des autres, ils établissent entre eux des liaisons et forment des réseaux plus ou moins complexes.

 Le neurone biologique est composé de trois parties principales :

  • Le corps cellulaire composé du centre de contrôle traitant les informations reçues par les dendrites.
  • Les dendrites sont les principaux fils conducteurs par lesquels transitent l’information venue de l’extérieur
  • L’axone est fil conducteur qui conduit le signal de sortie du corps cellulaire vers d’autres neurones.
neurone
Source : Research Gate

Quant aux synapses, elles font effet de liaison et de pondération entre neurones et permettent donc aux neurones de communiquer entre eux.

neurones biologique
Source : Studdy

Quel est le lien entre les neurones biologiques et neurones artificiels ?

En résumé :

Les neurones biologiques disposent d’un centre de contrôle (appelé cellule somatique) faisant la somme des informations recueillies par les dendrites. Ensuite, le centre de contrôle retourne un potentiel d’action en suivant les règles suivantes :

  • Si la somme en entrée ne dépasse pas le seuil d’excitation : pas de message nerveux via l’axone.
  • Si la somme en entrée dépasse le seuil d’excitation : un message nerveux est émis via l’axone (c’est l’idée, mais en réalité un peu plus compliqué).

Procédons à une comparaison simple des étapes principales de l’algorithme du perceptron avec les éléments constitutifs des neurones biologiques. Ce choix d’algorithme se justifie car il se rapproche au mieux du fonctionnement des neurones biologiques :

  • Les synapses/dendrites : pondération de chaque élément en entrée wixi
  • Corps cellulaires : application d’une fonction d’activation f à la somme des entrées pondérées
  • Axone : sortie de notre modèle
formule
neuron
Source : Datacamp

Le vocabulaire spécifique à cet algorithme est le suivant :

  • Le vecteur w porte le nom de vecteur de poids (qui s’ajuste lors de l’entraînement).
  • Le vecteur x  porte le nom de vecteur d’entrée.

f porte le nom de fonction d’activation.

Pour la plupart des fonctions d’activations, le perceptron consiste à trouver l’hyperplan séparateur (définie par w) entre nos deux classes :

algorithme de Perceptron
Source: Computer Science University of Toronto

L’algorithme de Perceptron simple n’est plus utilisé en pratique puisque d’autres algorithmes comme le Support Vector Machine sont bien plus performants. De même, les neurones biologiques ne sont pas utilisés individuellement, ils sont généralement reliés à d’autres neurones.

L’intérêt de l’algorithme du Perceptron vient d’une technique démontrée en 1989 par George Cybenko qui consiste à lier et empiler des couches de perceptron pour apporter une plus grande complexité. Un algorithme de ce type s’appelle Perceptron Multicouche (Multilayer Perceptron en anglais), souvent abrégé par l’acronyme MLP.

Perceptron Multicouche

Dans la figure précédente, le modèle consiste à classifier (en 10 classes) des images de chiffres manuscrits. Les carrés verts sont les entrées de notre modèle, les perceptrons sont représentés par des ronds gris et les liaisons sont représentées par les flèches.

En général, la dernière couche de notre modèle permet de mettre en forme le résultat souhaité. Ici, comme nous avons un problème de classification, nous recherchons alors à prédire la probabilité de chaque classe (chiffre 0, chiffre 1 …). C’est pour cet raison que la dernière couche possède 10 neurones puisqu’il y a 10 classes, et une fonction d’activation « softmax » permettant de retourner une probabilité.

C’est beaucoup plus libre pour les autres couches de notre modèle, il est surtout très important que les fonctions d’activations des perceptrons soient non-linéaires pour complexifier son modèle. En pratique, les fonctions d’activations tanh ou ReLU sont les plus utilisées.

Comme dans les LEGO, c’est au Data Scientist de choisir l’architecture de son modèle.

Perceptron lego
Source : Freelug
Il existe des architectures plus performante que d’autre, mais il n’y a pas vraiment de règle mathématique derrière. C’est l’expérience qui prime sur le choix des structures de modèle.

Article 1 : Introduction au Deep Learning et aux réseaux de neurones

Article 2 : Convolutional Neural Network

Article 3 : Fonctionnement des réseaux de neurones 

Article 4 : Transfer Learning 

Sources

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?