Skip to main content

Intelligence artificielle : de la science-fiction jusqu'à Alexa

Marcelo Andrieu, Technical Product Marketing Manager
March 13, 2018

Pour les fans de science-fiction tels que moi, l'intelligence artificielle (IA) a toujours occupé une place de choix dans notre imagination. En tant que sujet d'étude, l'IA est un domaine de recherche depuis le milieu des années 1950.

Depuis, elle nous a été présentée comme étant la clé de l'avenir de notre civilisation, ou, à l'inverse, comme un simple fantasme de geeks.

Toutefois, au cours des dernières années, l'IA a commencé à prendre de la vitesse. Cette évolution est principalement due à la disponibilité de capacités de calculs plus puissantes, rapides et abordables, à l'émergence de l'Internet des objets et à l'explosion des données générées sous la forme d'images, de textes, de messages, de documents, de transactions, de mappages et d'autres formats.

De nombreuses sociétés adoptent activement l'IA, notamment pour libérer les travailleurs hautement qualifiés des tâches routinières, répétitives et nécessitant peu de compétences. Ainsi, International Data corporation prédit que les dépenses dans le domaine de l'IA et de l'apprentissage automatique passeront de 8 milliards de dollars en 2016 à 47 milliards de dollars d'ici 2020.

Il suffit de regarder autour de soi pour constater la démocratisation des applications d'IA, notamment par le biais de technologies plus générales de traitement du discours et du langage naturel, ainsi que dans l'automatisation industrielle et la robotique. Les cas d'utilisation ne manquent pas :

    • les services financiers ;

    • le service clientèle ;

    • la santé ;

    • la recherche pharmaceutique ;

    • et la génomique.

Plus récemment, l'IA commence à faire ses preuves dans les tâches du savoir et dans les domaines créatifs, comme la génération d'œuvres d'art visuelles, de musique, d'images, de vidéos et de scripts de film.

De manière générale, la plupart de ces applications d'IA entrent dans la catégorie de l'« IA faible ». Il s'agit des technologies qui réalisent certaines tâches avec autant, voire plus d'efficacité que les humains, par exemple pour la classification des images sur Pinterest et la reconnaissance faciale sur Facebook.

Ces technologies mettent en évidence certains aspects de l'intelligence humaine (que je détaillerai dans quelques instants). Mais comment ? D'où vient cette intelligence ?

Commençons par le commencement : qu'est-ce que l'intelligence artificielle ?

John McCarthy, un des pères de l'IA, définit cette technologie de la manière suivante :

« La science et la technique de la création de machines intelligentes, notamment des programmes informatiques intelligents. »

En d'autres termes, il s'agit d'un moyen de pousser une machine, ou le logiciel qu'elle exécute, à réfléchir de façon intelligente et similaire à celle des humains.

L'idée est de comprendre le fonctionnement de notre cerveau, la manière dont on apprend, décide et agit face à un problème, puis d'utiliser ces informations pour développer des logiciels et des systèmes « intelligents ».

Qu'est-ce que l'intelligence ?

Dans le cadre de cet article, nous pouvons utiliser la définition de l'intelligence présentée par l'article Artificial Intelligence - Intelligent Systems (Intelligence artificielle, systèmes intelligents) :

« La capacité d'un système à calculer, à raisonner, à percevoir des relations et des analogies, à apprendre de ses expériences, à stocker et à extraire des informations de sa mémoire, à résoudre des problèmes, à comprendre des idées complexes, à utiliser avec fluidité le langage naturel, à classifier, à généraliser et à s'adapter à de nouvelles situations. »

Ainsi, quand on parle de l'intelligence de façon très simplifiée, on traite en réalité de plusieurs fonctions très complexes :

    • l'apprentissage ;

    • le raisonnement ;

    • la résolution de problèmes ;

    • la perception ;

    • et l'intelligence linguistique.

Voilà une sacrée liste. De nos jours, on considère qu'un système est « artificiellement intelligent » s'il traite au moins une de ces formes d'« intelligences ». Bien entendu, plus il couvre de domaines, mieux c'est.

L'apprentissage fait l'objet d'une attention toute particulière, car on souhaite donner à ces systèmes la possibilité d'apprendre par eux-mêmes.

Apprentissage automatique

