Tribune  —  02 octobre 2020

Application mobile et intelligence artificielle : comment ça marche ?

Luc Veuillet

Vous pouvez maintenant proposer des applications mobiles avec de l’Intelligence Artificielle.

En intégrant plusieurs technologies, logiciels et matériels, dans son dernier iPhone et dans iOS 11 disponible depuis septembre 2017 pour des centaines de millions d’utilisateurs, Apple permet aux entreprises d’intégrer de l’Intelligence Artificielle dans leurs applications si elles savent choisir et entraîner les modèles prédictifs proposés. Insign revient sur ces solutions et vous accompagne.

Intelligence Artificielle : où en est-on ?

(R)établissons d’emblée quelques vérités. On ne peut pas parler de réelle Intelligence Artificielle (IA forte) avant un long moment. Les fantasmes journalistiques1 et l’esbroufe commerciale des sociétés qui le promettent, sont au mieux abusifs, sinon mensongers.
Il est plus sérieux de parler d’algorithmes créés par l’humain.

« L'évolution, ce sera de faire réfléchir les machines et ça moi je ne sais pas le faire », Luc Julia (le créateur de Siri)

L’Intelligence Artificielle est un véritable sujet scientifique, vaste et déjà ancien. Fortement corrélé aux mathématiques (c’est Cédric Villani qui prend en charge ce sujet pour la France), le sujet devient très vite ardu techniquement.

Pour autant, certaines disciplines de l’Intelligence Artificielle deviennent plus accessibles, comme désormais le Machine Learning.

Apple vient de mettre à disposition dans les iPhone2 et iPad, des solutions pour en démocratiser l’usage. Mais pour quoi faire et comment ?

Qu'est-ce que le machine learning sur smartphone ?

Le Machine Learning, ce n’est ni de la voyance, ni de la divination. Sous cette appellation se trouvent des méthodes scientifiques qui s’appuient sur des modèles mathématiques, parfois empruntés à la biologie3. Ces algorithmes analysent des données pour réaliser des identifications et des classements.
Ce sujet fait le buzz, or ces algorithmes sont connus depuis plusieurs dizaines d’années et vous en faites déjà l’expérience dans votre quotidien :

  • Estimation du prix d’une maison en fonction de ses caractéristiques sur un site immobilier ;
  • Calcul du risque d’accident et des tarifs de votre assurance ;
  • Filtrage des e-mails « spam » de votre logiciel ou fournisseur.

Ce qui change cependant très rapidement, c’est l’extension de ces traitements à de nouvelles données (textes, audio, photos, localisation, vidéo, capteurs IoT) et la disponibilité d’immenses puissances de stockage et de calcul pour proposer de nouveaux usages moins verticaux, moins « industriels ».
Cette puissance de calcul disponible (dans le Cloud et avec des coûts qui baissent) et l’abondance de données renforcent les capacités et la précision d’un modèle pour :

  • Définir le contenu d’une image sur le web ou prise en photo avec votre smartphone : distinction (chien ou chat), identification (café ou restaurant), classement (nombre, ordre, plans)... Pour nous Insign, c’est la possibilité sur un site e-commerce de monter n’importe quelle photo pour en acheter les vêtements par exemple ;
  • Déterminer le risque d’occurrence d’une panne sur une machine en fonction de paramètres exogènes (météo, événements, usagers, ...) ; très utile désormais avec l’essor des objets connectés pour incarner vos services auprès de vos clients ;
  • Prédire le prochain mot sur un clavier en fonction du contexte (interlocuteur et historique de la relation, émotion mesurée, ...).
    Ce qui est nouveau, c’est qu’Apple (et Google avec une autre approche4) met à disposition des entreprises une solution de Machine Learning embarquée sur smartphones.
    Et dans ce domaine, plusieurs axes d’usage du Machine Learning nous semblent particulièrement intéressants à suivre car “accessibles” pour vous.
    Au-delà des reconnaissances visuelle et vocale, la valeur ajoutée du Machine Learning au sein d’une application pourrait bien se trouver dans le Context Aware Computing (tout message – qu’il soit audio, vidéo, photo, textuel – est adapté en temps réel à l’interlocuteur, au lieu, à la temporalité, au contexte,... en fonction des règles « apprises »).
    Il s’agit d’adapter un service à toute une série de données environnementales : l’utilisateur et ses données historiques connues, mais aussi ce qu’il porte comme vêtement, son visage, ses émotions, le lieu, la température, les personnes autour de lui, ses actions précédentes,... L’ensemble de ces données aura auparavant été modélisé pour fournir à l’algorithme une base de reconnaissance et de sélection de la meilleure réponse.
    Navigation dans un catalogue produit : recherche assistée, sélection de tendances, ciblage des promotions, téléchargement prédictif sur mobile, ordonnancement des images affichées, recommandation de produits en cross et up-selling ne se basent plus sur des règles métier mais sur la constatation de l’usage de chaque client.

