A la suite de l’annonce de la mise en service de la PNIJ et en vue de l’écart fonctionnel qu’elle représentait par rapport à nos applications, Deveryware a souhaité continuer à creuser cet écart en développant de nouvelles fonctionnalités à haute valeur ajoutée afin de continuer à s’affirmer en tant que leader des services d’aide à l’investigation judiciaire en France.

 

Forts des nouvelles données issues des fadettes qui venaient d’être prises en charge par DeveryLoc, nous avons décidé de travailler sur des fonctions d’analyse de données de géolocalisation afin d’en extraire les lieux de présence les plus fréquentés pour un mobile donné.

L’idée étant, qu’à partir d’un historique de positions de la cible et en utilisant des algorithmes spécifiques, de déterminer les zones les plus fréquentées par le mobile afin d’en faire des zones d’intérêt (ZOI) dans Deveryloc et de créer des alertes d’entrée ou sortie de zone par exemple.

Cette approche a donné lieu à une API au sein du Geohub qui a été implémentée par Deveryloc. Ainsi naissait ce que nous avons appelé le géoprofil 1.0.

Cette première itération, consistant à analyser les données du passé, nous a mené naturellement à réfléchir à comment projeter ces résultats vers le futur afin d’introduire des notions prédictives dans nos analyses.

Nous nous sommes donc tournés vers les techniques d’intelligence artificielle et en particulier l’apprentissage automatique, autrement dit le machine learning (ML).

 

Vous avez dit algorithmes auto-correctifs ?

Un système mettant en œuvre le ML accomplit une tâche sans règles explicites.

Là où un programme standard exécute une série de règles, un programme de ML va d’abord analyser les données.

Jean-Philippe Desbiolles, VP Watson/Cognitive Transformation à IBM, a une formule pour décrire cette mutation en cours, ce passage “d’un monde de programmation à un monde d’apprentissage” (CNIL, 2017).

Il faut comprendre cela comme une transition depuis une époque où on écrivait les règles des algorithmes (tel les systèmes experts, le traitement automatique de textes…) et on éditait ces règles manuellement.

Maintenant, on nourrit de jeux de données l’algorithme, avec lesquelles il va automatiquement construire les règles, le modèle.

 

A partir d’un jeu de données, l’algorithme va construire un modèle constitué d’un ou plusieurs motifs (patterns) décelés dans ces données. Toutefois, il y a de nombreuses étapes à mettre en œuvre comme trouver, explorer, préparer les jeux de données avant de pouvoir les soumettre au programme.

Les algorithmes peuvent être de différents types mathématiques :

  • probabiliste
  • statistique
  • régression linéaire
  • régression logistique
  • random forest (forêt d’arbres décisionnels)
  • gradient boosting (amélioration du gradient)
  • KNN (k nearest neighbors ou k plus proches voisins) …

Il est également possible de les classer par finalité : classification, recommandation, traitement du langage…

 

Des bibliothèques, implémentant un ou plusieurs de ses algorithmes (appelées framework) en open source, sont mises à disposition pour faciliter la réalisation de logiciels de plus en plus complexes.
Elles permettent d’aboutir à des projets et la mise au point de produits qui, sans cela, seraient hors de portée, tels que des systèmes d’apprentissage profond à base de couches de réseaux de neurones.

L’une des plus connues est TensorFlow, développée par Google, mais il y a aussi :

  • PyTorch (mise en œuvre par Facebook)
  • Microsoft Cognitive Toolkit, MXNet (adoptée par Amazon Web Services)
  • Caffe2 (dédiée aux déploiements mobiles) entre autres.

Le site web de Capterra recense 256 outils dits d’intelligence artificielle et permet de comparer une vingtaine de plates-formes de machine learning telles que TensorFlow.

 

Réseaux de neurones, la machine à apprendre 

Le “neurone” dont on parle en algorithmique, doit être vu comme un programme qui exécute une fonction logique avec des seuils. Il descend du perceptron, premier algorithme d’apprentissage inventé en 1957 par Franck Rosenblatt.

Les neurones organisés en réseau sont entraînés pour détecter un motif. Le réseau est constitué de plusieurs couches et dispose d’une couche d’entrée et une couche de sortie. Les neurones de chaque couche ont la capacité de traiter une abstraction partielle de la donnée.

 

L’exemple simplifié ci-dessous montre une image sans description qui est présentée en entrée de la première couche de neurones.

