Comprendre l'intelligence artificielle: l'apprentissage (training)
Intelligence artificielle (IA) et apprentissage automatique (machine learning) sont des termes utilisés de manière informelle pour désigner la capacité d’une machine à imiter les fonctions cognitives humaines, comme la perception, le raisonnement et la résolution de problèmes.
En étant capable de reproduire dans une certaine mesure la pensée humaine, l’IA peut assumer diverses tâches dans de nombreux domaines d’application. Ainsi, sa capacité à reconnaître des images constitue une aide précieuse dans la pose de diagnostics médicaux ou dans le domaine de la surveillance et de la sécurité. La liste des domaines d’applications de l’IA ne cesse de s’allonger : reconnaissance vocale, traduction, recherche et développement dans le secteur pharmaceutique, détection des fraudes dans le secteur de la finance, etc. Avec l’avènement de l’Internet des objets (IoT), l’IA est une technologie incontournable pour assurer le bon fonctionnement d’appareils connectés comme les véhicules autonomes, les robots chirurgicaux et les drones militaires.
L’apprentissage profond (deep learning) est un type de machine learning directement inspiré par la manière dont fonctionne notre cerveau. Il s’agit en l’occurrence de convertir des images, de la voix ou du texte en nombres, puis d’analyser ces nombres en y appliquant plusieurs « couches » de manipulations mathématiques (d’où l’épithète « profond »). Dans ce processus, les couches d’analyse forment une hiérarchie de concepts ou un système de « réflexion » capable de déconstruire les données d’entrée et d’identifier les tendances ou les modèles sous-jacents. Le mode de fonctionnement du deep learning diffère cependant en plusieurs points de celui de notre cerveau. Par exemple, le cerveau possède plusieurs types de neurones et de zones de fonctionnement, tandis que le deep learning ne se focalise pour le moment que sur la catégorisation des informations, mais avec le plus haut degré de précision possible.
Le processus d’apprentissage
Tout comme l’être humain, l’IA doit passer par une phase d’apprentissage avant de pouvoir réaliser une tâche. Le cerveau humain se base sur des facteurs externes en vue de construire des systèmes de pensée qu’il pourra utiliser pour résoudre des problèmes qu’il n’a pas encore rencontrés. Pour ce qui est du machine learning, un algorithme – c’est-à-dire un processus de résolution de problème ou un ensemble de règles – se base sur des données pour générer des modèles (ou un ensemble de
paramètres, comme des poids et des biais) qui lui permettront d’améliorer autant que possible l’efficacité et la précision des prochains processus de résolution de problèmes. Dans le présent article, nous expliquons comment former les machines à « l’auto-apprentissage ».
Il existe de nombreux types d’apprentissages que l’on peut toutefois diviser en six catégories clés :
- Apprentissage supervisé
- Apprentissage par transfert
- Apprentissage non supervisé
- Apprentissage semi-supervisé
- Apprentissage ensembliste
- Apprentissage par renforcement
Apprentissage supervisé
Lorsqu’un élève apprend sous la supervision d’un professeur, ce dernier doit s’assurer que l’élève apprend de façon correcte et que son raisonnement est fondé. Il en va de même pour l’apprentissage supervisé. L’algorithme fonde son apprentissage sur un ensemble complet de données étiquetées avec des réponses tout en recevant en continu un feed-back sur l’exactitude de ses solutions. L’apprentissage supervisé s’avère utile pour des tâches qui consistent à catégoriser ou évaluer des relations entre des variables (régression) et trouve des applications diverses comme l’identification d’activités frauduleuses au sein de systèmes financiers ou la reconnaissance de visages, de voix, de gestes, d’écritures ou d’objets.
Les réseaux neuronaux constituent de bons exemples d’apprentissage supervisé. Ils se composent d’une couche d’entrée, d’une ou de plusieurs couches intermédiaires (ou « cachées ») et d’une couche de sortie. Des signaux – par exemple des images, des sons ou des textes – sont convertis en nombres au niveau de la couche d’entrée. Ces nombres sont ensuite traités dans les couches intermédiaires et de sortie.
Les réseaux de neurones les plus courants sont les réseaux neuronaux convolutifs (CNN) et les réseaux neuronaux récurrents (RNN). Un CNN extrait des caractéristiques d’un signal d’entrée (par exemple des fichiers vocaux ou des fichiers d’image) tout en préservant la relation spatiale entre les caractéristiques en vue d’une analyse plus approfondie. Les CNN se montrent particulièrement efficaces dans le domaine de la vision par ordinateur comme la reconnaissance faciale et vocale. Ils conviennent notamment à l’exploitation de voitures autonomes, où la reconnaissance d’image s’avère indispensable pour identifier les autres véhicules, les piétons ou les obstacles routiers à proximité et pour alerter le véhicule autonome de tout danger potentiel.
Dans un réseau neuronal récurrent (RNN), les données de sortie d’une couche de traitement sont renvoyées à la couche dont elles provenaient initialement, mais cette fois-ci en tant que données d’entrée servant à la correction. Ainsi, si la prédiction se révèle fausse, le système apprend de ses erreurs pour améliorer les prochaines prédictions. Ce type de RNN est d’une efficacité redoutable dans des applications telles que la conversion de texte en parole. Les RNN sont principalement utilisés lorsque l’on a affaire à des entrées longues et très contextualisées, comme des phrases contenant des mots polysémiques (qui ont plusieurs sens, par exemple « grue », qui peut être, selon le contexte, une machine de construction ou une espèce d’oiseaux) ou des fichiers audio contenant des homophones (des mots différents qui se prononcent de la même manière, par exemple « c’est » et « ses »).
Enfin, les tâches complexes et à grande échelle peuvent nécessiter un réseau neuronal modulaire (MNN). Celui-ci se compose de différents réseaux agissant individuellement pour effectuer des sous-tâches. Comme ils fonctionnent de façon autonome, ces réseaux n’interfèrent pas entre eux, ce qui augmente la vitesse globale de calcul.
Apprentissage par transfert
L’apprentissage supervisé nécessite un vaste ensemble de données entièrement étiquetées. Or, assembler de grands ensembles de données complets pour chaque application spécifique est une tâche difficile et souvent peu pratique. L’apprentissage par transfert permet de pallier l’absence d’ensembles de données spécifiques et complets en réutilisant les couches d’entrée et intermédiaire d’un modèle entraîné avec un ensemble de données (c.-à-d. un modèle préentraîné). Ainsi, le modèle n’a besoin que des couches finales pour se réentraîner en vue de la prochaine tâche. Les paramètres du modèle préentraîné sont utilisés au départ, mais ils sont ensuite ajustés tout au long de l’entraînement afin d’obtenir une précision maximale. Parce qu’il évite de devoir réentraîner toutes les couches à partir de zéro, l’apprentissage par transfert permet de réduire considérablement le temps global d’entraînement pour chaque application spécifique.
Il existe de nombreux modèles préentraînés, dont les plus populaires sont (entre autres) l’ensemble de données Mask R-CNN pour la segmentation d’instances d’objets, YOLOv2 pour la détection d’objets, le modèle VGG-Face pour la reconnaissance faciale, le modèle Keras VGG-16 pour classer les tomates selon leur maturité et l’ensemble de données Stanford Car pour la classification des voitures. Si l’apprentissage par transfert pallie le manque d’ensembles de données complets et uniques, il présente toutefois aussi des inconvénients. Ce type d’apprentissage doit être réalisé lentement afin d’éviter toute distorsion et il est limité par les paramètres préexistants dans l’ensemble de données préentraîné.
Apprentissage non supervisé
Dans un apprentissage non supervisé, l’algorithme essaie d’extraire des caractéristiques d’un ensemble de données non étiquetées – il peut s’agir d’exemples ou de signaux avec divers attributs – afin de trouver les modèles sous-jacents sans nécessiter d’instructions explicites. De ce fait, l’apprentissage non supervisé est très utilisé pour déterminer l’association entre des caractéristiques ou des attributs par regroupement (clustering). Par exemple, une bonne compréhension des associations peut aider à prédire quels autres produits un client pourrait aimer en fonction de ses achats précédents. L’apprentissage non supervisé est également capable d’organiser les données différemment en fonction de la question posée. Par conséquent, poser la bonne question, ou poser une question de la bonne manière, revêt une plus grande importance dans l’apprentissage non supervisé que dans d’autres types d’apprentissages.
Apprentissage semi-supervisé
Dans l’apprentissage semi-supervisé, l’algorithme s’entraîne avec des ensembles de données partiellement étiquetés. Un exemple pratique d’application est l’identification de tumeurs dans des tomodensitogrammes ou des images IRM. Faire étiqueter un petit sous-ensemble de tumeurs par un radiologue qualifié permet d’améliorer significativement la précision de l’algorithme par rapport à la méthode non supervisée, ce qui améliore à son tour les statistiques relatives aux diagnostics.
Apprentissage ensembliste
Cette méthode d’apprentissage combine plusieurs algorithmes afin d’obtenir des prédictions plus précises qu’en utilisant un algorithme unique. Un exemple célèbre d’application de cette méthode fut à l’occasion du prix Netflix en 2006. Sur la base des informations sur la façon dont la moitié des utilisateurs dans un ensemble de données ont évalué un grand nombre de films, des équipes concurrentes avaient pour tâche de prédire comment l’autre moitié des utilisateurs évaluerait les mêmes films. Grâce à la méthode ensembliste, l’équipe gagnante a réussi à battre l’algorithme développé et utilisé par Netflix.
Apprentissage par renforcement
L’apprentissage par renforcement analyse en permanence les signaux provenant de son environnement pour calculer la façon d’atteindre la meilleure possibilité de prochaine étape. Les domaines d’application de cette méthode sont principalement le contrôle de problèmes ou les jeux comme les échecs ou le jeu de go. L’apprentissage par renforcement fut par exemple utilisé à la fin des années 90 par l’ordinateur
IBM Deep Blue pour se mesurer contre le champion du monde d’échecs Garry Kasparov, puis en 2018 par AlphaGo pour battre Lee Sedol, l’un des meilleurs joueurs de go au monde.
Machine Learning : dans le cloud ou à la périphérie?
Traditionnellement, le machine learning pour les applications industrielles se fait dans un lieu physique – un centre de données – ou virtuel – le cloud – où la capacité de traitement et l’alimentation électrique sont suffisantes. Or, l’avènement de l’IoT remet ce modèle en question. Les appareils connectés éloignés du cloud central (soit «en périphérie») collectent en permanence une grande quantité de données. Le transfert de ces données vers le cloud central à des fins d’apprentissage, puis leur repropagation vers la périphérie est un processus non seulement coûteux, mais aussi très long. Le temps de latence que cela implique rend impossible la réalisation d’opérations nécessitant une prise de décision en temps réel (c.-à-d. des inférences), par exemple dans les véhicules autonomes ou les drones militaires. De plus, le transfert de données comporte des risques pour la sécurité et l’intégrité des données.
Une façon de résoudre ce problème consiste à déplacer le machine learning à la périphérie. Ce modèle présente cependant aussi quelques inconvénients. Un premier exemple de problème est l’alimentation en énergie. En effet, les appareils de l’IoT sont généralement alimentés par de petites batteries et peuvent être installés dans des endroits peu accessibles, de sorte qu’il est difficile (voire impossible) de les recharger. De plus, la capacité de traitement d’un objet connecté peut s’avérer insuffisante pour la réalisation de tâches de machine learning. Il faut dans ce cas améliorer le matériel afin de rendre le machine learning à la périphérie possible. En deuxième partie de cette série, nous verrons quelles sont les exigences matérielles pour le machine learning à la périphérie pour des applications industrielles comme pour l’Internet des objets.
www.mouser.com
Mark Patrick ~
Technical Marketing Manager
EMEA Marketing
As Mouser Electronics’ Technical Marketing Manager for EMEA, Mark Patrick is responsible for the creation and circulation of technical content within the region — content that is key to Mouser’s strategy to support, inform and inspire its engineering audience.
Prior to leading the Technical Marketing team, Patrick was part of the EMEA Supplier Marketing team and played a vital role in establishing and developing relationships with key manufacturing partners.
In addition to a variety of technical and marketing positions, Patrick’s previous roles include eight years at Texas Instruments in Applications Support and Technical Sales.
A “hands-on” engineer at heart, with a passion for vintage synthesizers and motorcycles, he thinks nothing of carrying out repairs on either. Patrick holds a first class Honours Degree in Electronics Engineering from Coventry University.