CoreML : la technologie machine learning sur iOS

Derrière ce nom, CoreML, on trouve un kit logiciel d’Apple pour exécuter de façon optimisée des algorithmes basés sur des modèles de Machine Learning.

L’exécution des calculs et le stockage de données se font sur le smartphone. Cela permet un temps de traitement rapide sans connexion à un serveur et va certainement être un élément de valorisation de vos services face aux inquiétudes sur la protection des données personnelles.

Le champs des possibles a servi, dans le Cloud à accoucher d’une matrice universelle qui permet localement une analyse et un classement rapides sans avoir besoin d’une connexion pour faire transiter massivement des données.

En fonction des applications visées, Apple propose d’utiliser différents types de modèles de Machine Learning. Certains sont supportés par défaut, d’autres peuvent être importés.

Insign adopte l’approche « Best of breed » pour sélectionner l’algorithme le plus adapté et performant pour le besoin.

 

Model type Supported models Applications Scripts
Neural networks/réseaux neuronaux Feedforward (convolutional), recurrent Reconnaissance d’images, traitement du langage naturel, mécanismes de recommandation (musique par ex.) Caffe v1
Keras 1.2.2+
Tree ensembles/ensemble d’arbres de décision Random forests, boosted trees, decision trees Détection de sensibilité d’une population à une offre scikit-learn 0.18
XGBoost 0.6
Support vector machines/Machines à vecteurs de support Scalar regression, multiclass classification
Catégorisation, classification (images), reconnaissance de formes
scikit-learn 0.18
LIBSVM 3.22
Generalized linear models Linear regression, logistic regression Estimation de prix personnalisée
Détection du « Churn »
scikit-learn 0.18
Feature engineering Sparse vectorization, dense vectorization, categorical processing Conception produit par extension d’un existant scikit-learn 0.18
Pipeline models   Sequentially chained models scikit-learn 0.18

 

L’utilisation de modèles existants réduit les temps de développements. Apple propose des outils pour convertir des modèles pour CoreML, les modèles sont réutilisables ailleurs dans l’entreprise. Quelques modèles prêts à l’emploi sont également disponibles, notamment pour la détection d’objets sur des images par exemple.

Autre nouveauté, ces développements ne sont pas réservés aux développeurs mobiles, ils sont conçus dans des langages accessibles au plus grand nombre (Python par exemple ou C++) : ainsi les développeurs qui travaillent sur des sites web, des applications métiers, des modèles statistiques, ... peuvent travailler avec ces modèles.

Mais il reste à mobiliser deux autres piliers du Machine Learning qu’Apple ou Google ne peuvent pas vous offrir : l’humain (pour fixer les objectifs & paramétrer) et la data (pour entraîner les modèles).