Cette couche détecte les lignes qui bordent les formes, la seconde couche traite les formes, la troisième les textures.
A la fin, le système est capable de déterminer un résultat concernant l’image, dans l’exemple lui attribuer un terme descriptif.

Ayant un jeu de données suffisant et pertinent ainsi que  la structure du réseau de neurones en place, il convient alors d’entraîner ce réseau.

 

Chaque neurone est pourvu d’une valeur, appelée poids, qui est réglée au départ de façon aléatoire. Au fur et à mesure que les données d’entraînement sont introduites dans le système, ces poids sont modifiés à chaque itération par un mécanisme de rétro propagation qui détermine quel poids doivent être modifiés et dans quelle proportion, afin d’augmenter la précision du résultat.

L’entraînement repose sur une longue suite d’itérations empiriques de chaque couche de neurones jusqu’à obtention d’un résultat satisfaisant.

 

L’apprentissage (ou entraînement) peut se faire de différentes façons, entre autres :

  • supervisée, les jeux de données sont alors étiquetés par des experts humains;
  • par renforcement, lorsque la machine apprend par elle-même avec un cycle de retours correctifs (positif ou négatif);
  • non supervisée, c’est alors la machine qui décèle les motifs à partir des données qui ne sont pas étiquetées. C’est une approche qui peut être probabiliste et générer des découvertes ou rendre tangible des hypothèses.

Pour Cathie O’Niel, data scientist et activiste, ”les systèmes statistiques ont besoin d’un feed-back, d’une remontée d’informations qui puisse les alerter lorsqu’ils s’égarent : en somme, les statisticiens se servent des erreurs pour éprouver leurs modèles et les rendre plus performants.” (O’Neil, 2018, p. 20)

L’ajout de nombreuses couches masquées de neurones, plusieurs dizaines voire centaines de milliers, comprises entre la couche d’entrée et la couche de sortie, génèrent un système d’apprentissage profond, ou deep learning. Il s’agit là d’une méthode de ML parmi d’autres, la plus porteuse actuellement.

“Le machine learning est assez empirique dans sa mise au point
et dans son évaluation.”

 

Dans son expérience du développement logiciel au sein de la Gendarmerie, Patrick Perrot confirme le besoin de différents jeux de données, pour l’apprentissage, pour le développement et pour les tests d’évaluation de l’algorithme.

Il est ainsi possible de régler le système jusqu’à trouver un équilibre pertinent, désigné le point de fonctionnement par P. Perrot. Car équilibrer les faux rejets et les fausses acceptations, dépendra de l’objectif ciblé.

Par exemple, pour un dispositif de contrôle d’accès d’un site peu sensible, le réglage sera au milieu, on se permettra quelques erreurs dans un sens ou dans l’autre. Par contre, on pourra refuser de façon stricte dans le cas d’une centrale nucléaire, quitte à avoir de nombreux refus d’accès de type faux positifs. Ou encore, à l’inverse très souple pour l’accès à un stade de football.

 

Patrick Perrot précise que les algorithmes ne sont pas transposables. Un algorithme qui sera bon sur un point de fonctionnement ne le sera pas forcément sur un autre, ni avec un jeu de données de type différent, par exemple d’une qualité différente…

“Le machine learning est assez empirique dans sa mise au point et dans son évaluation.” Si le modèle se dégrade, c’est que le jeu de données n’est plus pertinent.

 

Le rapport produit par la commission Villani en 2018 montre bien l’incapacité actuelle d’expliquer la façon dont le résultat est obtenu avec l’apprentissage par réseaux de neurones profonds (deep learning). Il considère toutefois que rendre explicable ces systèmes est une des conditions de leur acceptabilité sociale.

 

François Chollet, chercheur chez Google, exprime dans Wired sa vision des limites de l’apprentissage profond : “Les gens pensent naïvement que si vous prenez un système d’apprentissage profond et que vous lui ajoutez une centaine de couches et 1000 fois plus de données, ce réseau de neurones sera capable de tout ce qu’un humain peut accomplir. Mais cela n’est pas vrai.” (Pontin, 2018)

 

IA, mythe et réalité

Déjà dans les années 70, des voies s’élevaient en France comme aux États-Unis pour critiquer la prospective qui émanait des recherches en intelligence artificielle. Il était notamment revendiqué de ne pas définir l’intelligence humaine de façon relative à ce que serait celle des machines.

