« La révolution de l’IA » : fantasme lointain ou bouleversement imminent ?

Photo by h heyerlein on Unsplash

Depuis l’émergence de l’informatique, l’intelligence artificielle (IA) nourrit les fantasmes. Néanmoins, si la machine semble bien loin de parvenir à l’autonomie de raisonnement humaine, force est de constater que l’IA trouve des applications qui pourraient bien affecter profondément certains pans de l’économie. Quels sont ces secteurs qui risquent d’être prochainement ébranlés ?

Available in English

Dans un rapport conjointement publié par Deloitte et Oxford University en 2015[1], on anticipe qu’environ 35% des emplois risquent d’être automatisés ou « robotisés » en Grande-Bretagne d’ici deux décennies. En effet, l’automatisation des tâches qui avait déjà commencé à la fin du XIXe siècle s’étend à des tâches de plus en plus complexes. Aujourd’hui, les machines sont devenues capables d’entreprendre des tâches « intelligentes », voire de surpasser l’homme sur certaines d’entre elles. Dès 1997, le programme Deep Blue l’emportait sur Kasparov aux échecs. En 2016, un ordinateur battait au jeu de go le champion du monde en titre. En janvier 2017, une intelligence artificielle gagnait même un tournoi de poker contre des joueurs comptant parmi les meilleurs du monde.

Et pourtant, les machines semblent bien loin d’être aussi indépendantes d’esprit que l’humain, comme c’est le cas dans diverses fictions, des romans d’Asimov à Matrix, en passant par 2001 : L’Odyssée de l’espace. Si les ordinateurs peuvent exécuter, prendre des décisions fondées sur des probabilités, arbitrer, voire même apprendre de leurs erreurs comme c’est de plus en plus le cas aujourd’hui, ils n’ont pas la conscience de soi à l’origine de la pensée humaine, au sens cartésien du terme.

En 1950, le mathématicien Alan Turing publie son célèbre article Computing Machinery and Intelligence. Dans cette publication, il détaille une expérience qui permettrait de déterminer si une machine est réellement intelligente. Son expérience consiste à organiser un échange verbal entre un individu et une machine, ainsi qu’entre ce même individu et un autre être humain. L’échange serait aveugle et seul le contenu de la communication permettrait au premier individu de déterminer quelle conversation des deux avait eu lieu avec une machine. Si l’humain « testeur » ne parvient pas à faire la différence et à établir avec certitude quel interlocuteur était une machine, cette dernière pourrait être considérée comme véritablement intelligente.

Le test de Turing — Source : https://upload.wikimedia.org/wikipedia/commons/e/e4/Turing_Test_version_3.png

Aujourd’hui, une machine est bien incapable de passer avec succès le test de Turing (sauf cadre particulièrement arrangeant), car elle est loin de simuler correctement des sentiments, une véritable expérience ou encore un avis formé de manière autonome. S’il y a une révolution relative à l’IA dans les prochaines années, il semble donc peu probable qu’elle passe par le développement d’une machine dont l’intelligence serait émotive ou créative.

Néanmoins, il est possible que l’on trouve à l’IA des fonctionnalités utilitaires susceptibles de secouer l’économie. Chez LinDA comme chez LINAGORA, nous pensons que de nombreuses entreprises doivent prendre en compte les évolutions récentes de l’IA dans leur stratégie digitale. Nous décrirons ici les évolutions importantes du secteur et les différentes disruptions qu’elles pourraient apporter. Cela nécessitera dans un premier temps de détailler les concepts importants de l’AI, et notamment ceux qui font parler d’eux en ce moment, comme le machine learning, le deep learning ou encore les bots.

L’IA : de quoi parle-t-on ?

Selon l’article concerné dans la partie « encyclopédie » du site de Larousse, l’intelligence artificielle est un « ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence humaine ». La définition est large, car « simuler l’intelligence humaine » peut aussi bien signifier être mesure d’accomplir les mêmes tâches qu’elle – ou bien certaines d’entre elles – qu’en imiter la capacité par des processus semblables en apparence mais intrinsèquement différents.

