Approche basée sur l'apprentissage profond pour la reconnaissance d'images
Bien qu'elle soit sans doute le mot à la mode du siècle, l'IA reste un concept vague pour beaucoup. Afin de lever le voile sur cette ambiguïté, voici une introduction accessible présentant deux façons dont les entreprises adoptent et développent l'IA, ainsi que la manière dont nous avons choisi de procéder.
En dehors de l'univers de Westworld, l'intelligence artificielle se présente sous de nombreuses formes, a une histoire assez longue et est plus présente dans votre vie quotidienne que vous ne pourriez l'imaginer.
Nous communiquons avec nos amis sur les réseaux sociaux, prenons un Uber pour aller au travail, découvrons de nouvelles séries sur Netflix et trouvons des recommandations de restaurants sur Maps : toutes ces activités constituent le prolongement numérique de ce que nous avons toujours fait. Mais aujourd’hui, en grande partie grâce à l’IA, notre interaction avec ces services est plus rapide, plus simple et plus intelligente.
Apprentissage automatique, vision par ordinateur, traitement du langage naturel, réseaux neuronaux et moteurs de recommandation : les ingénieurs de recherche travaillent à leur développement depuis plusieurs décennies déjà.
Alors, pourquoi tout le monde semble-t-il se ruer sur l'IA en ce moment ?
En 2012, la recherche en intelligence artificielle a connu une avancée majeure avec l'apparition des réseaux neuronaux profonds.
Ceux-ci sont bien plus puissants que les méthodes d'apprentissage précédentes et offrent les meilleurs résultats pour de nombreux problèmes concrets. Leur développement s'appuie sur les progrès réalisés en matière de puissance de calcul, qui ont permis de traiter un nombre considérable de paramètres et de mener à bien un processus d'apprentissage complexe et gourmand en données.
Les réseaux neuronaux profonds offrent des solutions performantes pour la détection d'objets, la reconnaissance d'images et la segmentation. Pour les entreprises, ils constituent un moyen de créer une expérience utilisateur exceptionnelle, d'améliorer leur efficacité et de satisfaire pleinement leurs clients.
Comment les produits d'IA sont-ils développés ?
Lorsqu'il s'agit de développer des produits et des services basés sur l'IA, les entreprises adoptent généralement l'une des deux approches suivantes : soit elles utilisent des API « plug&play » et des modèles d'apprentissage automatique, soit elles développent leurs propres solutions spécialisées.
Les API prêtes à l'emploi constituent le premier choix pour de nombreuses entreprises, car elles sont très abordables et faciles à utiliser. Les principaux fournisseurs de services informatiques les mettent facilement à disposition dans le but d'attirer davantage de développeurs vers leurs plateformes. C'est pourquoi les API d'Amazon Rekognition, de Google Vision ou de Microsoft Cognitive Services ne cessent de gagner en sophistication et en puissance.
Cependant, ces outils ne sont pas parfaits. Ils se révèlent souvent peu performants lorsqu'il s'agit de résoudre des problèmes spécifiques liés à l'IA, et les entreprises passent ainsi à côté de l'opportunité d'offrir une qualité et une expérience utilisateur exceptionnelles.
De nombreuses API permettent la reconnaissance de texte sur des images, mais elles ne sont presque certainement pas adaptées à l’extraction de types et de formats spécifiques, c’est-à-dire à l’interprétation du texte reconnu. Par exemple, elles ne peuvent pas détecter le nom et le prénom figurant sur une pièce d’identité ni reconnaître un type particulier de problème mathématique. Chez Microblink, nous avons identifié cette lacune et sommes allés plus loin pour proposer sur le marché un logiciel de vision par ordinateur spécialisé nettement plus performant.
L'autre approche adoptée par les entreprises en matière d'IA consiste à développer des solutions propriétaires destinées à des applications spécialisées dans le cadre d'un produit ou d'un service particulier. Cette approche est également de plus en plus facile à mettre en œuvre. Cela s'explique principalement par le nombre croissant de jeux de données accessibles au public destinés à l'entraînement des modèles d'apprentissage automatique. Certains peuvent même convenir à des problèmes spécifiques d'apprentissage automatique (par exemple, le jeu de données MS COCO pour la détection d'objets, la segmentation et la légende).
Outre des ensembles de données facilement accessibles, il existe également davantage d’outils open source qui simplifient le processus d’apprentissage. PyTorch et TensorFlow 2.0, les bibliothèques open source d’apprentissage automatique les plus populaires pour la recherche et la production, sont nettement plus conviviales qu’elles ne l’étaient, disons, il y a deux ans.
Désolé de gâcher encore une fois la fête, mais cette approche comporte elle aussi un hic. La théorie est une chose, mais dans la pratique, il peut être difficile d’obtenir les résultats escomptés. Il existe deux problèmes courants auxquels il faut prêter attention lorsqu’on développe ses propres solutions d’IA :
- L'écart entre l'ensemble de données utilisé pour entraîner les modèles de réseaux neuronaux et les données réelles auxquelles ces modèles sont appliqués. En particulier, les modèles entraînés sur des ensembles de données accessibles au public sont rarement adaptés à des produits hautement spécialisés.
- Le problème de l'applicabilité en termes de consommation de ressources, de mémoire et de temps, étant donné que la solution finale doit répondre à des exigences d'efficacité qui, bien souvent, n'existent pas lors de la phase de recherche du développement de l'IA.
(En termes plus simples, les utilisateurs finaux comprennent peu les difficultés liées aux services basés sur l'apprentissage automatique et font preuve d'encore moins de patience à leur égard. Le service doit fonctionner en permanence et il doit fonctionner rapidement.)
Tirer le meilleur parti des deux mondes
Au cours des six dernières années, nous avons pris pleinement conscience des avantages et des défis liés à ces deux approches. Nous avons placé l'IA au cœur de notre technologie et nous nous sommes tournés, il y a plusieurs années, vers le développement de réseaux neuronaux profonds afin de résoudre les problèmes suivants :
- Reconnaissance et extraction de texte à partir d'images de pièces d'identité, de cartes bancaires, de tickets de caisse et même d'exercices de mathématiques
- Détection et classification des différents types de documents
- Analyse d'images et diverses autres tâches.
Nous nous engageons à relever ces défis liés à la vision par ordinateur afin d'offrir aux entreprises des expériences numériques exceptionnelles, telles que :
- Paiement de factures en toute simplicité (en scannant les bulletins de paiement — car qui va encore à la banque de nos jours ?)
- Suivi simplifié des dépenses (en scannant les tickets de caisse plutôt que de saisir manuellement chaque article acheté)
- Intégration des utilisateurs à distance (par numérisation de pièces d'identité ou de cartes bancaires)
- Maîtriser les maths en toute simplicité (grâce à une application permettant de scanner, de résoudre des problèmes et d'apprendre des concepts mathématiques)
Nous adoptons une approche intégrée qui allie le meilleur des deux perspectives mentionnées ci-dessus, et notre succès confirme que nous sommes sur la bonne voie. Notre technologie a une portée mondiale : elle fait gagner du temps et facilite les tâches quotidiennes de plus de 100 millions d’utilisateurs finaux à travers le monde. Photomath, qui est aujourd’hui une société distincte de Microblink, est l’application n° 1 pour apprendre les maths ; elle compte plus de 120 millions de téléchargements et a récemment été intégrée à Snapchat. BlinkReceipt, notre produit dédié à la numérisation des tickets de caisse, a permis jusqu'à présent de numériser plus de 180 millions de tickets de caisse. BlinkCard, notre tout dernier produit, est le logiciel de numérisation le plus rapide et le plus précis pour divers types de cartes de crédit et de cartes bancaires.
Si cela a éveillé votre curiosité, tant mieux ! Nous avons partagé d'autres conseils dans un autre article : « Notre guide en 5 étapes pour le développement de l'IA ».