Aujourd’hui encore, la reproduction de l’intelligence humaine est démentie par beaucoup. Nous pourrons citer Luc Julia, en charge de l’IA à Samsung : « c’est nous, les humains, qui sommes en contrôle, il n’y a rien qui va se passer si ce n’est pas nous qui décidons ».

Et le philosophe Eric Sadin sollicite notre objectivité :

« En réalité, le principe d’une intelligence computationnelle modélisée sur la notre est erroné car l’une et l’autre n’entretiennent presque aucun rapport de similitude. »

 

Pourtant, on parle d’IA partout. Pas un produit ne sort aujourd’hui sans sa pointe « d’intelligence ». Et force est de constater les progrès technologiques qui donnent naissance à des systèmes capables de faire mieux et plus vite que l’humain.

Ce qui n’est pas pour autant révélation d’une réplication de l’intelligence humaine. La voiture permet de se déplacer plus vite qu’avec nos jambes, sans pour autant reproduire un cerveau doté de conscience. Un système de reconnaissance d’imagerie médicale sera extraordinairement efficace pour détecter une pathologie prédéterminée, mais ce sera sa seule qualité, il ne saura rien faire d’autre.

Il s’agit d’un débat entre l’IA dite générale, capable de reproduire la versatilité d’un humain, et les IA dites faibles ou verticales, spécialisées dans une tache particulière.


L’extrapolation de l’évolution des algorithmes, du traitement massif des données, du couplage parallèle et séquentiel de systèmes de plus en plus complexes, laisse augurer à certain l’arrivée plus ou moins prochaine d’une IA générale.

Ce débat entretien une vision commune troublée, peu réaliste quant aux capacités actuelles du vaste domaine qu’est l’intelligence artificielle.

 

Les leviers de réussite de la démarche

Un projet de ML repose sur des données disponibles, de qualité et en quantité suffisante. En effet, partir de données qualifiées et pertinentes a une influence directe et significative sur la qualité des modèles construits par les algorithmes ainsi que sur la précision des prédictions en découlant.

 

Cet enjeu devient d’autant plus compliqué à aborder dans le cadre de Deveryware où les données de géolocalisation peuvent être considérées comme confidentielles et représentent des données à caractère personnel dont seul l’anonymisation (et non la pseudonymisation) peut garantir le respect des lois en vigueur.

 
Ceci nous amènera à un nouveau challenge consistant à concilier l’anonymisation des données de géolocalisation tout en leur gardant une sémantique suffisante pour apprécier les résultats obtenus par le ML.

 

Dans le cadre de l’exploration du géoprofil prédictif, nous nous sommes appuyé sur l’outil Dataiku tout au long du processus. Il a l’avantage de réunir toutes les composantes nécessaires, de l’agrégation des données à la visualisation des résultats, en passant par la mise en qualité des données et leur analyse par différents algorithmes.

Le succès de cette démarche passe également par la définition :

  • d’objectifs métiers précis,
  • de critères clairs de réussite,
  • des technologies adéquates à chaque problématique d’analyse abordée.

Enfin, la réussite d’un tel projet nécessite de réunir différents cœurs de métiers dans l’entreprise, l’analyse des données faisant intervenir plusieurs domaines : technique, expérience utilisateur, juridique, business, marketing, support utilisateur…

Ceci nécessite une organisation horizontale et agile pour itérer rapidement, notamment en phase exploratoire, et tirer partie des visions de chacune des composantes de l’entreprise à toutes les étapes du projet.

 

Nos auteurs :

Laurent Cellier

Spécialiste du design d’interaction, Laurent a rejoint Deveryware en 2005. En charge du design d’expérience de l’ensemble des applications du groupe, il est aussi délégué à la protection des données personnelles.

Titulaire en 2019 d’un Executive Master à Sciences Po ayant trait aux humanités numériques, il prend une part active à l’innovation.

Mohammed-Amine Abchir

Après avoir obtenu un Master en Informatique, Mohammed-Amine a rejoint Deveryware en 2009 pour y effectuer une thèse CIFRE qu’il a soutenu en 2013.

Après avoir occupé respectivement les postes d’ingénieur d’étude puis de Leader Technique, il pilote actuellement l’équipe R&D au sein de la société.

Oussama Allaoui

Statisticien de formation, Oussama a Obtenu un Master en Machine Learning & Data Science en 2018 à l’Université Paris Descartes avant de rejoindre Deveryware pour l’épauler sur des sujets d’analyse de données et de Business Intelligence lui permettant ainsi de se différencier sur les marchés qu’elle occupe.