En général, l’IA entre en jeu dès lors que la machine arbitre entre plusieurs hypothèses et en choisit une en se fondant sur divers facteurs de nature différente. L’IA implique donc toujours une interaction avec des données qui ont été relevées ultérieurement à sa programmation initiale. Ces données (input) donnent lieu à une analyse sur laquelle se fondera une réaction (ouput).

Ainsi, lorsque votre smartphone identifie votre lieu de travail et votre domicile, il s’agit d’une intelligence artificielle : il enregistre des allers-retours réguliers entre deux lieux, avec un temps important passé dans chacun des deux, à des heures particulières. Tout cela constitue l’input, et le fait qu’il enregistre ces lieux respectivement en tant que lieu de travail et domicile correspond à l’output, le résultat de l’analyse des données. Au départ, la programmation de votre téléphone ne faisait aucune « mention » de ces lieux précis, ni même du temps exact que vous y passeriez, mais il a par la suite été en mesure de relever ces données et de tirer des conclusions.

Dans cet exemple, la machine a un comportement intelligent : elle utilise des données qu’elle a elle-même relevées et elle en conclut quelque chose. La simulation ne porte toutefois que sur un raisonnement. Mais, comme la science-fiction parvient très bien à nous le rappeler, l’IA peut aller plus loin dans la simulation en s’efforçant de réagir au langage et de le maîtriser, ou bien en revêtant une apparence physique humaine. Il s’agit d’un bot dans le premier cas et d’un robot humanoïde dans le second. Selon Andrew Leonard, un bot peut être défini comme « un programme informatique autonome supposé intelligent, doué de personnalité, et qui habituellement, mais pas toujours, rend un service »[2]. Souvent, les bots sont conçus pour interagir avec les hommes par l’intermédiaire du langage. Aujourd’hui, les bots trouvent de plus en plus d’applications pratiques nouvelles, qui pourraient bien changer le rapport qu’ont les individus avec les outils informatiques. Nous aborderons ce point plus loin dans l’article.

Machine learning, deep learning

On entend aujourd’hui beaucoup parler du machine learning et du deep learning, car ce sont les procédés que l’on utilise actuellement pour les formes avancées d’IA. Pourtant, ces deux termes sont souvent utilisés indifféremment l’un de l’autre, en dépit de leur nuance conceptuelle.

Prenons l’exemple d’un programme peu avancé, dont la fonction serait de prévoir le trafic dans une ville. Ce programme serait conçu pour établir, à l’aide de données, des heures de pointe. Sa programmation de base contient en tant que catégories d’éléments à analyser la densité du trafic en fonction de l’heure et du jour. Tous les jours de la semaine, les embouteillages sont constatés aux mêmes heures, ce qui permet au programme de définir les heures de pointe. Mais deux jours par semaine (le weekend), le trafic est nettement moins dense. Dans ce cas précis, le machine learning permettrait au robot de prendre en compte ses erreurs (après cinq jours « normaux », les prévisions ne sont plus respectées pendant deux jours) pour établir une nouvelle règle : les heures de pointe sont radicalement différentes deux jours par semaine.

Le machine learning ou apprentissage automatique est en fait ce qui permet au programme de s’affiner lui-même en réévaluant l’importance de certaines données qu’on lui a demandé d’analyser. Il rapproche un peu plus la machine de l’intelligence humaine en l’habilitant à utiliser ses erreurs pour ne pas les commettre à nouveau.

Traditionnellement, on distingue plusieurs types de machine learning, qui diffèrent par leur manière d’arbitrer et de produire leur output :

· L’apprentissage supervisé : à partir d’un ensemble de données classées en fonction de catégories déjà définies, l’IA peut ordonner de nouvelles données. Par exemple, on fournit dans un premier temps à une machine 500 photos de chat, et on lui donne ensuite 100 photos en lui demandant de déterminer si elles contiennent des chats. L’exemple précédent de l’IA qui définit les heures de pointe relève également de cette catégorie (car elle analyse le trafic pour toutes les heures et détermine lesquelles relèvent de la catégorie « heure de pointe »).

· L’apprentissage non-supervisé : ici, toutes les catégories ne sont plus données et le programme interagit avec ce qui les définit. On distingue ici :

