Tutoriel d'apprentissage profond pour les débutants : bases du réseau de neurones

⚡ Résumé intelligent

L'apprentissage profond est une branche de l'apprentissage automatique qui repose sur des réseaux neuronaux artificiels empilant de nombreuses couches cachées, de sorte que chaque couche apprend une caractéristique plus riche des données que la couche précédente.

  • (I.e. Architecture en couches : Un réseau est composé d'une couche d'entrée, de deux couches cachées ou plus et d'une couche de sortie.
  • ☑️ Signal force: Le poids, le biais et la fonction d'activation déterminent ce que chaque neurone transmet à la couche suivante.
  • Boucle biphasée : Une transformation non linéaire produit un modèle, puis une méthode basée sur la dérivée l'améliore, et ce, jusqu'à ce que la précision soit acceptable.
  • 🧪 Quatre architectures : Réseaux à propagation directe, réseaux récurrents, réseaux convolutionnels et agents d'apprentissage par renforcement.
  • Où cela porte ses fruits : Évaluation du crédit en finance, sélection des candidats en RH, analyse des sentiments dans les centres d'appels en marketing.
  • ⚙️ Les véritables limites : Le coût de l'étiquetage, l'appétit pour d'énormes ensembles de données et les modèles qui résistent aux explications en langage clair.

Tutoriel d'apprentissage profond pour les débutants : bases du réseau de neurones

Qu'est-ce que le Deep Learning?

L'apprentissage profond est un logiciel informatique qui imite le réseau de neurones du cerveau. Il s'agit d'un sous-ensemble de machine learning Il repose sur des réseaux de neurones artificiels avec apprentissage de représentations. On l'appelle apprentissage profond car il utilise des réseaux de neurones profonds. Cet apprentissage peut être supervisé, semi-supervisé ou sans surveillance.

Les algorithmes d'apprentissage profond sont construits avec des couches connectées, comme le montre le schéma ci-dessous.

  • La première couche est appelée la couche d'entrée
  • La dernière couche est appelée la couche de sortie
  • Toutes les couches intermédiaires sont appelées couches cachées. Le terme « profond » signifie que le réseau relie des neurones sur plus de deux couches.
Schéma d'un réseau neuronal profond montrant une couche d'entrée, deux couches cachées de neurones et une couche de sortie
Couche d'entrée, couches cachées et couche de sortie, avec des connexions entre les neurones individuels

Chaque couche cachée est composée de neurones. Ces neurones sont interconnectés. Un neurone traite le signal d'entrée qu'il reçoit, puis transmet le résultat à la couche supérieure. L'intensité du signal transmis à un neurone de la couche suivante dépend de son poids, de son biais et de sa fonction d'activation.

Le réseau consomme de grandes quantités de données d'entrée et les traite à travers plusieurs couches, ce qui lui permet d'apprendre des caractéristiques de plus en plus complexes des données à chaque couche.

Processus d'apprentissage profond

Un réseau neuronal profond offre une précision optimale dans de nombreuses tâches, de la détection d'objets à la reconnaissance vocale. Ces réseaux peuvent apprendre automatiquement, sans connaissances prédéfinies explicitement codées par les programmeurs. En pratique, un projet d'apprentissage profond se déroule en cinq étapes :

  • Comprendre le problème
  • Identifier les données
  • Sélectionnez un algorithme d'apprentissage profond
  • Former le modèle
  • Tester le modèle
Processus d'apprentissage profond en cinq étapes, de la compréhension du problème au test du modèle

Les cinq étapes d'un projet d'apprentissage profond, de la définition du problème aux tests

Pour comprendre le concept d'apprentissage en profondeur, imaginons une famille avec un bébé et ses parents. Le tout-petit désigne les objets du doigt et dit toujours « chat ». Soucieux de son apprentissage, ses parents lui répètent sans cesse « Oui, c'est un chat » ou « Non, ce n'est pas un chat ». Le bébé continue de désigner les objets, mais son identification des « chats » devient de plus en plus précise. Au fond de lui, il ne sait pas pourquoi il est capable de dire si un objet est un chat ou non. Il a simplement appris à hiérarchiser les caractéristiques d'un chat, en observant l'animal dans son ensemble, puis en se concentrant sur des détails comme la queue ou le nez avant de se décider.

Un réseau de neurones fonctionne de manière assez similaire. Chaque couche représente un niveau de connaissance plus profond, c'est-à-dire une hiérarchie de connaissances. Un réseau de neurones à quatre couches apprendra des caractéristiques plus complexes qu'un réseau à deux couches.

L'apprentissage se déroule en deux phases :

  • Première phase: appliquer une transformation non linéaire de l'entrée et créer un modèle statistique en sortie.
  • Seconde phase: améliorer le modèle avec une méthode mathématique basée sur les dérivées, c'est-à-dire comment rétropropagation ajuste les poids.

Le réseau neuronal répète ces deux phases des centaines, voire des milliers de fois, jusqu'à atteindre un niveau de précision acceptable. Chaque répétition des deux phases est appelée une itération.

Pour illustrer l'apprentissage profond, regardez l'animation ci-dessous : le modèle tente d'apprendre à danser. Après 10 minutes d'entraînement, il ne sait toujours pas danser et son résultat ressemble à un gribouillis.

Figure animée se déplaçant de manière erratique après dix minutes d'entraînement en apprentissage profond

Après 48 heures d'apprentissage, l'ordinateur maîtrise l'art de la danse, comme le montre la deuxième animation.

Figure animée dansant avec fluidité après quarante-huit heures d'entraînement en apprentissage profond

Classification des réseaux de neurones

Les réseaux sont d'abord regroupés par nombre de couches cachées.

Réseau neuronal superficiel : Le réseau neuronal superficiel ne possède qu'une seule couche cachée entre l'entrée et la sortie.

Réseau neuronal profond : Les réseaux neuronaux profonds comportent plusieurs couches cachées. Par exemple, le modèle GoogLeNet pour la reconnaissance d'images compte 22 couches.

Aujourd'hui, l'apprentissage profond est présent dans les voitures autonomes, les téléphones portables, etc. Google Moteur de recherche, détection des fraudes et télévision.

Types de réseaux d'apprentissage profond

Plusieurs architectures se sont imposées comme standards, chacune étant adaptée au type de données qu'elle traite. Le graphique ci-dessous, publié par l'Institut Asimov, présente un aperçu de cette famille d'architectures.

Tableau des architectures de réseaux de neurones, notamment le perceptron, le réseau à propagation avant, le RBF, le RNN, le LSTM, le GRU et les auto-encodeurs.

Tableau des architectures de réseaux neuronaux, du perceptron simple aux variantes LSTM, GRU et auto-encodeur

Réseaux de neurones à action directe

Il s'agit du type le plus simple de réseau de neurones artificiels. Dans cette architecture, l'information circule dans un seul sens, vers l'avant. Autrement dit, le flux d'informations part de la couche d'entrée, passe par les couches cachées et se termine à la couche de sortie. Le réseau ne comporte pas de boucle et l'information s'arrête à la couche de sortie.

Réseaux de neurones récurrents (RNN)

An RNN Un RNN est un réseau neuronal multicouche capable de stocker des informations dans des nœuds de contexte, ce qui lui permet d'apprendre des séquences de données et de produire un nombre ou une autre séquence. En d'autres termes, il s'agit d'un réseau neuronal artificiel dont les connexions entre les neurones forment des boucles. Les RNN sont particulièrement adaptés au traitement de séquences d'entrées, car la sortie est réinjectée dans le réseau sous forme de mémoire.

Schéma fonctionnel d'un réseau neuronal récurrent avec la sortie réinjectée dans le réseau en tant que mémoire

Un RNN renvoie sa sortie à lui-même, ce qui lui confère sa mémoire.

Par exemple, si la tâche consiste à prédire le mot suivant dans la phrase « Voulez-vous un… ? », le réseau procède comme suit :

  • Les neurones du RNN reçoivent un signal qui indique le début de la phrase.
  • Le réseau reçoit le mot « Faire » en entrée et produit un vecteur de nombres. Ce vecteur est réinjecté dans le réseau pour lui fournir une mémoire. Cette étape permet au réseau de se souvenir qu'il a reçu « Faire » et qu'il l'a reçu en première position.
  • Le réseau procède de la même manière pour les mots suivants. Il prend d'abord le mot « you », puis « want ». L'état des neurones est mis à jour à la réception de chaque mot.
  • La dernière étape intervient après la réception du mot « a ». Le réseau neuronal attribue une probabilité à chaque mot anglais susceptible de compléter la phrase. Un RNN bien entraîné attribuera probablement une probabilité élevée à des mots comme « café », « drink », « burger » et autres mots similaires.

Utilisations courantes du RNN

  • Aider les négociants en valeurs mobilières à générer des rapports analytiques
  • Détecter les anomalies dans les états financiers
  • Détecter les transactions frauduleuses par carte de crédit
  • Fournir une légende pour les images
  • Tuning Moteur Chatbots
  • Les RNN sont généralement utilisés lorsque les praticiens travaillent avec des données ou des séquences de séries temporelles, par exemple des enregistrements audio ou du texte.

Réseaux de neurones convolutifs (CNN)

A CNN est un réseau neuronal multicouche doté d'une architecture unique conçue pour extracLes CNN utilisent des caractéristiques de plus en plus complexes des données à chaque couche pour déterminer la sortie. Les CNN sont particulièrement adaptés aux tâches perceptives.

Architecture CNN avec étapes d'apprentissage des caractéristiques par convolution, ReLU et pooling, suivies d'une classification par aplatissement, connexion complète et softmax

Apprentissage de caractéristiques par convolution, ReLU et pooling ; classification par aplatissement, architecture entièrement connectée et softmax

Les réseaux de neurones convolutifs (CNN) sont principalement utilisés lorsqu'il s'agit d'ensembles de données non structurés, tels que des images, et que les praticiens ont besoin d'extract informations à partir de celui-ci.

Par exemple, si la tâche consiste à prédire une légende d’image :

  • Le réseau de neurones convolutif (CNN) reçoit l'image, par exemple, d'un chat. En termes informatiques, cette image est un ensemble de pixels : généralement une seule couche pour une image en niveaux de gris et trois couches pour une image en couleur.
  • Lors de la phase d'apprentissage des caractéristiques, c'est-à-dire dans les couches cachées, le réseau identifie des caractéristiques uniques, par exemple la queue du chat ou l'oreille.
  • Une fois que le réseau a parfaitement appris à reconnaître une image, il peut fournir une probabilité pour chaque classe d'image qu'il connaît. L'étiquette ayant la probabilité la plus élevée devient la prédiction du réseau.

Apprentissage par renforcement

Apprentissage par renforcement L'apprentissage profond est un sous-domaine de l'apprentissage automatique où les systèmes sont entraînés en recevant des « récompenses » ou des « punitions » virtuelles, apprenant essentiellement par essais et erreurs. Il s'agit d'un paradigme d'apprentissage plutôt que d'une structure de réseau, mais ses algorithmes modernes sont construits sur des réseaux profonds. GoogleDeepMind a utilisé l'apprentissage par renforcement pour vaincre un champion humain au jeu de go. L'apprentissage par renforcement est également utilisé dans les jeux vidéo pour améliorer l'expérience de jeu grâce à des bots plus performants.

Voici quelques-uns des algorithmes les plus célèbres :

  • Q-apprentissage
  • Réseau Q profond
  • État-Action-Récompense-État-Action (SARSA)
  • Gradient politique déterministe profond (DDPG)

Le tableau ci-dessous récapitule les cas d'utilisation de chaque architecture.

Architecture Les données qu'il convient Caractéristique distinctive Tâche typique
Anticipation Entrée tabulaire de longueur fixe Pas de boucles ; l'information ne circule que vers l'avant. Notation et classification simple
Récurrent (RNN) Séquences et séries temporelles Les nœuds de contexte lui confèrent de la mémoire Prédiction de texte, audio, prévision
Réseau de neurones convolutif (CNN) Données non structurées de type grille Convolution et pooling extracfonctionnalités Classification et légende d'images
Apprentissage par renforcement Un environnement, pas un ensemble de données Apprend des récompenses et des punitions Agents de jeu, robotique, contrôle

Exemples d'applications d'apprentissage profond

Ces architectures sont déjà utilisées en production dans des secteurs d'activité très différents :

L'IA dans la finance

Le secteur des technologies financières a déjà commencé à utiliser l'IA pour gagner du temps, réduire les coûts et créer de la valeur. L'apprentissage profond transforme le secteur du crédit grâce à une notation plus fiable. Les décideurs en matière de crédit peuvent utiliser l'IA pour les demandes de prêt afin d'obtenir une évaluation des risques plus rapide et plus précise, en exploitant l'intelligence artificielle pour prendre en compte le profil et la capacité des demandeurs.

Underwrite est une entreprise fintech qui propose une solution d'IA pour les décideurs en matière de crédit. underwrite.ai utilise l'IA pour identifier les emprunteurs les plus susceptibles de rembourser un prêt, une approche que l'entreprise affirme plus performante que les systèmes d'évaluation traditionnels.

L'IA en RH

Under Armour, une entreprise de vêtements de sport, revolutUnder Armour a ionisé son recrutement et modernisé l'expérience candidat grâce à l'IA. Face à un afflux massif de candidatures en 2012, l'entreprise recevait en moyenne plus de 30 000 candidatures par mois. Le traitement de ces dossiers, la sélection des candidats et les entretiens étaient trop longs. Cette complexité du processus d'embauche et d'intégration nuisait à la capacité d'Under Armour à disposer de personnel complet et opérationnel pour ses boutiques.

À cette époque, Under Armour disposait de toutes les technologies RH « indispensables », telles que des solutions transactionnelles pour le sourcing, les candidatures, tracUnder Armour disposait de plusieurs outils de recrutement et d'intégration, mais ces outils ne suffisaient pas. L'entreprise a choisi HireVue, un fournisseur de solutions RH basé sur l'IA, pour ses entretiens à la demande et en direct. Les résultats ont été impressionnants : Under Armour a constaté une réduction de 35 % de son délai de recrutement, tout en améliorant la qualité de ses employés.

L'IA en marketing

L'IA est un outil précieux pour relever les défis de la gestion et de la personnalisation du service client. Grâce à l'amélioration de la reconnaissance vocale dans la gestion des centres d'appels et le routage des appels, permise par l'application de techniques d'IA, l'expérience client est optimisée.

Par exemple, l'analyse audio par apprentissage profond permet aux systèmes d'évaluer le ton émotionnel d'un client. Si ce dernier réagit mal au chatbot IA, le système peut rediriger la conversation vers un opérateur humain qui prendra en charge le problème.

Outre les trois exemples d'apprentissage profond mentionnés ci-dessus, l'IA est largement utilisée dans d'autres secteurs et industries.

Pourquoi l’apprentissage profond est-il important ?

L'apprentissage profond est un outil puissant pour transformer les prédictions en résultats concrets. Il excelle notamment dans la découverte de modèles et la prédiction basée sur les connaissances. Big données est le carburant de l'apprentissage en profondeur. Lorsque les deux sont combinés, une organisation peut obtenir des résultats en matière de productivité, de ventes, de gestion et d'innovation qui étaient auparavant hors de portée.

L'apprentissage profond peut également surpasser les méthodes traditionnelles. En particulier pour les problèmes de perception, les réseaux profonds dominent depuis des années : la classification d'images, la reconnaissance vocale et la reconnaissance faciale sont toutes largement dominées par les architectures profondes, les modèles de reconnaissance faciale atteignant une précision proche de 99 % sur les jeux de données publics standard. Ce gain provient du fait que le réseau apprend ses propres caractéristiques plutôt que de s'appuyer sur des caractéristiques conçues manuellement.

Limites de l'apprentissage en profondeur

Ces résultats ont un coût réel.

Étiquetage des données

La plupart des modèles d'IA actuels sont entraînés par apprentissage supervisé. Cela signifie que les humains doivent étiqueter et catégoriser les données sous-jacentes, une tâche qui peut s'avérer considérable et sujette aux erreurs. Par exemple, les entreprises développent…ping Les technologies de conduite autonome emploient des centaines de personnes pour annoter manuellement des heures de flux vidéo provenant de véhicules prototypes afin d'entraîner ces systèmes.

Obtenez d’énormes ensembles de données de formation

Il a été démontré que les techniques d'apprentissage profond, comme les réseaux de neurones convolutifs (CNN), peuvent, dans certains cas, imiter les connaissances des experts en médecine et dans d'autres domaines. Cependant, cette nouvelle vague d'apprentissage automatique nécessite des ensembles de données d'entraînement non seulement étiquetés, mais aussi suffisamment vastes et universels.

Les méthodes d'apprentissage profond nécessitent des milliers d'observations pour que les modèles atteignent des performances relativement bonnes en matière de classification, et parfois des millions pour rivaliser avec les humains. Sans surprise, l'apprentissage profond est surtout répandu dans les géants de la technologie, qui exploitent le big data pour accumuler des pétaoctets d'exemples. Cette échelle leur permet de créer des modèles d'apprentissage profond impressionnants et d'une grande précision.

Expliquer un problème

Les modèles vastes et complexes peuvent être difficiles à expliquer en termes humains, par exemple pour comprendre le raisonnement derrière une décision particulière. C'est l'une des raisons pour lesquelles l'acceptation de certains modèles complexes est parfois difficile. l'intelligence artificielle L'outil est lent dans les domaines d'application où l'interprétabilité est utile, voire nécessaire.

En outre, à mesure que les applications de l’IA se développent, les exigences réglementaires pourraient également nécessiter des modèles d’IA plus explicables.

FAQ

Classical machine learning Il nécessite des caractéristiques conçues manuellement et fonctionne bien avec de petits ensembles de données tabulaires. L'apprentissage profond apprend lui-même les caractéristiques à partir de données brutes non structurées, mais requiert beaucoup plus d'exemples et de puissance de calcul.

Elle introduit une non-linéarité, permettant ainsi aux couches empilées de modéliser des frontières de décision courbes au lieu de se réduire à une seule étape linéaire. La fonction ReLU est généralement utilisée par défaut dans les couches cachées ; les fonctions sigmoïde et softmax permettent de modeler la sortie.

La rétropropagation mesure la contribution de chaque poids à l'erreur, puis remonte le gradient à travers les couches afin que chaque poids soit ajusté dans la direction qui minimise la perte. C'est la deuxième phase du processus.

Une époque correspond à un passage complet sur les données d'entraînement. La taille du lot détermine le nombre d'échantillons traités par le réseau avant la mise à jour des poids. Le taux d'apprentissage contrôle l'ampleur de chaque mise à jour de poids.

Les Transformers, introduits en 2017, remplacent la récurrence par l'attention, permettant à chaque jeton d'examiner tous les autres simultanément. Grâce à leur fonctionnement en parallèle, ils offrent une scalabilité bien supérieure à celle des RNN et dominent désormais le traitement du langage et la vision par ordinateur.

L'entraînement consiste principalement en des multiplications de grandes matrices, que les GPU exécutent en parallèle avec une très large bande passante mémoire. Le passage d'un CNN ou d'un transformeur du CPU à un seul GPU d'entraînement permet généralement d'obtenir des gains de vitesse considérables.

Les outils de recherche d'architectures neuronales et d'apprentissage automatique (AutoML) testent différents nombres de couches, largeurs et hyperparamètres, puis retiennent la solution la plus performante. Ils réduisent considérablement le travail manuel, même si l'objectif et le budget de calcul restent définis par un utilisateur.

Copilote GitHub brouillons TensorFlow et PyTorCréez des boucles d'entraînement à partir d'une brève invite. Vérifiez vous-même la forme des entrées, la fonction de perte et la graine, car le code généré par défaut contient souvent des erreurs à ce niveau.

Résumez cet article avec :