L’abstraction technologique comme mode de fonctionnement

Le cerveau reconfiguré

Citation : Fraser, P. (2019), « Intelligence artificielle, le fantasme de la conscience », Panoramas, repères et fragments, vol. 1 n° 2, Paris : Éditions V/F, p. 79-82.


Comme nous l’avons vu dans les cinq articles précédents, l’utilisation de couches d’abstraction permet d’unifier plusieurs aspects essentiels de la programmation, telles la représentation symbolique, l’approche « diviser pour régner » des algorithmes, et l’encapsulation quasi hermétique de la boîte noire. Chaque couche d’un ordinateur est donc conçue pour être séparée et fermée, dans une sorte d’autarcie technologique, mais dépend obligatoirement de la couche inférieure pour parvenir à exécuter ses opérations de base. Tout niveau supérieur, quant à lui, doit être traduit en un niveau inférieur pour être exécuté, tout comme le triage de livres doit être traduit en instructions de niveau inférieur qui doivent ensuite être traduites en d’autres niveaux d’instructions encore inférieurs.

La hiérarchie des couches d’abstraction d’un ordinateur n’est donc pas infinie, car il existe une couche inférieure irréductible qui ne se traduit par aucune autre couche inférieure, et qui est physiquement implémentée. Dans les ordinateurs modernes, cette couche est composée de transistors, minuscules commutateurs électroniques possédant des propriétés correspondant à la logique booléenne de base. Au fur et à mesure que les couches sont traduites dans d’autres couches, les systèmes symboliques peuvent ainsi être représentés en utilisant d’autres symboles, ou en utilisant des représentations physiques. La hiérarchie ainsi perçue dérive partiellement du fait qu’une couche est représentée physiquement, rendant ainsi sa relation à l’ordinateur physique beaucoup plus facile à comprendre.

Cependant, il serait tout à fait incorrect de considérer que la couche irréductible, celle qui est physiquement implémentée, peut mieux expliquer le comportement de l’ordinateur que les couches supérieures, au même titre que ce n’est pas en examinant la structure moléculaire des neurones d’un cerveau qu’il sera possible de mieux expliquer le comportement de ce cerveau.

Procédons maintenant, si vous le voulez bien, à un autre exercice de pensée. Supposons, pour un instant, que vous ouvrez l’un des fichiers affichés sur le bureau de votre ordinateur. L’instruction « si la souris est positionnée sur l’icône du fichier qui s’affiche sur le bureau de l’ordinateur, et s’il y a un double clic sur le bouton de la souris, il faut ouvrir le fichier » est forcément et causalement équivalente à une description de la série de changements d’états qui se sont produits dans les transistors de votre ordinateur lorsque vous avez ouvert le fichier.

Vue sous un autre angle, chaque instruction est aussi une manière correcte d’interpréter ce que fait l’ordinateur, car chacune de celles-ci impose un ensemble distinct de représentations et de propriétés symboliques sur ledit ordinateur physique et correspondant à deux couches d’abstraction différentes. En ce sens, l’exécution de l’instruction ne peut pas être considérée comme étant seulement une suite de 0 et de 1, ou bien, juste une série d’instructions au niveau de la machine, ou juste un calcul arithmétique, ou simplement l’ouverture d’un fichier, parce que l’ordinateur, intrinsèquement parlant, est en fait un objet physique qui incarne l’unité de toutes ces interprétations symboliques. Donc, toute description de l’ordinateur qui n’est pas uniquement physique doit admettre la signification équivalente de chaque couche de description et d’abstraction.

Il semblerait donc que le concept même d’ordinateur repose sur une profonde contradiction entre le dualisme et l’unité. Partant de là, si un logiciel est indépendant du matériel qui l’exécute, il pourrait tout aussi bien fonctionner sur plusieurs autres substrats matériels qui fonctionnerait de manière tout à fait différente. Cependant, un logiciel, et peu importe le logiciel, dépend essentiellement et irréductiblement d’une représentation physique pour s’exécuter. De là, dans un ordinateur donné, les couches apparemment indépendantes n’existent pas seulement simultanément, mais sont en fait identiques, en ce sens qu’elles sont chacune des manières équivalentes de décrire le même système physique.

Plus important encore, une description à un niveau inférieur peut être pratiquement impossible à traduire dans une description originale de niveau supérieur. Pour mieux saisir l’essence même de cette idée, revenons pour un moment à l’expérience de trier des livres en ordre alphabétique. Supposons un instant que vous engagiez un ami pour faire le travail à votre place, alors que vous avez décrit dans un petit guide d’utilisation la procédure à suivre et que vous la lui remettez. Concrètement, tout ce que vous lui donnez n’est qu’une simple liste d’instructions, dont chacune est aussi simple que le fait de décider si deux nombres sont égaux. Lorsque votre ami suit à la lettre vos instructions, il les exécute selon les paramètres que vous avez spécifiés. Si votre ami est un peu bête, il se pourrait bien qu’il ne comprenne pas du tout la finalité du processus au-delà du simple fait de comparer entre eux des nombres. Autrement dit, lorsque votre ordinateur compare des nombres, la seule chose qu’il fait, c’est de comparer des nombres. En ce sens, il n’a strictement aucune idée que la finalité de son processus est de classer alphabétiquement des titres de livres.

Si on envisage les choses sous un angle différent, savoir ce qui se passe à une étape bien précise du traitement ne permet pas pour autant de connaître la finalité réelle du traitement global. Par exemple, si vous observez au microscope le comportement d’un neurone du cerveau, et même si vous en connaissez les intrants et les extrants, rien ne peut pour autant vous dire à quoi l’activité de ce neurone spécifique est dédiée. Sert-elle à faire bouger un muscle, à contrôler un organe, ou bien à activer la zone du langage ou la zone de la vision ?

En fait, toute description de bas niveau d’un logiciel fournit forcément une description causalement fermée de son comportement, tout en obscurcissant du même coup les concepts de niveau supérieur utilisés à l’origine pour créer le logiciel en question. Il est donc fortement probable que l’on ne puisse déduire le but et la conception d’un programme, ou de sa structure interne, simplement à partir de son comportement de niveau inférieur.

© Pierre Fraser (Ph.D.), sociologue, 2020
© Photo entête, Scientific American


Accéder au dossier de recherche

Trois étapes doivent être réalisées pour émuler le fonctionnement d’un cerveau : (i) cartographier en haute résolution un cerveau jusqu’à un niveau submicronique ; (ii) simuler en temps réel, dans un ordinateur, l’activité électrochimique de tous les neurones et de l’ensemble de toutes les connexions du cerveau qui les relient entre eux ; (iii) interfacer la simulation avec un environnement externe dans un substrat non biologique. De là, Ray Kurzweil pense qu’il sera possible, vers 2050, de télécharger un cerveau dans un ordinateur.


Votre commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.