o Le regroupement (ou clustering) : le programme dispose d’une liste de données et il doit établir lui-même différentes catégories. Par exemple, on lui donne une liste de données sur une population (revenus, patrimoine, localisation géographique, etc.), et on demande au programme de définir plusieurs classes sociales.

o La réduction de dimension (ou dimensionality reduction) : on donne à un programme une liste de données avec une variable à étudier, et le programme élimine des catégories de données dont la valeur explicative est moindre.

· L’apprentissage par renforcement : la machine dispose à la fois d’outils pour prendre des décisions et d’outils pour mesurer leurs résultats (la décision était-elle bonne ou mauvaise ?). L’IA peut ensuite adapter sa façon d’arbitrer elle-même. Par exemple, un robot qui se déplacerait de façon autonome pourrait adapter sa mesure des distances seul en se mouvant dans l’espace (entre autres, en percutant des objets qu’il pensait éloignés). Le robot dispose ici lui-même de moyens pour évaluer la justesse de ses prédictions : il n’a pas besoin de l’humain pour valider ou invalider son output.

· L’apprentissage par transfert : cela consiste à entraîner un robot sur une tâche source pour le faire accomplir une tâche cible de nature un peu différente (mais pas trop). Cela offre de nombreuses possibilités pour entraîner progressivement l’IA à accomplir les tâches pour lesquelles elle est conçue, à la manière du sportif qui s’entraîne sur de simples ateliers pour travailler seulement sur quelques aspects de son sport. Pour un logiciel conçu pour reconnaître la race de l’animal représenté sur la photo que l’on lui donne, on peut par exemple commencer son « entraînement » en lui demandant de classer des formes géométriques (l’exemple est évidemment simplifié : pour reconnaître des animaux, le programme devra s’entrainer sur des cas bien plus complexes que de simples formes géométriques).

Schéma d’un réseau neuronal — Source : http://cs231n.github.io/assets/nn1/neural_net2.jpeg

À ces différents types d’apprentissage, se greffent divers algorithmes de prise de décision, qui sont choisis en fonction des tâches auxquelles se destine l’IA programmée et de la nature des données qu’elle sera amenée à analyser. L’un d’entre eux, le réseau neuronal (neural network), est souvent associé aux applications les plus complexes de l’IA. De manière simplifiée, le réseau neuronal imite le fonctionnement des neurones et des synapses du cerveau humain et permet de traiter des informations de natures différentes à des niveaux différents (qui sont chacuns comparables à des neurones). Les informations sont traitées puis redirigées avant ou après leur traitement entre les différentes couches d’analyse. L’output n’est obtenu qu’après cette superposition complexe d’analyses. Le neural network peut donc aboutir à des examens très poussés, ce qui a pour conséquence d’être très gourmand en ressources.

Quand on parcourt les publications traitant de l’IA, le « deep learning » est aussi un terme qui apparaît rapidement. Pourtant, les définitions varient souvent d’une explication à l’autre. Il est cependant communément accepté que le deep learning est une forme avancée de machine learning qui permet de traiter de manière complexe les informations à plusieurs niveaux, de modifier au fur et à mesure la manière dont elles sont traitées, et de s’améliorer tout au long de l’utilisation du programme. Avec le deep learning, le programme est capable de comprendre lui-même quels types de données ont une importance. Il est habilité à tester des corrélations et à en établir de nouvelles, sur lesquelles pourront alors reposer ses prévisions. Lorsqu’un réseau neuronal est suffisamment complexe, on considère d’ailleurs souvent qu’il relève du deep learning. Cette notion de deep learning est particulièrement importante dans l’analyse de big data, car les programmes qui en relèvent permettent de catégoriser eux-mêmes les informations parmi les millions de données qu’ils brassent.

Concernant les caractéristiques associées au deep learning, on trouve la capacité des programmes à se perfectionner tout seuls. Ainsi, AlphaGo, le programme de Google, a pu se sophistiquer lui-même en simulant des parties de manière autonome, contre lui-même, pour optimiser son algorithme.

