Les technologies de services [3] : La décision, l’autonomie
par Jean-Luc Dormoy
La capacité de décision et d’autonomie des systèmes est indispensable pour faire face à leur complexité et à l’exigence des applications. C’est de toute façon bien l’utilité de la machine programmable : décharger l’être humain de tâches peut-être répétitives, mais néanmoins essentiellement intellectuelles. Cela ne se limite plus comme aux débuts de l’informatique à des tâches sans rapport avec le monde physique, celui-ci est désormais de plus en plus intégré au monde digital.
Une première zone de décision et d’autonomie est de permettre au système de simplement fonctionner, ou de réagir lorsqu’il ne fonctionne plus. On dit quelquefois que nous sommes entrés dans la civilisation de la panne, et il est vrai que nous consacrons individuellement ou socialement de plus en plus d’effort à simplement faire fonctionner toutes ces choses. Nous ne souhaitons pas rentrer dans une discussion à la Ivan Illich sur la contre productivité naturelle des technologies de l’information, à l’instar de la voiture ou d’autres objets technologiques; d’ailleurs les technologies de l’information contiennent potentiellement le moyen de lutter contre cette contre productivité, ou si l’on veut pour une meilleure productivité. Nous souhaitons donc nous décharger sur les TIs de la tâche consistant à faire fonctionner les choses, et d’abord elles-mêmes.
Une première compétence à posséder est le diagnostic. Cela signifie qu’il faut savoir si tout va bien, et si cela va mal en déterminer les causes. Par exemple, les systèmes de diagnostic dans les voitures ont pris ces dernières années une importance considérable, avec une « électronique » pouvant comporter des dizaines de processeurs embarqués, et des millions de lignes de code. Il est désormais connu que les garagistes possèdent de tels systèmes de diagnostic, sans lesquels ils seraient d’ailleurs incapables d’agir. La tendance est d’embarquer ces systèmes afin de déterminer directement les éventuelles causes de pannes, et leur gravité. On peut aussi noter que même les puces d’aujourd’hui comportent des circuits leur permettant de s’auto tester, les BIST (Built In Self Test). C’est aussi le cas des très grands centres de traitement, comme les supercomputers et les systèmes de cloud computing. Les processeurs qui les composent sont si nombreux qu’il est obligatoire qu’au moins l’un d’entre eux tombe en panne chaque heure. Il faut le détecter et savoir lequel, pour le changer rapidement.
Une seconde compétence est de continuer à rendre le service même en cas de panne partielle. On appelle cela un fonctionnement dégradé. Pour les centres de traitement déjà mentionnés, cela signifie que le système est capable de récupérer et de reprendre les traitements qui étaient en cours sur le processeur ou le serveur venant de tomber en panne. Imaginez sinon que ce traitement soit justement lié à un achat que vous étiez en train de conduire sur l’Internet, ou plus grave encore à une conversation passionnante via une messagerie instantanée ? Il en est de même des systèmes embarqués, notamment critiques, pour lesquels on a vu les travaux considérables qui leur sont consacrés. C’est d’autant plus important que le degré d’autonomie augmente.
Une troisième compétence est de savoir réparer, de corriger la situation critique, voire de la précéder. Dans les systèmes industriels, on appelle cela la maintenance.
Une fois que sa compétence liée au fonctionnement est ainsi élargie, on peut demander au système d’accomplir des missions plus complexes de façon autonome. Un des rêves automobiles est la conduite automatique. La DARPA a ainsi lancé depuis quelques années un Grand Challenge à ce sujet, où les meilleures équipes des universités américaines et de quelques équipes dans le monde s’affrontent pour réussir une épreuve de conduite automatique. Il s’est d’abord agi pour le véhicule de parcourir environ 200 kilomètres dans le désert, bien sûr de façon totalement autonome, et le plus rapidement possible. La première année aucun candidat n’y est parvenu; la seconde année cinq véhicules franchissaient la ligne, dont quatre en moins de 10 heures (la limite imposée), et l’Université de Stanford gagnait en 6 heures et 53 minutes. Un nouveau challenge a été proposé l’année suivante, où les véhicules doivent cette fois se mouvoir dans un trafic urbain, comportant à la fois des véhicules automatiques et des véhicules conduits par des êtres humains, et accomplir toute une série d’actes de conduite et de manœuvres. En une semaine, seul un accident se produisit, mais les conducteurs humains eurent quelques frayeurs. Onze véhicules robots furent sélectionnés pour une finale, remportée cette fois par Carnegie Mellon, suivi de Stanford.
Encore une fois, un élément clé de l’autonomie est la capacité à prédire le comportement de son environnement, à la fois physique et des autres agents, qu’ils soient humains ou digitaux. On a déjà vu cette condition d’une interaction sophistiquée. Cela est confirmé par les études de sciences cognitives. Ainsi, on peut assez facilement démonter que le système de vision humaine permet d’une certaine façon de voir dans le futur. Le traitement complet de la perception par l’œil, le transfert d’information par le nerf optique, et surtout le traitement dans le cortex visuel, en association avec les autres parties du cerveau, prennent ensemble de un à deux dixièmes de seconde. C’est beaucoup trop lent ! Imaginez si rien d’autre n’existait que le receveur d’un service au tennis lancé à 216 km/h ne « verrait » la balle dans sa raquette qu’alors qu’elle est déjà 6 mètres derrière. Le système visuel permet en réalité de prédire ce qu’il va se passer, et c’est cette information que l’on a le sentiment de « voir ». Ainsi le receveur verra bien la balle au moment ou il la frappe avec sa raquette, mais cette image est créée par le cerveau, en avance de un à deux dixièmes de seconde par rapport à ce qui est réellement « perçu » et analysé. Le cerveau peut se tromper, et il y a bien sûr des systèmes pour réconcilier une prédiction erronée et une perception contradictoire. C’est probablement ce qu’il se passe après un faux rebond.
Cette capacité de prédiction repose sur des modèles, qu’il s’agit de constituer et d’apprendre, s’ils n’ont pas été « donnés » de façon « innée ». On parle ainsi en Intelligence Artificielle de représentation. Une astuce d’ingénierie peut consister à embarquer les modèles utilisés dans la conception d’un objet comme un avion, une voiture, une centrale électrique pour en faire la base d’un système de prédiction en temps réel. On peut même en faire un système en temps accéléré qui étudie les conséquences des diverses actions envisageables pour les étudier et choisir la meilleure – ou celle avec le moins de conséquences néfastes. On appelle cela du « what if », « et si ».
A ce jour, les systèmes critiques ont été confinés au sein des objets qu’ils équipaient : avions, trains, dans une certaine mesure voitures, entités de production critiques (nucléaire, chimie). Mais le gain en autonomie qui leur est demandé pose le problème d’un cadre élargi de vérification. Par exemple, un système censé vous éviter un accident grave, et en mesure de prendre la main sur la conduite pour ce faire, ne doit pas provoquer d’accident dans une situation où en réalité il n’y en aurait pas eu. D’un point de vue technique, cela implique de prendre en compte, outre le système lui-même, un modèle de l’environnement potentiellement impacté par son action. C’est par ailleurs un dilemme commun à toutes les innovations technologiques; par exemple il y a peut-être eu des accidents causés par un système d’ABS, alors que ce même système en a évité des millions. Cela motive son déploiement. Sans rentrer dans des discussions de fond sur le principe de précaution ou autre, ce sont des questions qui finissent par être résolues via un consensus équilibré entre les divers acteurs.
Néanmoins, un système digital interagissant avec le monde physique doit y être lui-même plongé : il n’est pas que virtuel, il a des éléments matériels dans le monde réel, au minimum ses capteurs et ses actionneurs. S’il s’agit d’un robot, il a en outre un corps qu’il meut dans le monde réel. Rodney Brooks, le grand roboticien du MIT d’origine australienne, a démontré dès les années 80 que la représentation n’est pas tout, que souvent la boucle d’interaction avec le monde prenait des raccourcis passant par son corps et le monde. Par exemple, ses robots fourmis, si elles doivent monter sur un obstacle, n’effectuent pas une analyse sophistiquée. Mais leur ventre ne traîne néanmoins pas par terre, car des capteurs d’effort sur les pattes arrière « sentent » le poids supplémentaire dû à la nouvelle attitude globale du corps, et par une boucle de rétroaction courte montent un peu l’arrière. Une analogie serait le rôle de notre moelle épinière, qui raccourcit les boucles cognitives « réflexes » en leur évitant le long détour par le cerveau.
L’autonomie s’exprime donc par des boucles perception-décision-action, mais il n’est pas nécessaire d’avoir une seule boucle, en réalité on en a plusieurs, voire une myriade de boucles localisées et en parallèle. Elles peuvent communiquer entre elles explicitement, en se transmettant de l’information par des messages, ou implicitement, « via le monde », par les effets coordonnés de fait qu’elles ont sur l’environnement et le corps du système si le système est situé.
On a parlé de robot, ce qui constitue depuis Turing une quête, un domaine de recherche très actif, et un sujet inépuisable de science fiction. Il y a en réalité plusieurs façons de voir un robot. La façon traditionnelle est celle d’un objet unique, ayant donc un « corps », et qui se meut et interagit avec le monde, les humains et les autres robots de façon plus ou moins autonome. Ils sont éventuellement humanoïdes, comme le robot Nao de la société Aldebaran, mais ce n’est pas obligatoire, par exemple les automobiles autonomes des Grand Challenges de la DARPA sont légitimement appelées des robots. Mais il y a une autre façon de les voir, en tant qu’ensemble d’objets digitaux de perception et d’action distribués dans l’environnement. Par exemple, votre foyer, lorsqu’il sera équipé de multiples objets digitaux, pourra être appelé un robot. C’est un peu la différence qu’il y a entre la vision des années 40 d’un grand ordinateur central qui soutient et gouverne une large partie des activités humaines, et la réalité d’aujourd’hui de milliards de machines distribuées sur l’Internet. Notons qu’il y a aussi de grandes machines localisées concentrant beaucoup de données et de traitement (supercomputers, cloud computing). Les deux visions ne sont donc pas contradictoires, mais complémentaires, et nous aurons probablement les deux sortes de robots, plus d’autres que nous n’avons pas encore imaginées.
Si l’on veut en savoir plus sur le domaine très actif de la robotique, on peut se reporter au livre très complet de Bruno Bonnell et al., « Viva la robolution ! ». On peut se reporter aussi aux sites de la coupe du monde de football pour toutes sortes de robots, la Robocup, par exemple pour l’édition de 2010 à Singapour http://www.robocup2010.org/.
Enfin, et cela est présent en filigrane dans ce qui précède, un système autonome doit avoir une capacité d’apprentissage. Il s’agit là également d’un domaine très actif et difficile. Cela va du data mining[1], qui consiste à trouver des régularités et des choses intéressantes dans un grand paquet de données, à l’apprentissage de boucles de contrôle d’une partie du corps d’un robot. Un aspect générique de l’apprentissage est d’apprendre de ses erreurs, et de les corriger à l’avenir. Des recherches très en avance sur leur temps existent dans ce domaine, mais demeurent encore loin du courant principal des sciences de l’information, et ressortissent plus des sciences cognitives.
[1] Traduit en français par « orpaillage de données », mais est-ce la peine de traduire ?
Moore’s Law and the Future of [Technology] Economy de Jean-Luc Dormoy est mis à disposition selon les termes de la licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage à l’Identique 3.0 non transposé.
Basé(e) sur une oeuvre à mooreslawblog.com.