Faire du machine learning ce n'est pas faire de l'IA

Attention je parle ici du machine learning utilisé en trés grande majorité càd du machine Learning en batch Learning (entrainement par lot de donnée) qui représente l'essentiel du machine learning actuel.


Un contexte particulier

Avant d'aller dans les arguments de fond, il y'a un contexte : Imaginez vous travailler des milliers d'heure à apprendre expérimenter et réellement comprendre, les minimax, les SVM, les algorithmes génétiques, la logique floue, etc.... Mais aussi lire des livres en neuro-sciences, en linguistique, etc...et aussi comprendre le hardware, CUDA Etc.... du jour en lendemain un mec qui a passé deux semaines à faire un coursera sur le machine learning se pense expert en IA (cela doit être super con l'IA pour s'apprendre en quelques jours) et vous pourrit bien votre management qui panique déjà face à ce sujet.

Bah de nombreux praticiens ont vécu cela... Et forcément c'est pas cool ... OK on comprend que ces gens défendent leurs business, c'est normal. Mais faire croire que le NLP c'est juste un peu d'annotation et que cela suffit à livrer des solutions, c'est non seulement faux mais cela tire le marché vers le bas et la médiocrité (lire le livre "La médiocratie" de Alain Deneault) ... Idem pour le ML etc...

Et puis le machine learning, désolé mais c'est un composant de l'IA mais seul ce n'est pas de l'IA.

Une question de bon sens ?

Quand on utilise un modèle d'apprentissage (le paquet de fichiers générés par l'apprentissage), que cela soit un classifier du machine learning ou du deep learning, si la réponse est fausse et que je repose la même question j'aurais la même erreur ... Donc c'est intelligent ? Pas sur....

Si j'achète un modèle , est ce que j'achète de l'intelligence artificielle, ou le fruit de l'intelligence artificielle ?

N'est ce pas normal que quant on achète de l'intelligence articielle, le produit apprenne de lui sans que je sois obligé d'acheter des updates ?

Pour moi, OUI! et NON du ML seul ce n'est pas intelligent, libre à vous d'appeler cela de l'intelligence artificielle, mais je pense qu'on devrait trouver un nouveau terme pour cela.

Mon impression est que si j'achète de l'IA je veux un outil qui s'améliore de lui même, avec la boucle de renforcement du modèle, un minimum de ce qu'on appelle une boucle cybernétique, ou le système essaie, évalue et s'améliore....

Mais passons ...

Les donneurs d'alerte

A la base il y'a eu une publication sur Quora en 2018 de Travis Addair de Stanford qui suggérait cela et proposait qu'on invente un nouveau mot pour le ML.

Sur Forbes Nicole Martin revient sur cela https://www.forbes.com/sites/nicolemartin1/2019/03/19/machine-learning-and-ai-are-not-the-same-heres-the-difference/#2bd623391b56

On trouve d'ailleurs d'autres références par exemple https://towardsdatascience.com/clearing-the-confusion-ai-vs-machine-learning-vs-deep-learning-differences-fce69b21d5eb

Repensons les bases

L'intelligence c'est créer des liens entre des concepts afin de créer de nouveaux concepts, soit par l'expérimentation, par le mimétisme, par l'entrainement, etc. Cela devrait induire implicitement que l'amélioration est constante.