Si l’apparition d’applications pratiques utilisant ces formes avancées d’IA est plutôt récente, cela n’est pas vraiment dû à l’amélioration de nos connaissances en sciences cognitives ou de notre approche théorique de l’intelligence artificielle. En effet, le bouleversement provoqué par l’IA peut être relié à ces deux principaux facteurs :

- L’amélioration de la puissance de calcul de tous nos appareils. Comme l’avait prédit l’un des cofondateurs d’Intel, Gordon E. Moore, la puissance de nos processeurs grandit de manière exponentielle au fil des années. Or, les formes avancées de l’intelligence artificielle nécessitent beaucoup de ressources et les machines du début de l’ère informatique n’étaient pas assez puissantes pour exécuter de tels programmes.

- La décentralisation des calculs permise par le cloud (et donc finalement par l’arrivée du haut débit et de machines pouvant être partout connectées à internet). Le cloud computing permet à des programmes infiniment complexes d’être exécutés sur presque n’importe quelle machine pourvue d’une connexion internet. Il suffit pour une machine – un smartphone – de transmettre un input à un serveur plus puissant qui prendra les calculs à sa charge puis communiquera en retour l’output au premier appareil. Le cloud offre donc à n’importe quel appareil connecté la possibilité de disposer des plus puissantes intelligences artificielles. Autrement dit, un smartphone de 140 grammes est aujourd’hui en mesure d’avoir les mêmes capacités de calculs qu’un serveur de 25 kg.

À l’heure de « l’infobésité », ces programmes deviendront particulièrement importants là où l’on dispose de données dont on ne connaît ni le sens ni l’utilité. Ils pourront utiliser toutes ces données pour discerner eux-mêmes les relations qui unissent certaines catégories et s’améliorer au fil de leur utilisation.

Les domaines d’application sont extrêmement nombreux. En premier lieu, les programmes utilisant le machine learning permettent de plus en plus d’accomplir des actions en lien avec la parole et le langage, en tant qu’input et qu’output. Le domaine de la reconnaissance vocale est évidemment en plein essor, du smartphone à l’internet des objets. De même, les voitures intelligentes ne pourront être adoptées en masse que lorsque l’intelligence artificielle qui les guide sera en mesure d’analyser tous les éléments nécessaires pour une conduite parfaitement sûre – autres voitures, obstacles divers, délimitations de la route, signalisation, données obtenues sur la carte, etc. Les services à la personne vont également être très prochainement affectés et l’intelligence artificielle donnera lieu à des innovations incrémentales qui pourront répondre au vieillissement démographique. On peut également penser aux innovations qui permettront d’améliorer le quotidien des personnes handicapées, comme le projet Horus qui vise à créer un objet permettant aux malvoyants de disposer en permanence d’une description audio de leur environnement. Enfin, parmi les divers domaines touchés par l’IA, on trouve même les réseaux de distribution d’électricité, les smart grids, touchés par une production qui sera de plus en plus décentralisée et intermittente (l’intermittence étant due aux sources d’énergie renouvelables comme le vent et le soleil).

Les bots : vers un remplacement prochain du logiciel et de l’application ?

Début 2016, Facebook lance un « bot store », une plateforme interne à l’application qui contient des bots. Pour discuter avec eux, il suffit d’en

Source : http://marketingland.com/wp-content/ml-loads/2016/04/facebook-bots-messenger2-1920.jpg

sélectionner un ; s’ouvre alors une fenêtre semblable à celles que l’on obtient lorsque l’on discute avec une vraie personne. Cette fois-ci, il ne s’agit pas d’une vraie personne, mais bien d’une intelligence artificielle qui est censée répondre le plus justement possible à nos questions. Comme pour le Playstore de Google ou l’App Store d’Apple avec les applications, chaque entreprise et chaque marque peut rendre disponible son propre bot. L’utilisateur ne cherche plus les fonctionnalités du service sur une interface comme pour une application, mais les demandes par ses propres mots au bot en lui écrivant. Concrètement, un individu peut ainsi demander au bot d’un média en ligne des informations sur tel ou tel événement, il peut demander à un bot « spécialiste » de la santé de lui donner son indice de masse corporel, etc.

