Au-delà du code : vers l’âge de l' »intrication »

Pour beaucoup, l’art de la programmation est le sésame nécessaire à la compréhension du monde moderne… et à un emploi bien rémunéré. Le fameux débat autour de l’apprentissage du code à l’école en est d’ailleurs l’illustration la plus évidente. Et si les jours du « codeur » étaient comptés ? C’est la question que pose le journaliste Jason Tanz (@jasontanz) dans un récent article de Wired au titre provocateur : « Bientôt, nous ne programmerons plus les ordinateurs, nous les dresserons comme des chiens« .

La fin du code en couverture du dernier numéro de Wired

2000px-Colored_neural_network.svgLa cause de ce déclin inévitable du code, selon lui, c’est le triomphe des réseaux neuronaux et des techniques de machine learning. En effet, avec ces nouveaux programmes d’intelligence artificielle, il n’existe plus d’instructions spécifiques visant à accomplir une tâche donnée. Ce sont de vastes réseaux de nombres interconnectés, sans signification claire. Leur fonctionnement est opaque, nous dit Tanz, ce sont « des boites noires« . Pour leur faire exécuter un travail, on ne les programme pas, on les entraîne.

« Si vous voulez enseigner à reconnaître un chat à un réseau de neurones, par exemple, vous ne lui dites pas de chercher les moustaches, les oreilles, la fourrure et les yeux. Vous lui montrez simplement des milliers et des milliers de photos de chats, et finalement il arrive à les reconnaître. S’il continue à classifier les renards avec les chats, vous ne devez pas réécrire le code. Vous continuez à le coacher« . Ce qui compte ce n’est donc plus le programme lui-même, mais les données qu’on lui fournit lors de son apprentissage.

Cette ignorance du fonctionnement interne de ces systèmes va poser pas mal de questions, y compris légales, souligne Tanz. Il mentionne par exemple la poursuite antitrust effectuée en Europe contre Google, qui influencerait par trop ses résultats dans le moteur de recherche. « Une telle accusation sera difficile à prouver, étant donné que même les ingénieurs de l’entreprise se révèlent incapables de dire exactement comment ces algorithmes de recherche fonctionnent en premier lieu« , écrit-il.

La fin du code

GraduatingDogUn tel changement de paradigme va sonner le glas du codeur maître des programmes. Il va falloir mobiliser d’autres compétences, plus proches de celle de l’éducateur ou du dresseur. « Si auparavant les programmeurs étaient comme des dieux, rédigeant les lois qui régissent les systèmes informatiques, aujourd’hui, ils apparaissent comme des parents ou des dresseurs de chiens. Et comme tout parent ou propriétaire d’un chien vous le dira, on entre là dans une relation bien plus mystérieuse« .

Comme Demis Hassabis, qui dirige l’équipe Deep Mind de Google l’a expliqué à Tanz : « tirer le meilleur parti de ces systèmes devient presque une forme d’art… Il n’existe que quelques centaines de personnes dans le monde susceptibles de très bien y arriver. »
Pour l’instant cela veut dire qu’une nouvelle élite risque d’émerger, encore plus fermée et spécialisée que le cercle déjà restreint des codeurs. Mais il existe un espoir, selon Tanz : au final, cela pourrait démocratiser la programmation, a affirmé Sebastian Thrun, l’un des créateurs de la Google Car, puisqu’il deviendrait aussi facile de programmer une machine que dresser un chien.

L’âge de l’intrication

Au-delà des transformations professionnelles et techniques que cette rupture annonce, cette « fin du code » est le signal d’un véritable changement de paradigme dans la manière dont nous interagissons avec nos créations artificielles. L’article de Wired pointe sur un article fort intéressant de Danny Hillis, sur ce qu’il appelle « l’âge de l’intrication », qui succède à notre « âge des lumières » (en anglais, cela oppose entanglement et enlightenment, ce qui sonne mieux !). Danny Hillis est un vieux routier de la « computer science ». Il a créé dans les années 80 la compagnie Thinking Machines qui se consacrait à élaborer des machines capables de calculs massivement parallèles. Depuis il a été l’initiateur de Freebase, un système de web sémantique, et il est aussi le concepteur de la fameuse « Horloge du long maintenant » imaginée par Stewart Brand et Brian Eno, qui ne tinterait qu’une fois tous les millénaires… Mais c’est également un pionnier du champ de la Vie artificielle, ce qui, on le verra, a son importance.

« Lors de l’ère précédente », écrit-il, « l’âge des Lumières, nous avons appris que la nature obéissait à des lois. En comprenant ces lois, nous pouvions prévoir et contrôler. Nous avons inventé la science. »

« Au final, en une expression ultime de notre exubérance des Lumières, nous avons construit des ordinateurs numériques, véritables incarnation des notions de cause et d’effet. Les ordinateurs sont les cathédrales des Lumières, l’expression ultime du contrôle déterministe et logique« . C’est pourtant à ce moment que les prémisses d’un déclin ont commencé à se faire sentir, continue-t-il : « nous avons commencé à construire des systèmes possédant des comportements émergents au-delà de notre propre compréhension, créant la première fissure dans les fondations » (à un commentateur de l’article lui demandant de donner un exemple, Hillis a répondu : « les systèmes d’échanges à haute fréquence sur le marché financier« ).

Mais les ordinateurs ne sont pas les seuls en cause, poursuit Hillis. Nos institutions sont elles aussi devenues hypercomplexes. Ce sont des superorganismes dont le comportement ne dépend plus des éléments humains qui les constituent.