Or le machine learning (et j'inclus le deeplearning) c'est un entrainement lourd qui créée un modèle qui permet par exemple de classer des entrées numériques, ou de reconnaitre des images. Mais seul il n'y a pas de renforcement automatique du modèle.

Quand on fait par exemple de la logique floue, ou même de la régulation, le concept de boucle cybernétique (mesure écart consigne, évalution, action, mesure écart consigne, etc) est naturel, et fait justement que le système apprend (par exemple quand on lit "Fuzzy Logic and Neural Network" avec le pendule inversé on a un super exemple)

Accessoirement, le mot machine learning a été créé (et le concept) en 1959. Donc le machine learning n'a pas été défini lors de la conférence de Dartmouth de1956, par contre lors de cette conférence un des piliers de l'IA a été le self-improvement le fait que l'IA s'auto-améliore, ce qui n'est pas le cas du machine learning

Des glissements sémantiques habituels

Si l'IA était un gateau à deux étages. L'étage du haut serait l'apprentissage supervisé, et l'étage du bas le non supervisé.... La cerise tout en haut serait l'apprentissage par renforcement (mais on va oublier la cerise).

OK quand on fait du Deep learning d'une certaine manière on fait du non supervisé MAIS (y'a un énorme MAIS), si l'étage du bas était le non supervisé le deep learning serait la couche du haut, superficiel et en contact avec l'étage du dessus, l'essentiel du non supervisé est encore à penser et construire. Ok d'un autre côté le fond du gateau flirterait avec un mythe, le point de singularité (autre mythe vendeur de conférence de l'IA totalement du domaine de la science fiction)

Je pense qu'en devenant grand public, le vocabulaire de l'IA a été réduit à l'excès avec des mots qui ne sont plus adaptés et contribuent à de mauvaises compréhensions.

De plus le machine learning est un subset de l'IA. Dire que faire du machine learning c'est faire de l'IA c'est comme dire que si on fait rouler un pneu seul sur la route, on fait rouler une voiture ....

Exemple de projet IA

Je travaille actuellement sur la conception d'un produit NLP qui classifie des documents, voila une partie des composants sur le feux :


  • Ontologie d'entitées d'actions et d'attributs (sous forme de graphe) DETERMINISTE
  • Renforcement automatique de l'ontologie DETERMINISTE
  • Distance de mots et tokenisation (DETERMINISTE)
  • Découpage des textes en pages, paragraphes, lignes (DETERMINISTE)
  • Graphe de distance géographique (DETERMINISTE)
  • Sélection de l'algorithme à utiliser, Classifier Machine Learning (AI)
  • Normalisation des phrases Deeplearning RNN (AI)
  • Reconnaissance de pages de document CNN (AI)
  • etc...

Au final pour une solution c'est plus de 20 algorithmes implémentés sous forme d'agents distribués qui cohabitent (tel le cri amoureux de la grenouille)

Conclusion

"un algorithme ce n'est pas de l'IA" dit un de mes étudiants (il est super mon SEB)... Il a raison ! Une solution IA pour que cela soit de l'IA c'est toujours un assemblage d'algorithmes et une boucle d'apprentissage à minima.

Beaucoup de gens ont intérêt à réduire l'IA au Machine Learning ... C'est simple à apprendre, facile de faire du bling bling.... Pourtant si on reprend le contenu du cours de Patrick Winston du MIT y'a beaucoup mais beaucoup plus de choses pour faire de l'IA...(Goal trees, problem solving, rules based, Depth first, minimax, game theory, etc.... voir ici https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/lecture-videos/ )

Sauf qu'en se limitant à cela on rate l'essentiel de ce que peut apporter l'IA... L'IA est un vrai métier, je suis d'ailleurs un défenseur du NoAI (Not only Artificial Intelligence) ou on doit tout faire pour éviter de faire de l'IA et en faire uniquement quand c'est nécessaire.

En prime un projet IA c'est un peu comme un légo, c'est de nombreux composants qu'on assemble. La bonne nouvelle est que c'est très simple de créer des composants génériques, car l'IA se détermine d'abord par les données et les entrainements.

Le drame de l'IA c'est que certains acteurs ont vendu de l'IA sur le cloud facile à utiliser. Cela a fait que l'initiation à l'IA est extrêmement simple, sauf que consommer de l'IA ce n'est pas faire de l'IA et que la vraie valeur ajoutée est au-delà... Cette première marche est aisée, mais la seconde est bien plus costaud à franchir... L'IA c'est un vrai métier. Et accessoirement le cloud est de 2 à 3 fois plus cher à minima qu'une machine on-premise et si vous chercher à entrainer et réentrainer autant pour optimiser que pour comprendre... Là cela peut être 10 fois plus cher. (lire : https://www.forbes.com/sites/moorinsights/2019/02/07/ai-cloud-or-on-prem/#23a1d9214ca6 )

J'assume que je présente là un raisonnement et surtout un point de vue, je ne prétends pas détenir la vérité, je reconnais même une part de partialité motivé par un raz le bol, mais si on me présente de bons arguments, je peux changer d'avis.... Mais en attendant, je ne pense pas que le machine learning c'est de l'IA. et NA :-)

Jérôme Fortias - jerome.fortias@brightknight.eu

Lire aussi : http://www.jfortias.net/2019/09/conference-de-dartmouth-1956.html

AI Practice Leader - BrightKnight (http://www.brightknight.eu)
Suivez moi sur Twitter https://twitter.com/FortiasJerome

Commentaires