Insign vous accompagne pour identifier les améliorations que le Machine Learning peut apporter à votre business sous forme d’audit de votre existant et d’une recommandation de Stratégie Data intégrant le training du modèle avec vos données : « Train Your Model ».

Le machine learning nécessite une phase d'apprentissage

Afin de pouvoir décider, la machine doit apprendre ...

Cette technologie fonctionne de la manière suivante : à partir de données « connues », on va entraîner le modèle par itérations. A chaque itération, la qualité des prévisions obtenues est testée (sur un jeu de données « témoin »). Si l’erreur de prévision est importante, on fait varier certains paramètres de l’algorithme. Les itérations s’arrêtent quand l’erreur de prévision ne baisse plus et le modèle est implémenté en production ; la machine a appris des « patterns » et est en mesure de détecter très efficacement les cas similaires.

 

app_ai_2

 

A date peu de méthodes permettent aux algorithmes de se re-paramétrer ensuite de manière autonome (sauf le Reinforcement ML : qui détermine automatiquement le comportement idéal dans un contexte spécifique). Il faut donc régulièrement enrichir l’entraînement du modèle ; l’analyse des logs que nous faisons permet de le faire.

L’apprentissage autonome n’est pas encore une réalité. La plupart des bots proposés aujourd’hui « prêt à l’emploi » sont basés sur des questions pré-programmées.

Insign vous accompagne dans l’apprentissage de vos algorithmes car si votre marque participe aux conversations (business conversationnel), c’est à vous de gérer cette production de contenus.

“Train your model” : les étapes

En quelques semaines, le processus suivant permet de mettre au point avec vous, un modèle de Machine Learning à embarquer dans une application mobile ou un site internet.

1/ Recueil des données
Etudier les données structurées issues de vos transactions, dispositifs digitaux, magasins, capteurs, analytics mobiles et web. S’il existe des données non structurées, les Data Scientists vont les rendre utilisables par le modèle.

2/ Optimisation des données
Eliminer le bruit (erreurs, incohérences) et normalisons les données (pour les rendre compatibles, comparables entre elles) pour produire un dataset initial fiable.

3/ Réduction dimensionnelle
Les Data Scientists procèdent alors à l’identification et la sélection des caractéristiques explicatives de vos données.
Par exemple la navigation d’une application mobile peut être rendue dynamique afin de réduire le nombre d’images et ainsi le temps de téléchargement. En analysant les données et en modélisant le rapport entre navigation et chargement d’images, on produit un modèle cherchant à limiter les images chargées inutilement en fonction de la navigation en cours et ce, potentiellement pour chaque utilisateur.

4/ Sélection du modèle
En fonction des données et du traitement à effectuer, il est possible d’identifier immédiatement le modèle le plus pertinent ou au contraire, devoir tester différents modèles.

5/ Apprentissage du modèle
Enfin, s’étudie la performance du modèle en comparant les résultats obtenus avec des données brutes avec celles optimisées et ajuster ses réglages.
Enfin, le modèle peut être mis en production dans une application iOS ou Android.


1 Le vrai danger de l’Intelligence Artificielle aujourd’hui est encore l’homme qui est aux commandes des algorithmes et qui peut renforcer les travers de leur usage.

2 Les possibilités sont similaires dans Android « O », la mise à jour du système d’exploitation de Google. Facebook, Amazon, IBM et d’autres ont eux-aussi entrepris de rendre accessibles aux entreprises les capacités de Machine Learning, voire d’autres disciplines de l’Intelligence Artificielle.

3
Les fameux réseaux de neurones tentent de reproduire l’architecture et le fonctionnement des circuits du cerveau.

4
Alphabet (maison mère de Google) a créé une solution de Machine Learning au travers d’une librairie logicielle Open Source TensorFlowTM, couplée à une solution matérielle ; ses propres cartes électroniques optimisées pour le traitement des données soumises au Machine Learning (TPU : TensorFlowTM Processing Units) accessibles en Cloud.