En pratique, le niveau d’intelligence actuel des bots laisse à désirer. Le bot de CNN a du mal à réagir à une référence à un événement précis, les bots fonctionnent plus par mots clés que par compréhension des phrases. Pour ces bots, passer le test de Turing est à l’heure actuelle un songe lointain parfaitement inenvisageable. Pourtant, si l’on porte son regard au-delà de l’état actuel des choses, Facebook pourrait bien avoir identifié une révolution majeure à venir…

Un logiciel est un programme informatique qui fait office d’outil en étant capable d’accomplir des tâches automatisées, de traiter des informations, de les convertir, d’en donner à l’utilisateur. Mais le logiciel traditionnel ne prend pas l’initiative d’accomplir des tâches : il répond avant tout aux requêtes de l’utilisateur, par l’intermédiaire d’une interface.

Un logiciel est plus ou moins puissant ou complet en fonction du nombre de fonctionnalités qu’il comporte, et de la complexité de celles-ci. Mais un utilisateur ne peut se servir des fonctionnalités d’un logiciel qu’au travers d’une interface. Or, plus un logiciel offre de possibilités, plus un utilisateur risque d’avoir à les chercher ou bien à développer un savoir-faire relatif à son interface spécifique. Certes, il est possible de faire un logiciel ergonomique, c’est-à-dire très complet mais relativement simple d’utilisation. Mais, généralement, plus un logiciel est complet, plus il tend à devenir complexe. Pour s’en rendre compte, il suffit simplement de comparer le volant d’une voiture avec le cockpit d’un avion. Conduire un avion nécessite d’utiliser beaucoup plus de « fonctionnalités », ce qui se traduit par une « interface » plus complexe. De même, un logiciel basique comme Paint sera infiniment plus simple d’utilisation qu’un équivalent beaucoup plus complet comme Photoshop. Placé entre les mains d’un novice, ce dernier logiciel se révèlera d’ailleurs bien inutile en raison de la complexité de l’interface, légitimée par la « puissance » du software.

Le pari induit par la programmation d’un bot est de se séparer de cette interface. On ne met plus les fonctionnalités disponibles sous les yeux de l’utilisateur, au risque qu’il prenne du temps à les chercher ; celui-ci doit simplement demander ce qu’il veut, sans se poser la question du moyen, ni même du moyen pour arriver au moyen (le bouton, qui, dans l’interface, lui permettra d’obtenir la fonctionnalité qu’il désire). Toute la réflexion portant sur le moyen pour arriver à un but sera déléguée au bot. L’utilisateur indique simplement ce qu’il veut, et il revient au bot de comprendre et d’exécuter.

Il existe cependant une lourde condition sans laquelle on ne pourra pas obtenir des bots performants : les bots doivent être capable de comprendre toutes les demandes des utilisateurs, ce qui passe par une « compréhension » du langage (oral ou écrit). Si l’IA a fait d’impressionnants progrès dans ce domaine, elle doit encore beaucoup progresser, afin d’être en mesure de comprendre toutes les tournures de phrases, de distinguer les homonymes, les tournures à double sens, etc. A fortiori, les sens de la contextualisation et de l’à propos devront aussi être maîtrisés pour fournir des produits et des services pleinement efficaces. Cette capacité à contextualiser sera sans doute l’une des plus difficiles à implanter dans une IA. A son époque, Descartes avait d’ailleurs déjà identifié cette faculté de l’esprit humain comme la plus difficile à imiter pour un non-humain — machine ou animal [3]. Notons que les bots idéaux en termes de compréhension et de service offert demanderaient beaucoup de ressources, mais que, à l’heure du cloud, ces ressources pourraient être consommés à distance sur des serveurs plutôt que sur les smartphones ; c’est d’ailleurs bien le cas des bots actuellement proposés sur Messenger.

Le bot de Mastercard — Source : https://timedotcom.files.wordpress.com/2016/10/mastercard.png?w=560

L’IA pour l’assistance bureautique

Dans le futur proche des applications possibles de l’IA, on trouve l’assistant de bureau intelligent, avec lequel chaque employé sera sans doute amené à travailler dans les prochaines années. Celui-ci est l’évolution logique des actuelles plateformes collaboratives qui intègrent un ensemble de fonctionnalités différentes dans une même interface.

