Avec la première partie de cette chronique, nous avions vu que l’historique de l’IA avait été assez chaotiqueA l’heure de Google, du cloud, des megas-fermes de serveurs, des progrès des composants et de l’avènement du big data, tout d’un coup, toutes les pièces du puzzle devenaient disponibles et s’emboitaient finalement comme par magie !

Le deep learning actuel n’est que l’aboutissement d’une vieille idée qui est enfin arrivée à maturation (le principe seul ne suffisait pas, il fallait aussi le contexte adéquat : un cloud et un big data aux vertigineuses capacités).

Nouveau printemps de l’IA grâce au cloud
Avec l’aide du big data, le deep learning devient facile à expliquer… Si vous voulez obtenir un système de reconnaissance d’images capable de distinguer les chats des girafes (ce n’est qu’un exemple), vous allez aider à son apprentissage en le gavant de photos de chats correctement étiquetées. Et là, on parle de gros volumes : pas quelques milliers de photos, mais beaucoup plus !

Ainsi, votre système sera en mesure de reconnaître plus efficacement les caractéristiques significatives des chats : la queue dans le prolongement du corps, les oreilles pointues, les moustaches et ainsi de suite. Sans surprise, votre système sera un peu moins performant à distinguer les girafes, car les photos de cette espèce sont forcément moins nombreuses que pour les félins…

D’Alexa aux voitures autonomes, l’IA est presque partout !
Les usages actuels de l’IA sont évidemment bien plus sérieux : reconnaissance vocale (Siri d’Apple, Alexa d’Amazon, etc.), reconnaissance d’images dans la vidéosurveillance ou la santé et, bien sûr, la voiture autonome dont les médias parlent beaucoup (trop) dernièrement.

Sur cette dernière, tous les observateurs semblent d’accord pour dire que son perfectionnement ne prendra que quelques années… Je crois au contraire que cela sera beaucoup plus lent et difficile qu’annoncé, comme toujours !

Un exemple récent montre à la fois l’importance du big data dans la mise au point des systèmes reposant sur le deep learning, mais aussi que cette mise au point va être bien plus difficile qu’envisagée… Le Lundi 19 mars 2018, dans l’Arizona, une voiture (autonome) de test Uber a percuté une femme (qui poussait un vélo) alors que cette dernière traversait l’axe de circulation. Les senseurs (radar, lidar, etc.) auraient détecté le piéton, mais le système de décision n’aurait rien fait pour l’éviter… Pourquoi ?

Peut-être que la réponse se trouve dans le principe même de l’apprentissage de ce système. Alimenté en exemples réels pendant des milliers de kilomètres, le système s’est surtout calibré pour gérer sa position dans le trafic au milieu des autres voitures et camions (les gros objets qui sont le plus souvent détectés par les capteurs). On sait déjà que ces systèmes sont moins à l’aise avec les motos (rencontrées moins souvent) et avec les vélos (idem). Alors, que dire d’un piéton qui traverse la route dans une zone sombre très en dehors des passages réservés ?

Pour faire face à tous les cas possibles (et à toutes les situations d’urgence où la bonne réaction est critique), il va falloir pousser la phase d’apprentissage bien au-delà des quelques milliers de kilomètres déjà parcourus…

L’IA pour améliorer la qualité des programmes
On l’a bien compris, le recours au deep learning est indissociable du big data : sans une base de données importante (vraiment importante), pas d’apprentissage fiable, pas de résultat… Est-ce bien vrai dans tous les cas ?

Il semble que oui et on va le confirmer avec un dernier exemple plus proche des préoccupations de l’informatique d’entreprise : le debug de programme. Peut-on imaginer qu’une erreur de codage soit identifiée avant même que le développeur ait testé son code ?

Ubisoft semble penser que oui puisque la société française vient d’annoncer qu’il avait recours à un “commit assistant” reposant sur l’IA pour améliorer la qualité de ses programmes.

Extrait de l’article paru sur https://siecledigital.fr/2018/03/09/ubisoft-utilise-lia-pour-corriger-le-code-des-developpeurs/

La forge, le département de recherche et développement d’Ubisoft basé à Montréal, a travaillé en collaboration avec plusieurs universités pour réaliser ce projet. L’outil utilise une base de données qui contient l’ensemble des travaux réalisés par les développeurs d’Ubisoft pendant une dizaine d’années. Lorsqu’une erreur qui a déjà existé est susceptible d’être commise à nouveau, un algorithme le détecte et avertit le développeur au moment où il valide son code pour le tester. Avant même d’avoir pu tester son code, il est averti qu’une erreur est potentiellement commise.

Cet algorithme a été testé sur le jeu Far Cry 5 qui est en cours de développement. Ce n’est pas un hasard si la société a fait le choix d’utiliser l’IA pour aider les programmeurs. En effet, d’après Ubisoft, l’élimination des bugs nécessite de nombreuses ressources humaines. Cette tâche à elle seule pourrait absorber jusqu’à 70% des coûts de développement. Il s’agit donc d’un véritable enjeu financier pour le créateur de jeux vidéos. (fin de l’extrait)

Intéressant, séduisant, mais, une fois encore, il faut avoir la base de données qui va bien pour en tirer profit (rappel : L’outil utilise une base de données qui contient l’ensemble des travaux réalisés par les développeurs d’Ubisoft pendant une dizaine d’années…).

Il en ressort que le big data est essentiellement une application de l’IA ou que l’IA (ou, au moins, le deep learning) n’existe que grâce au big data. Or, le big data n’est pas à la portée de toutes les organisations. Les algorithmes du deep learning non plus. Même si le fameux Tensor Flow de Google est en open source (voir à https://www.tensorflow.org/), ça ne suffit pas : encore faut-il avoir les compétences pour l’exploiter ainsi que le contexte nécessaire et suffisant (devinez quoi ? Une base de données volumineuse et correctement étiquetée…).

Explorer avec modération
En conclusion, les techniques d’IA sont aujourd’hui (relativement) facile d’accès (au moins pour certaines d’entre elles comme la plateforme Azure Machine Learning) et permettent de commencer à tester les opportunités offertes par ces technologies. “Accessibilité” n’implique pas obligatoirement garantie de succès à court terme. En effet, les exigences pour réussir sont (au minimum) les suivantes :

  • Avoir des données de qualité et en quantité suffisante (il sera plus simple d’aboutir à des résultats concrets avec des algorithmes moyens et un volume conséquent de données que le contraire),
  • Avoir des jeux de données anonymisées… une évidence si l’on souhaite s’appuyer sur des solutions cloud (une excellente idée pour commencer),
  • Avoir de l’expertise pour la sélection des meilleurs algorithmes. En réalité plutôt de l’expérience, car il s‘avère que les vrais spécialistes sont aujourd’hui très peu nombreux. À la vue du matraquage médiatique de ces derniers mois, les pseudo-experts vont fleurir, ils sont déjà là (les SSII et ESN généralistes produisent déjà leurs premiers teasers),
  • Enfin, avoir un vrai “business case”. Un lieu commun bien sûr, mais trop souvent oublié.  

“Lorsqu’on ne sait pas vers quel port on navigue, aucun vent n’est le bon”… Sénèque.

Commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Voir plus
scroll to top