Les découvertes oubliées d'Alan Turing

PRÉSENCE DE L'HISTOIRE

(Texte intégral)

par JACK COPELAND et DIANE PROUDFOOT

Connu pour la machine qui porte son nom,
il fut aussi le père des réseaux de neurones.


ENCADRÉS :

  • Turing et le connexionnisme
  • L'oracle qui calcule l'incalculable

    INTER-TITRES :

  • La machine de type b
  • Calculer l'incalculable...
  • À la recherche de l'oracle
  • Les dernières années

    POUR EN SAVOIR PLUS :

  • Bibliographie
  • Liens

  • Tous les ordinateurs actuels sont des descendants de la «machine de Turing» conçue en 1935 par Alan Mathison Turing. Ce mathématicien britannique fut également un pionnier de l'intelligence artificielle  : il proposa un test – fameux, mais controversé – permettant de déterminer si un ordinateur «pense». Au cours de la Seconde Guerre mondiale, il contribua à décrypter le code allemand Enigma dans le cadre d'une opération britannique secrète qui, d'après les historiens, abrégea de deux ans la guerre en Europe. Au moment de sa mort à 41 ans, Turing travaillait sur ce que l'on nomme aujourd'hui la «vie artificielle», simulant la chimie de la croissance – de la morphogenèse.

    Tout au long de sa carrière, Turing s'est peu préoccupé de faire connaître ses idées, de sorte que certains aspects de ses travaux sont passés inaperçus ou ont été oubliés. Rares sont ceux, même parmi les spécialistes de l'informatique, qui connaissent les travaux de Turing sur l'informatique «neuronale». De surcroît, ses conceptions novatrices des «hyperordinateurs» n'ont pas été prises en compte ; des spécialistes pensent que les hyperordinateurs de Turing pourront un jour résoudre des problèmes jugés insolubles aujourd'hui.

    Les ordinateurs dévorent les nombres. En quelques secondes, ils calculent la trajectoire des fusées ou les résultats comptables des grandes sociétés. En revanche, la programmation des actions apparemment simples, que nous accomplissons sans même y penser, telles que reconnaître un visage ou lire un livre, est autrement difficile. Les réseaux de neurones du cerveau humain ont des capacités dont sont encore dépourvus les ordinateurs ; aussi, les informaticiens tentent-ils de reproduire, par l'informatique, le fonctionnement du cerveau humain.

    Le connexionnisme est cette nouvelle branche de l'informatique où les calculs sont effectués par des réseaux de neurones artificiels. Les informaticiens simulent les neurones et leurs connexions sur des ordinateurs (tout comme les ingénieurs créent des modèles virtuels d'ailes d'avion ou de gratte-ciel). Un algorithme d'apprentissage ajuste les connexions entre neurones, pour que la machine, dédiée à une tâche précise, l'accomplisse de mieux en mieux.

    Les connexionnistes modernes considèrent Frank Rosenblatt, qui publia le premier article sur le sujet en 1957, comme le fondateur de la discipline ; or, dès 1948, Turing avait étudié les réseaux de neurones dans un article intitulé Intelligent Machinery.

    La machine de type b

    Turing écrit cet article alors qu'il travaille au Laboratoire de physique de Londres. Considérant que l'article ne vaut guère mieux qu'une «dissertation d'écolier», son directeur, Charles Darwin – le petit-fils du naturaliste – le rejette. En réalité, cet article visionnaire était le premier de tous ceux qui allaient être publiés sur l'intelligence artificielle. Dans ce manuscrit, qui ne fut publié qu'en 1968, 14 ans après sa mort, le mathématicien britannique formulait les principes du connexionnisme, et introduisait plusieurs concepts fondateurs de l'intelligence artificielle, que d'autres redécouvriraient ultérieurement.

    Dans cet article, Turing invente une sorte de réseau de neurones, qu'il dénomme «machine non organisée de type b», constituée de neurones artificiels et de dispositifs qui modifient leurs connexions. Les machines de type b incluent autant de neurones que l'on veut, connectés comme on veut, mais chaque connexion entre deux neurones passe par un dispositif modificateur.

    Les réseaux de neurones du cerveau.

     

    Tous les modificateurs de connexions ont deux fibres d'apprentissage. Une impulsion sur l'une d'entre elles met le modificateur en «mode passage», dans lequel une entrée, soit 0 soit 1, traverse sans être modifiée et devient une sortie. Une impulsion sur l'autre fibre met le modificateur en «mode interruption», où la sortie est toujours égale à 1, quelle que soit l'entrée. Dans cette configuration, le modificateur détruit toute information qui traverse la connexion à laquelle il est lié.

    Une fois initialisé le modificateur conserve sa fonction («passage» ou «interruption»), à moins qu'il ne reçoive une impulsion sur l'autre fibre d'apprentissage. Ces modificateurs de connexions, dont le principe est très astucieux, permettent à une machine non organisée de type b d'apprendre au moyen de ce que Turing appelait «des interférences appropriées, qui imitent les mécanismes éducatifs». Selon Turing, «le cortex d'un jeune enfant est une machine non organisée, qui se structure grâce à un entraînement adapté».

    Chaque neurone du modèle de Turing a deux fibres d'entrée, et la sortie est une fonction logique simple de ses deux entrées. Chaque neurone du réseau effectue la même opération logique suivante : si l'une des deux entrées est 0, la sortie est 1 ; si les deux entrées sont 1, la sortie est 0. Ces neurones sont de type NAND (de l'anglais not and)

    Turing avait choisi ce type de porte parce que toutes les autres opérations logiques (ou booléennes) sont exécutables par des ensembles de neurones de ce type. De plus, il a montré que les modificateurs de connexions eux-mêmes peuvent être créés à partir de neurones NAND. Ainsi, Turing construisait un réseau constitué uniquement de neurones NAND et de leurs fibres de connexion, un modèle de cortex parmi les plus simples que l'on puisse imaginer.

    En 1958, Rosenblatt définit le connexionnisme : «L'information est mémorisée sous forme de nouvelles connexions, ou de canaux de transmission dans le système nerveux (ou par la création de conditions équivalentes à de nouvelles connexions)». La destruction de connexions existantes peut être fonctionnellement équivalente à la création de nouvelles connexions ; aussi, pour construire un réseau destiné à accomplir une tâche spécifique, les informaticiens peuvent partir d'un réseau qui aurait trop de connexions et en détruire certaines. Les machines de type b de Turing apprennent par création et destruction de connexions.

    Initialement, les machines de type b contiennent des connexions interneuronales aléatoires dont les modificateurs ont été mis au hasard sur «passage» ou «interruption». Au cours de l'apprentissage, les connexions inutiles sont détruites par basculement sur le mode interruption des modificateurs qui leurs sont connectés. Inversement, en faisant passer un modificateur du mode interruption au mode passage, on crée une nouvelle connexion. Ces inactivations et activations sélectives des connexions façonnent le réseau aléatoire initial en un réseau organisé pour une tâche donnée.

    Turing étudia d'autres sortes de machines initialement non organisées ; il rêvait de simuler un réseau neuronal et les mécanismes d'apprentissage à l'aide d'un ordinateur. Il voulait «laisser tourner le système pendant un bon moment et l'examiner ensuite, comme un inspecteur d'école, pour constater les progrès réalisés». Hélas, ses travaux venaient trop tôt : ce n'est qu'en 1954, l'année de la mort de Turing, que Belmont Farley et Wesley Clark réussirent la première simulation d'un petit réseau de neurones sur un ordinateur.

    Un réseau spécialisé pouvait-il devenir universel? Turing muni d'un crayon et de papier a montré qu'un réseau de neurones de type b suffisamment grand pouvait être configuré (grâce à des modificateurs de connexions) et devenir un ordinateur généraliste. Cette découverte éclairait l'un des principaux aspects de l'apprentissage humain.

    En effet, les mécanismes cognitifs sont séquentiels et complexes, faisant intervenir le langage ou d'autres formes de représentations symboliques, comme les formules dans les calculs mathématiques. Pourtant, les mécanismes cognitifs ne sont rien d'autres que des décharges de neurones. Les cogniciens sont confrontés à une question lancinante : comment faire converger ces deux approches?

    Turing avança une solution  : le cortex est un réseau de neurones qui agit comme un ordinateur à usages multiples, capable d'accomplir les processus symboliques les plus abstraits. Cette affirmation, très en avance sur son temps en 1948, reste aujourd'hui encore parmi les meilleures réponses possibles à l'une des questions les plus ardues des sciences cognitives.

    Calculer l'incalculable...

    En 1935, Turing invente le dispositif connu aujourd'hui sous le nom de «machine universelle de Turing». Elle est constituée d'une mémoire illimitée qui stocke à la fois le programme, les données et d'une tête de lecture-écriture qui parcourt la mémoire, symbole par symbole, lisant l'information et ajoutant de nouvelles données. Chaque instruction de base de la machine est très simple : par exemple «identifier le symbole sur lequel la tête de lecture est positionnée», «écrire le chiffre 1», «se décaler d'un cran vers la gauche». La complexité naît de l'association d'un grand nombre de ces opérations de base. En dépit de sa simplicité, une machine de Turing peut exécuter les mêmes tâches que les plus puissants ordinateurs d'aujourd'hui. En fait, tous les ordinateurs modernes sont, par essence, des machines universelles de Turing.

    En 1935, Turing voulait créer une machine, aussi simple que possible, et capable de faire les mêmes calculs qu'un mathématicien pourrait exécuter en utilisant une méthode algorithmique, sans limitation de temps, d'énergie, de papier ni de crayons et en étant parfaitement concentré. Cette capacité lui valu le qualificatif d'«universelle». Comme Turing l'écrivait lui-même, «Les ordinateurs sont conçus pour remplir n'importe quelle tâche qu'un opérateur humain discipliné, mais dépourvu d'intelligence, pourrait accomplir.»

    Si puissants que soient ces ordinateurs, peut-on en concevoir de plus performants? On peut effectivement décrire de tels «hyperordinateurs» sur le papier, mais personne ne sait si l'on pourra en construire un jour. Un nombre croissant d'informaticiens travaillent sur ces hyperordinateurs. Selon certains, le cerveau humain – le processeur le plus complexe que l'on connaisse – serait en fait un hyperordinateur naturel.

    Avant que l'on s'intéresse aux hyperordinateurs, on pensait que tout problème de traitement d'informations trop complexe pour une machine universelle de Turing était «incalculable». En ce sens, un hyperordinateur calcule l'incalculable.

    Certaines opérations paraissent défier les ordinateurs classiques même dans les domaines les plus élémentaires des mathématiques. Par exemple, quand on donne à une machine de Turing des propositions arithmétiques choisies au hasard, elle ne sait pas toujours distinguer ce qui est un théorème (7+5 = 12) de ce qui n'en est pas un (tout nombre est la somme de deux nombres pairs). Un autre problème incalculable est de nature géométrique. Avec un jeu de carrés de tailles différentes et dont des arêtes ont des couleurs différentes, on doit paver le plan ; les carrés doivent se toucher (sans se superposer) et les arêtes adjacentes doivent être de même couleur. Les logiciens William Hanf et Dale Myers de l'Université de Hawaï ont découvert un jeu de carrés qui pave le plan, mais les motifs sont trop compliqués pour être calculés par une machine de Turing. Enfin, en informatique, une machine de Turing ne peut pas toujours prévoir si un programme aura une fin ou s'il continuera à tourner sans fin. Aucun langage de programmation standard (Pascal, basic, Prolog, c,...) n'a d'outil qui détecterait tous les bogues risquant de faire échouer un programme, notamment les erreurs qui aboutissent à des boucles infinies.

    Turing a été le premier à rechercher des machines qui mèneraient à bien des tâches mathématiques trop compliquées pour la machine de Turing. En 1938, dans sa thèse de doctorat à l'Université de Princeton, il décrivait «un nouveau type de machine», la «machine o».

    C'est une machine de Turing pourvue d'une boîte noire, ou «oracle», un dispositif qui exécuterait les tâches incalculables. Sinon, les machines o seraient identiques aux ordinateurs classiques. Un programme alimenterait la machine qui produirait une sortie numérique à partir de l'entrée, en utilisant un procédé itérant des opérations de base de la machine ; l'une d'entre elles consisterait à transmettre les données à l'oracle et à enregistrer sa réponse.

    À la recherche de l'oracle

    Turing ne donnait aucune indication sur le fonctionnement d'un oracle, pas plus qu'il n'avait expliqué, dans ses travaux antérieurs, comment une machine de Turing accomplissait ses fonctions de base, par exemple, «identifier le symbole dans la tête de lecture». Toutefois, on peut en imaginer les principes fondateurs (voir L'oracle qui calcule l'incalculable). En principe, même un réseau de type b adéquat pourrait calculer l'incalculable, à condition que l'activité des neurones soit désynchronisée : quand une horloge centrale impose la même cadence à tous les neurones, le fonctionnement du réseau est parfaitement simulé par une machine universelle de Turing.

    En théorie, les hyperordinateurs distingueraient une proposition mathématique qui est un théorème d'une proposition qui n'en est pas un ; un correcteur de bogues pourrait même prévoir si un programme, quel que soit le langage dans lequel il est écrit, entrerait ou non dans une boucle infinie.

    Si l'on parvenait un jour à construire des hyperordinateurs, on pourra résoudre d'innombrables problèmes de logique et de mathématique encore jugés insolubles. Le succès de l'entreprise tient essentiellement à une interrogation  : réussira-t-on à concevoir un oracle?

    Des recherches sont menées tant en physique, qu'en chimie ou en biologie. Peut-être la solution viendra-t-elle de molécules complexes ou de structures qui s'arrangent selon des motifs compliqués. Ou bien, comme le pense Jon Doyle de l'Institut de technologie du Massachusetts, peut-être existe-t-il, dans la nature, des systèmes qui auraient un spectre discret, accompliraient des tâches incalculables, et produiraient des sorties appropriées (0 ou 1) après avoir été bombardées par le signal d'entrée.

    Hormis les logiciens, nul ne s'est intéressé aux machines o de Turing qui ont sombré dans l'oubli, et un mythe est apparu. D'après un récit apocryphe, Turing aurait démontré au milieu des années 1930 que les hyperordinateurs sont irréalisables. Avec le logicien Alonzo Church, son directeur de thèse à Princeton, il aurait énoncé un principe selon lequel une machine de Turing peut simuler le comportement de toute autre machine de traitement de l'information. Selon cette proposition, nommée à tort la «thèse de Church-Turing» (bien qu'ils n'en soient pas les auteurs), aucune machine ne peut traiter des informations que ne pourrait traiter une machine de Turing. En fait, Church et Turing affirmaient seulement qu'une machine de Turing pouvait remplacer n'importe quel mathématicien humain travaillant avec du papier et un crayon et suivant une méthode algorithmique, affirmation bien plus modérée et ne minimisant pas du tout les potentialisés des hyperordinateurs.

    Même ceux qui travaillent sur les hyperordinateurs n'accordent pas aux contributions théoriques innovantes de Turing la place qu'elles méritent. Les spécialistes parlent couramment de «dépasser la limite de Turing» pour le traitement des informations. On lit quelquefois que les nouvelles machines «vont bien au-delà des conceptions de Turing» et sont «des ordinateurs que jamais Turing n'avait imaginés», oubliant que le génie britannique avait élaboré le concept il y a plus de 50 ans. Il est dommage que les hyperordinateurs de Turing semblent devoir connaître le même sort que celui qu'ont connu ses idées sur le connexionnisme : l'oubli.

    Les dernières années

    À la fin de sa vie, au début des années 1950, Turing ouvrit un nouveau champ de recherches, celui de la vie artificielle. Il cherchait à simuler un mécanisme chimique où les gènes d'un œuf fécondé détermineraient la structure anatomique de l'animal ou de la plante à venir. Selon lui, ces recherches n'étaient pas sans rapport avec celles qu'il menait sur les réseaux de neurones, parce que «la structure du cerveau résulte nécessairement d'un mécanisme génétique d'embryogenèse et cette théorie, à laquelle je travaille actuellement, pourrait illustrer les contraintes que le mécanisme impose.» À cette époque, Turing fut le premier à explorer sur ordinateur les systèmes dynamiques non linéaires. Pour modéliser la chimie du développement, il utilisait des équations différentielles non linéaires.

    Alors qu'il s'engageait dans tous ces domaines encore inexplorés, Turing mourut d'un empoisonnement au cyanure ; il s'agissait probablement d'un suicide. Le 8 juin 1954, alors qu'il allait avoir 42 ans, on le retrouva mort dans sa chambre. Il laissait d'innombrables notes manuscrites et des programmes informatiques. Plusieurs dizaines d'années après, on ne les comprend pas encore tous.


    Jack Copeland est professeur d'informatique à l'Université de Portsmouth. Diane Proudfoot est professeur de philosophie à l'Université de Canterbury, en Nouvelle-Zélande, où ils dirigent tous deux un Projet Turing qui développe les idées de Turing.



    POUR EN SAVOIR PLUS :



    LIENS :

    Retour

     

     


    N° 260 juin 1999
    © Pour la Science (1999)