Approche d’apprentissage profond pour la reconnaissance d’images
Bien qu’il s’agisse probablement du mot à la mode du siècle, l’IA reste un concept vague dans de nombreux esprits. Pour tenter de lever cette ambiguïté, voici une introduction en douceur présentant deux façons dont les entreprises adoptent et développent l’IA, et la manière dont nous avons choisi de le faire.
En dehors du monde de Westworld, l’IA se présente sous de nombreuses formes, a une longue histoire et est plus présente dans votre vie quotidienne que vous ne l’imaginez.
Nous nous connectons avec nos amis sur les médias sociaux, nous prenons un Uber pour aller au travail, nous découvrons de nouvelles émissions sur Netflix et nous recevons des recommandations de restaurants dans Maps – tout cela est une extension numérique d’activités que nous avons toujours faites. Mais aujourd’hui, en grande partie grâce à l’IA, la façon dont nous interagissons avec ces services est plus rapide, plus facile et plus intelligente.
L’apprentissage automatique, la vision par ordinateur, le traitement du langage naturel, les réseaux neuronaux et les moteurs de recommandation sont autant d’outils que les ingénieurs de recherche développent depuis plusieurs décennies.
Alors pourquoi tout le monde semble sauter dans le train de l’IA en ce moment ?
En 2012, la recherche en IA a fait une grande percée sous la forme de réseaux neuronaux profonds.
Ils sont beaucoup plus puissants que les méthodes d’apprentissage précédentes et fournissent les meilleurs résultats dans de nombreux problèmes de la vie réelle. Leur développement est soutenu par les progrès de la puissance de calcul, qui ont permis d’exécuter un très grand nombre de paramètres et le processus d’apprentissage complexe et riche en données.
Les réseaux neuronaux profonds offrent des solutions puissantes pour la détection d’objets, la reconnaissance d’images et la segmentation. Pour les entreprises, ils offrent la possibilité de créer une expérience utilisateur suprême, d’accroître l’efficacité et d’enchanter leurs clients.
Comment les produits d’IA sont-ils construits ?
Lorsqu’il s’agit de créer des produits et des services basés sur l’IA, les entreprises adoptent généralement l’une des deux approches suivantes. Elles utilisent des API et des modèles d’apprentissage automatique prêts à l’emploi ou développent leurs propres solutions spécialisées.
Les API prêtes à l’emploi sont le premier choix de nombreuses entreprises car elles sont très abordables et faciles à utiliser. Les principaux fournisseurs informatiques les mettent facilement à disposition dans le but d’inciter davantage de développeurs à utiliser leurs plateformes. C’est pourquoi les API d’Amazon Rekognition, de Google Vision ou de Microsoft Cognitive Services sont de plus en plus avancées et puissantes.
Cependant, ces outils ne sont pas parfaits. Ils sont souvent peu performants lorsqu’il s’agit de résoudre des problèmes d’IA spécifiques, et les entreprises ratent l’occasion d’offrir une qualité et une expérience utilisateur optimales.
De nombreuses API permettent la reconnaissance de texte sur des images, mais il est presque certain qu’elles ne sont pas adaptées à l’extraction de types et de formats spécifiques, c’est-à-dire qu’elles ne donnent pas de sens au texte reconnu. Par exemple, elles ne peuvent pas détecter le nom et le prénom sur la carte d’identité d’une personne ou reconnaître un type particulier de problème mathématique. Chez Microblink, nous avons pris conscience de cette lacune et sommes allés plus loin en proposant sur le marché un logiciel de vision par ordinateur spécialisé et nettement meilleur.
L’autre approche adoptée par les entreprises en matière d’IA consiste à créer des solutions propriétaires pour une application spécialisée dans un produit ou un service particulier. Cette approche est également de plus en plus facile à mettre en œuvre. La principale raison en est le nombre croissant d’ensembles de données accessibles au public pour l’entraînement des modèles d’apprentissage automatique. Certains peuvent même fonctionner pour des problèmes d’intelligence artificielle spécifiques (par exemple, l’ensemble de données MS COCO pour la détection d’objets, la segmentation et le sous-titrage).
Outre les 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 d’apprentissage automatique à code source ouvert 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 une nouvelle fois la fête, mais cette approche comporte également un inconvénient. La théorie est une chose, mais dans les problèmes de la vie réelle, il peut être difficile d’obtenir les résultats souhaités. Il existe deux problèmes courants auxquels il faut faire attention lorsque l’on construit ses propres solutions d’IA :
- L’écart entre l’ensemble de données qui a été utilisé pour former les modèles de réseaux neuronaux et les données réelles auxquelles les modèles sont appliqués. En particulier, les modèles formé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 satisfaire aux exigences d’efficacité qui, souvent, n’existent pas dans la phase de recherche du développement de l’IA.
(En termes plus simples, les utilisateurs finaux ont peu de compréhension et encore moins de patience pour les défis posés par les services alimentés par les ML. Le service doit fonctionner en permanence et rapidement).
Prendre le meilleur des deux mondes
Au cours des six dernières années, nous avons pris conscience des avantages et des défis de ces deux approches. Nous avons fait de l’IA le cœur de notre technologie et nous nous sommes tournés vers le développement de réseaux neuronaux profonds il y a plusieurs années pour cibler les problèmes suivants :
- Reconnaissance et extraction de texte sur des images de documents d’identité, de cartes de crédit, de tickets de caisse et même de problèmes mathématiques
- Détection et classification de différents types de documents
- Analyse d’images et diverses autres tâches.
Nous nous efforçons de relever ces défis en matière de vision par ordinateur afin de permettre aux entreprises de vivre des expériences numériques suprêmes :
- Paiements de factures sans effort (en scannant les bordereaux de paiement – parce que plus personne ne va à la banque ?)
- Suivi facile des dépenses (en scannant les reçus de vente au lieu de saisir manuellement chaque article acheté)
- L’accueil des utilisateurs à distance (par la numérisation des documents d’identité ou des cartes de crédit)
- Maîtriser les mathématiques en toute simplicité (en utilisant une application pour scanner, résoudre et apprendre des concepts mathématiques)
Nous utilisons une approche intégrée qui combine 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, permettant de gagner du temps et de faciliter les tâches quotidiennes pour plus de 100 millions d’utilisateurs finaux dans le monde. Photomath, qui est aujourd’hui une société distincte de Microblink, est l’application numéro 1 pour apprendre les mathématiques, compte plus de 120 millions de téléchargements et a récemment été intégrée à Snapchat. BlinkReceipt, notre produit pour scanner les tickets de caisse, a été utilisé jusqu’à présent pour scanner plus de 180 millions de tickets de caisse. BlinkCard, notre dernier produit, est le logiciel de numérisation le plus rapide et le plus précis pour différents types de cartes de crédit et de cartes bancaires.
Si cela a éveillé votre curiosité, tant mieux ! Nous vous proposons un peu plus de sagesse dans un autre article : Notre guide en 5 étapes pour le développement de l’IA.