Dans sa forme la plus basique, l'apprentissage automatique repose sur la conception de « modèles ». Les modèles sont composés d'algorithmes qui utilisent des données, apprennent à partir de celles-ci, et produisent une « inférence », ou prédiction, à propos de quelque chose en particulier.

Ainsi, plutôt que de coder des fonctions logicielles pour accomplir une tâche en particulier, la machine intelligente est « entraînée » avec des données et des modèles qui lui permettent d'apprendre à générer une inférence, une détermination, une prédiction.

À ce jour, la détection et la classification des images sont une des applications les plus abouties de l'apprentissage automatique. Auparavant, une telle fonction nécessitait beaucoup de travail de codage manuel pour bien fonctionner. Les programmeurs devaient écrire des classificateurs, dont la mission est, en toute logique, de faciliter la classification des images.

Par exemple, ils utilisaient un code de détection des bords pour identifier le début et la fin d'un objet, un code de détection des formes pour déterminer le nombre de côtés ou de segments d'un objet, ainsi que d'autres classificateurs chargés de reconnaître les lettres, les nombres et les symboles.

Avec l'aide de tous ces classificateurs, les programmateurs préparaient des algorithmes pour tenter de comprendre une image et d'arriver à la conclusion suivante : « cet objet est un panneau STOP ». Cette méthode permettait d'obtenir des résultats satisfaisants, mais elle était loin d'être infaillible. Vous voulez un exemple de ses limites ? Si la visibilité du panneau STOP est réduite à cause du brouillard ou qu'il est partiellement recouvert par une branche d'arbre, le système ne produit pas le résultat attendu. Les dangers d'une telle limitation sont évidents.

Mais un changement radical allait bientôt transformer cet état des lieux.

Apprentissage profond – des couches et des couches de neurones

Les réseaux neuronaux sont basés sur notre interprétation des connexions entre les neurones de notre cerveau. Les vrais neurones peuvent interagir avec n'importe quel neurone à portée dans n'importe quelle direction, mais les réseaux neuronaux artificiels sont structurés en couches, en connexions et en directions spécifiques dans lesquelles les données sont échangées.

Dans un réseau neuronal, les données sont intégrées à la première couche de neurones, et chaque neurone transmet les données de sortie à une deuxième couche. Celle-ci traite les informations reçues, les transmet à une troisième couche, et ainsi de suite jusqu'à la dernière couche et la génération des données finales. Chaque neurone du réseau attribue un « poids » aux données d'entrée, afin de définir leur degré de pertinence pour la tâche en cours. Le résultat final est alors déterminé par le total global de ces pondérations. Le réseau neuronal détermine un « vecteur de probabilité », une conjecture, basée sur les pondérations.

https://youtu.be/aircAruvnKk

Le réseau est « entraîné » à mesure qu'il produit des réponses correctes et incorrectes. Dans l'exemple du panneau STOP ci-dessus, il doit voir plusieurs milliers ou millions d'images, jusqu'à ce que la pondération des entrées des neurones soit suffisamment précise pour produire la bonne réponse la plupart du temps, en dépit de la pluie ou du brouillard. Le réseau neuronal a alors appris de lui-même l'apparence d'un panneau STOP, ou comment reconnaître un visage sur Facebook, un chien, un poisson ou un chat, comme dans les travaux menés par Andrew Ng chez Google.

https://www.youtube.com/watch?v=IHZwWFHWa-w