Pour Hillis, cette situation va entraîner un changement dans nos modes de raisonnement : « contrairement aux Lumières, où les progrès ont été analytiques et consistaient à séparer les choses les unes des autres, les progrès dans l’âge de l’intrication seront synthétiques et consisterons à réunir les choses. Au lieu de classifier des organismes, nous les construirons. Au lieu de découvrir de Nouveaux Mondes, nous les créerons. »

Parmi les processus propres à cet âge de l’intrication, Hillis cite notamment les algorithmes génétiques, et tous les algorithmes inspirés par la biologie. En bref, la Vie artificielle.

Une idée déjà ancienne

Cette discipline qui se consacre depuis les années 80 à la description et à la compréhension des phénomènes émergents (passé de mode ces temps-ci, mais qu’on a peut être eu tort d’enterrer trop vite) sera peut-être vue dans le futur comme le point de démarrage de cet « âge de l’intrication ».

En fait, dès les années 80 Stephen Wolfram avait démontré que des programmes très simples, les automates cellulaires (qui allaient ensuite devenir l’un des principaux objets d’étude de la Vie artificielle) étaient susceptibles de générer des comportements totalement imprévisibles. Wolfram en avait tiré, dans son livre, un « principe d’équivalence computationnelle » : autrement dit, un arbre, une bactérie, un humain, l’univers entier ne présentent pas, dans leur « code originel » de différences fondamentales de complexité. Ils peuvent tous être issus d’algorithmes très simples. Ce sont les résultats de ces algorithmes qui peuvent différer grandement.

ca_1024x768Mais, on le voit, il existe une vraie différence par rapport aux spéculations de Jason Tanz. On se trouve en fait face à deux analyses différentes dans la manière dont la complexité est susceptible de dépasser l’entendement humain. La première est celle mentionnée dans Wired, l’existence d’un ensemble tellement complexe qu’il devient impossible de l’analyser et de le manipuler de manière explicite. Ou au contraire, il y a les automates cellulaires et assimilés, dans lesquels le code reste simple, enfantin même, mais dont l’exécution entraîne des conséquences qui sont fondamentalement imprévisibles.

La comparaison des logiciels avec des animaux à « dresser » date également de l’âge d’or de la vie artificielle. Le système Tierra, mis au point au cours des années 90 par Thomas Ray, présente une première version de cette notion. Tierra est un logiciel de programmation génétique (lors de la conférence ECAL de 2011, les participants l’ont d’ailleurs majoritairement nommé comme l’archétype même d’une expérience de « vie artificielle »). Dans Tierra, conformément aux principes de l’évolution biologique, des organismes artificiels luttent pour le contrôle de la principale ressource disponible dans un univers numérique : le temps de calcul. Pour prospérer, les organismes mutent, se parasitent, se reproduisent… contrairement aux algorithmes génétiques classiques, il n’existe pas de « but » vers lequel les programmes doivent tendre : ils sont libres d’évoluer en fonction des impératifs de leur survie.

L’espoir de Ray était de permettre, par ce biais, la génération spontanée de nouveaux algorithmes susceptibles de nous être utiles dans l’élaboration du logiciel du futur. Ainsi, selon lui : « l’évolution ne serait pas une technique convenable pour générer un logiciel de comptabilité, ou tout autre programme où les calculs précis et exacts sont nécessaires. Elle serait plus appropriée pour des problèmes plus flous comme la reconnaissance des formes. Par exemple, si vous avez un chiot que vous voulez dresser pour être un chien de garde, vous ne pouvez pas vérifier ses circuits neuronaux ou le code génétique, mais vous pouvez lui apprendre à aboyer sur les étrangers et être sympathique envers votre famille et vos amis. Voici le type d’application que l’évolution peut offrir. On n’a pas besoin de vérifier le code, mais évaluer la performance devrait être simple. »

On le voit, la métaphore du « dressage de chiens » ne date pas d’hier …

Dans Tierra il existe bien un code « lisible », mais il est généré automatiquement et ne possède pas de fonctions précises. Comme les automates de Wolfram, il est (relativement) simple, mais on ne peut le comprendre qu’en analysant le comportement de « l’organisme digital » au sein de son écosystème, cette « jungle numérique ». Reste qu’ici, on peut isoler le code responsable de la fonction repérée, le comprendre et le réutiliser (en le traduisant dans un langage classique comme le C++ ou java) dans un programme plus « professionnel ». Le système de Tierra présente donc, comme dans le domaine du deep learning, un aspect « apprentissage » : là aussi, on « dresse » les logiciels, on étudie leurs comportements. Mais il reste une place pour l’humain qui peut comprendre le code et le manipuler.

Toutes ces recherches ont beau être basées sur des principes différents, elles pointent toutes vers un même constat : le monde simple des relations de cause à effet touche à sa fin. Nos relations avec l’environnement que nous avons créé, qu’il s’agisse nos machines ou de nos institutions, s’apparentera bien plus à un partenariat entre créatures vivantes qu’à une maîtrise incontestable d’un monde mécanisé.

Rémi Sussan

À lire aussi sur internetactu.net

0 commentaires

  1. Les remarques sur le deep learning et l' »âge de l’intrication » ne sont pas fausses mais les conséquences sur l’informatique sont exprimées à la va-vite.

    Si le deep learning est voué à remplacer la programmation à long terme, quelles instructions donnera-t-on à la machine et sous quelle forme ?
    Probablement, dans de nombreux cas, ce sera sous forme de code. Le code n’est pas qu’un moyen de résoudre des problèmes en détail; c’est depuis longtemps un moyen d’integrer des composants et de définir les spécifications des problèmes, dont le gros de la résolution est déléguée à du code déjà produit par nos prédécesseurs. Or, une machine ne peut pas faire ça toute seule, à moins qu’elle ait atteint une compréhension globale du monde et des humains, ce qui dépasse largement le champ du deep learning qui lui traite des problèmes isolés.