Ces plateformes sont ou seront bientôt en mesure de faire des liens entre les différentes applications et de convertir les informations d’un service à l’autre (reconnaître une acceptation de rendez-vous dans un mail et enregistrer automatiquement celui-ci dans le calendrier, par exemple). De plus en plus de tâches seront ainsi automatisées. Tout comme pour les bots, l’utilisateur aura la possibilité de dicter directement les tâches à son ordinateur qui n’aura qu’à « comprendre » la tâche et l’appliquer.

C’est au travers d’une approche basée sur l’open source et sur l’open Innovation que les progrès de ces assistants intelligents se font de

LinTO, l’assistant de bureau de LINAGORA

manière extrêmement rapide. Par exemple, LINAGORA travaille actuellement sur LinTO qui est un assistant personnel professionnel intelligent. LinTO, en tant que « service » sur des Open-Plateformes et en particulier sur OpenPaaS, vient compléter un ensemble de fonctionnalités utilisant l’IA (compte-rendu automatique de réunions, classification des emails, …). Si l’un des principaux apports de l’assistant intelligent est de faire des liens entre les différents services et de convertir les informations automatiquement, l’open source est ce qui permettra aux entreprises d’obtenir la solution la plus intégrée possible et la plus adaptée à leurs besoins. En effet, l’open source permet à chaque entreprise d’intégrer à son PaaS les spécificités relatives à son domaine d’activités et à ses propres particularités, et joindre les services « de base » aux services qu’elle souhaitera créer elle-même.

Conclusion

Depuis des années, la faculté des humains à créer des technologies toujours plus intelligentes nous a fait anticiper une révolution proche ou lointaine de l’intelligence artificielle. La science-fiction a entretenu le fantasme que ce bouleversement se matérialiserait par l’émergence de machines intelligentes, autonomes, émotives, créatives, et conscientes. Cependant, si l’IA a déjà initié la disruption de l’économie qu’elle promettait depuis longtemps, cela s’exprime moins par un caractère humain et social que par une fonction utilitairemais tout de même très intelligente.

Aujourd’hui, l’IA est capable d’accomplir des tâches de plus en plus complexes, d’analyser des bases de données de plus en plus denses, et de faire interagir des domaines de plus en plus variés. De nombreux secteurs sont en passe d’être profondément affectés, et il est probable que la tertiarisation de l’économie entre dans une nouvelle période charnière, avec l’automatisation progressive des services, et notamment du service à la personne. De même, il n’est pas impossible que la révolution du bot succède à celle encore récente de l’application.

L’intelligence artificielle, parce qu’elle est une technologie foncièrement disruptive et en plein essor, doit, au même titre que les open plateformes, être prise en compte dans la stratégie digitale de l’ensemble des acteurs économiques contemporains.

Pour cette raison, LINAGORA s’efforce d’en ouvrir la voie par une approche de R&D et de co-construction collaborative de stratégies digitales avec nos clients.

Pour nous, l’IA est donc bien une révolution toute proche qu’il ne faut pas manquer !

— — — — —

[1] From brawn to brain — The impact of technology on jobs in the UK, 2015

[2]Andrew Leonard, Bots: The Origin of New Species, 1998

[3]Dès le XVIIe siècle, Descartes présageait que le sens de l’à propos serait sans doute la caractéristique du raisonnement humain qui serait la plus difficile à faire imiter par les machines : « bien que [les machines] fissent plusieurs choses aussi bien, ou peut-être mieux qu’aucun de nous, elles manqueraient infailliblement en quelques autres, par lesquelles on découvrirait qu’elles n’agiraient pas par connaissance, mais seulement par la disposition de leurs organes. Car, au lieu que la raison est un instrument universel, qui peut servir en toutes sortes de rencontres, ces organes ont besoin de quelque particulière disposition pour chaque action particulière ; d’où vient qu’il est moralement impossible qu’il y en ait assez de divers en une machine pour la faire agir en toutes les occurrences de la vie, de même façon que notre raison nous fait agir » (Discours de la méthode, 1637, « Cinquième Partie »).