Andrew Ng a conçu des réseaux neuronaux particulièrement grands et « profonds », afin d'augmenter le nombre de neurones et de couches et de traiter d'importants volumes de données (il a utilisé plus de 10 millions d'images tirées de vidéos YouTube) avec son système pour les entraîner. D'où le terme « deep learning », traduit par l'expression « apprentissage profond ». Le résultat : des capacités de reconnaissance d'image parfois similaires, voire supérieures à celles d'un humain.

Mais le traitement des images n'est qu'un début. L'apprentissage profond a bien d'autres utilisations potentielles. De nombreux systèmes intelligents sont désormais possibles, notamment des voitures autonomes, de meilleurs soins préventifs, des recommandations de films, des systèmes experts et des agents conversationnels.

L'IA a besoin de données, beaucoup, beaucoup de données

Tout est une question de données. La puissance d'apprentissage profond de l'IA provient de sa capacité à assimiler des schémas pour de grandes quantités de données. Il est donc essentiel de comprendre les ensembles de données.

La plupart des récentes avancées en matière d'IA ont été motivées par la mise à disposition de solutions offrant une plus grande puissance de traitement, des améliorations en matière de modélisation et d'algorithmes, mais aussi au niveau des ensembles de données. Nous avons accès à une quantité massive de données. Ça, c'est la bonne nouvelle.

La mauvaise ? Dans le cadre des applications et utilisations spécifiques de l'IA, il faut distinguer les bonnes données et les mauvaises données (et oui, il existe aussi de « fausses » données…). Les ensembles de données de collecte, de classification et d'étiquetage utilisés pour former les modèles constituent aujourd'hui un élément complexe et coûteux du concept d'IA.

Il existe des outils, comme Facets, un outil de visualisation de données sources ouvertes, qui vous aide à comprendre les ensembles de données d'apprentissage automatique, leurs caractéristiques et l'interaction entre les différents éléments de données.Très souvent, les entreprises démarrent leurs projets d'IA sans comprendre l'importance de disposer de bons ensembles de données et elles confondent souvent qualité et quantité. C'est un problème qui peut s'avérer difficile à résoudre une fois au cœur du projet. Les exemples d'échecs sont nombreux, même chez les plus grands noms.

Le vif du sujet

On peut diviser un processus d'IA type en une séquence d'étapes :

    • Collecte des données

    • Préparation des données

    • Choix du modèle

    • Entraînement du modèle

    • Évaluation

    • Ajustement des paramètres

    • Inférence ou prédiction

Nous vous invitons à visionner l'excellent vidéo de Yufeng G qui décrit ce processus en 7 étapes, de manière simple et facilement compréhensible. N'hésitez pas à la consulter. Son article sur l'apprentissage automatique (et la vidéo incluse) est tout aussi passionnant à lire (et à regarder).

https://www.youtube.com/watch?v=nKW8Ndu7Mjw

Outils et frameworks

TensorFlow is probably the most popular deep learning framework today. TensorFlow is an open source library originally developed by the Google Brain Team, and the TensorFlow team has created a large number of models, many of which include trained model weights. Some great examples are the Object Detection API or tf-seq2sec for translation services. The Tensorflow Image Recognition Tutorial and Tensorflow Playground are good places where to start pulling AI strings.

There are other powerful frameworks, of course, like Caffe, PyTorch, and BigDL. They keep getting better and are quickly gaining users and use cases.

New Deep Learning tools are being developed to simplify neural network architecture definition and parameter tuning, distributed training, and model deployment and management.

Also, simulators, such as digital twins, allow developers to accelerate development of AI systems and the reinforcement learning libraries that integrate with them (check out the RL library that's part of RISE Lab's Ray - it’s an awesome example).

Tâches d'apprentissage automatique

De manière générale, on peut classer les principales tâches d'apprentissage automatique dans quatre groupes :

    • Apprentissage supervisé : utilisé pour inférer une fonction à partir de données étiquetées. L'objectif est de trouver les meilleurs paramètres de modèle pour prédire avec précision des étiquettes inconnues sur d'autres objets. Si une étiquette est un nombre, il s'agit d'une tâche de régression. Si l'étiquette fait partie d'un ensemble relativement compact et défini de valeurs, on parle de classification.

    • Apprentissage sans supervision : cette méthode est utilisée quand on dispose d'une quantité limitée d'informations ou d'étiquettes sur les objets. Dans ce cas, les objets sont rassemblés en clusters en identifiant des similarités entre eux.

    • Apprentissage semi-supervisé : ce type d'apprentissage est utile quand on dispose à la fois d'objets étiquetés et d'objets non étiquetés. Cette approche permet d'améliorer considérablement la précision des résultats, grâce au recours à des données d'entraînement mixtes.

    • Apprentissage par renforcement : c'est que ce l'on peut appeler « apprentissage par l'adaptation ». On peut voir ce concept comme un jeu où chaque action rapporte des points. Vous faites votre première action en tentant de maximiser les points que vous cumulez. Cette action affecte l'environnement, et vous vous adaptez à ce nouvel environnement pour refaire une action en essayant, là encore, d'obtenir autant de points que possible. Et ainsi de suite, jusqu'à avoir atteint un objectif de points défini. Cette méthode est particulièrement poussée. Si vous voulez en apprendre plus, vous pouvez toujours cliquer sur le lien, mais accrochez-vous !

Algorithmes

Avec les années, différents algorithmes ont été développés pour résoudre une variété de types de cas d'utilisation et prendre en charge l'apprentissage par arbre de décision, la programmation logique inductive, l'apprentissage renforcé, les réseaux bayésiens, les clusters et bien d'autres concepts.

Voici quelques-uns des algorithmes les plus courants :

    • La régression et la classification linéaires : simple et très utile dans de nombreux cas où des algorithmes plus complexes seraient excessifs.

    • Régression logistique : le classificateur non linéaire le plus simple. Il combine des paramètres linéaires et une fonction sigmoïde non linéaire.

    • Arbre de décision : cette approche algorithmique est similaire à la façon dont nous prenons des décisions.

    • K-moyennes : un algorithme très facile à comprendre. D'abord dérivé du traitement du signal, il divise un certain nombre d'objets en clusters, chaque objet appartenant au cluster dont la moyenne est la plus proche.

Si le codage vous intéresse, n'hésitez pas à consulter les pages Machine Learning Algorithms and Sample Code (Algorithmes d'apprentissage machine et exemple de code) et AI Tools, Platforms, Libraries (Outils, plates-formes et bibliothèques pour l'IA).

Applications de l'IA

L'IA est de plus en plus fréquemment intégrée aux processus métier dans différents secteurs d'activité. En voici quelques exemples :

    • Applications de ventes et de gestion de la relation clients

    • Paiements et services de paiement

    • Logistique et livraison

    • Recommandations de clients

    • Industrie

Par exemple, Northface utilise IBM Watson pour aider les clients à identifier la tenue qui leur conviendra le mieux, en fonction de leur localisation, de leur sexe et de leurs activités favorites. C'est l'idéal si vous prévoyez de faire de la randonnée au nord de la Norvège au mois de novembre.

PayPal exploite des modèles de détection des fraudes pour protéger les transactions numériques de ses clients. En mettant l'apprentissage profond au service de la sécurité des transactions, PayPal a diminué son taux de fraudes jusqu'à 0,32 %, soit près de 1 % de moins que le taux moyen du secteur.

L'IA prend de la vitesse dans presque tous les secteurs, mais certains domaines méritent une mention particulière :

    • Vision. Ces systèmes « voient », comprennent et interprètent un signal visuel. Ils peuvent notamment servir à diagnostiquer un patient ou à utiliser la reconnaissance faciale pour suivre des personnes d'intérêt.

    • Reconnaissance vocale. L'audition et la compréhension du langage naturel, en tenant compte des accents, du bruit, de l'inflexion, etc. Cette capacité est notamment exploitée dans la traduction automatique, la transcription et les commandes vocales.

    • Reconnaissance de l'écriture

    • Systèmes experts. Des applications qui intègrent l'IA et les données pour offrir des explications et des conseils aux utilisateurs finaux.

Évolution future

Il ne fait aucun doute que l'IA est en plein essor, notamment grâce à la convergence de différents facteurs favorables comme une puissance de traitement considérable et abordable, un accès à d'immenses quantités de données, un stockage virtuellement illimité et les progrès réalisés au niveau des modèles et des algorithmes.

Les sociétés de tous les secteurs identifient sans cesse de nouveaux cas d'utilisation dans lesquels l'IA peut être déployée efficacement.

Mais à court terme, il semblerait que les applications et les cas d'utilisation présentant le taux de réussite et d'adoption le plus important sont ceux qui ont un impact ou un retour sur investissement directs et mesurables. L'« amélioration de l'engagement du client », c'est très bien, mais c'est toujours moins concret que « 5-10 % de réduction du nombre de colis perdus » ou « 8 % d'augmentation de la probabilité de vente additionnelle ».

Il y a encore beaucoup de travail à accomplir pour arriver à une IA digne de la science-fiction, mais les progrès réalisés sont manifestes et offrent déjà des résultats concrets pour les entreprises comme pour les particuliers.

Désolé, je dois vous laisser. Alexa me demande.

En attendant, si vous êtes un des premiers adeptes de l'IA ou que vous souhaitez en devenir un, consultez ce webinaire à la demande :

Comment aider votre entreprise à devenir un des premiers adeptes de l'IA

Je vous souhaite un excellent apprentissage.