La racine ultime de la stupidité de l’IA

Cet article fait suite à Pourquoi l’IA n’est pas, et de loin, aussi intelligente qu’elle en a l’air

Par Jonathan Tennenbaum
Paru sur Asia Times sous le titre The ultimate root of AI stupidity


Le deep learning (apprentissage profond) de l’IA a permis de réaliser des progrès en matière de reconnaissance d’images et de traduction, mais des bévues mettent en évidence d’énormes lacunes encore actuellement.

Maquette d’une machine de Turing par Mike Delaney. Source : Wikimedia

La racine ultime de la stupidité des systèmes d’IA, je soutiens, réside dans leur caractère strictement algorithmique. L’IA telle qu’on la conçoit actuellement est basée sur des systèmes de traitement numérique qui effectuent des opérations binaires-numériques de manière progressive selon des ensembles fixes d’algorithmes, à partir d’un tableau d’entrées numériques.

Certains peuvent contester cette caractérisation, en soulignant que les systèmes d’IA peuvent constamment changer leurs propres « règles » – en se reprogrammant, pour ainsi dire. C’est vrai, mais l’auto-programmation doit suivre un algorithme quelconque.

Il en va de même pour les processus par lesquels le système réagit à diverses entrées. En fin de compte, chaque système d’IA est régi par un ensemble de règles et de procédures qui sont intégrées dans la conception du système et qui restent inchangées pendant son fonctionnement tant que le système reste intact.

Alan Turing, l’un des grands pionniers de l’intelligence artificielle, a réussi à donner une définition précise de la notion générale d’ « algorithme » ou de « procédure mécanique » qui englobe tous les systèmes d’IA réalisables sur la base d’un hardware numérique. Turing a démontré que tout système de ce type est mathématiquement équivalent à une entité abstraite connue aujourd’hui sous le nom de « machine de Turing ».

En outre, il existe une machine de Turing unique et universelle qui peut simuler n’importe quelle autre machine, lorsque la conception de cette dernière est entrée sous une forme codée appropriée. Sur cette base, on peut étudier les possibilités et les limites théoriques des systèmes d’IA par des méthodes mathématiques (la vitesse et d’autres aspects physiques étant laissés de côté).

Schéma abstrait d’une machine de Turing. Source : Wikimedia

Le diagramme montre une bande sans fin avec des carrés dans lesquels est inscrit soit zéro, soit un. La machine est dotée d’une tête qui peut lire, effacer ou imprimer zéro ou un, et déplacer la bande d’une case vers la droite ou la gauche. Les rectangles numérotés en dessous contiennent les règles (le programme) de la machine.

La règle 1 dit, par exemple : si vous lisez un zéro, puis l’effacez et imprimez un, déplacez la bande d’un espace vers la droite et passez à la règle 4 ; mais si vous lisez un, laissez le un inchangé, déplacez la bande d’un espace vers la gauche et appliquez à nouveau la règle 1. La machine commence à la règle 1 avec une séquence de zéros et de uns écrits sur la bande. Il peut aussi y avoir une règle qui dit à la machine de s’arrêter.

Vous pouvez aller sur ce lien voir une animation (un peu lente), montrant comment fonctionne une machine de Turing.

Quel que soit le degré de sophistication d’un système d’IA, quelle que soit la manière dont nous combinons diversement les systèmes d’IA dans des architectures hiérarchiques parallèles auto-modifiantes, nous nous retrouvons toujours, en fin de compte, avec une machine de Turing fonctionnant selon un ensemble fixe de règles.

La stupidité est intégrée dans les systèmes d’IA, tant à sa base qu’au niveau le plus élevé.

Au niveau micro, nous avons les milliards d’éléments de commutation individuels sur les puces à circuit intégré, chacun d’entre eux effectuant ses transitions marche-arrêt de manière déterministe et rigoureusement mécanique. Ils sont 100% stupides. C’est ce qu’ils ont été conçus pour faire. Ils ne ressemblent guère aux cellules vivantes – neurones et cellules gliales intégrés dans le système interstitiel du cerveau – qui constituent le substrat des processus mentaux humains.

Au niveau macro, le comportement d’un système d’IA est soumis aux règles qui le régissent. Il n’a aucun moyen de les modifier de l’intérieur. Il interprète et réagit à tous les événements en conséquence et continuera de le faire même s’ils conduisent à une catastrophe.

Ainsi, tous les systèmes d’IA fondés sur du harware numérique sont intrinsèquement stupides, même lorsqu’ils manifestent un comportement intelligent, selon les deux premiers de mes quatre critères de stupidité tels qu’ils sont exposés dans la première partie de cette série. Voici à nouveau ces deux critères, pour vous les rappeler :

S 1. L’adhésion continue aux procédures, habitudes, modes de pensée et de comportement existants, combinée à une incapacité à reconnaître les signes clairs indiquant que ceux-ci sont inappropriés, voire désastreux dans le cas concret donné. Une adhésion rigide à l’expérience passée et un apprentissage par cœur face à des situations qui exigent une réflexion neuve. On pourrait parler de comportement aveuglément « algorithmique » au sens large.

S 2. L’incapacité à « penser hors des sentiers battus », de considérer la situation dans son ensemble, de sortir mentalement du processus dans lequel on est engagé et de se poser des questions plus vastes telles que « Qu’est-ce que je suis réellement en train de faire ? » et « Est-ce que ceci a un sens ? »

Examinons ensuite quelques exemples pour voir comment la stupidité des systèmes d’IA se manifeste dans leurs performances pratiques.

Le deep learning

Les systèmes dits de deep learning jouent un rôle dominant dans les applications de l’IA aujourd’hui. L’idée de base est peut-être connue de nombreux lecteurs, mais je vais la résumer brièvement ici.

Le deep learning est basé sur l’utilisation de réseaux neuronaux artificiels multicouches. Les réseaux sont composés de couches de nœuds électriquement interconnectés (des « neurones formels »), dont chacun reçoit des entrées des nœuds de la couche précédente et calcule une sortie qui va aux nœuds de la couche suivante. Les entrées de chaque nœud en provenance d’autres nœuds se voient attribuer des poids relatifs, qui sont ajustés au cours d’un processus d’ « apprentissage ».

La première couche de nœuds (la couche de gauche dans le diagramme) reçoit des entrées de l’extérieur : par exemple, les pixels d’une image à identifier. L’idée est, en ajustant les poids pertinents, de faire en sorte que les nœuds de chaque couche répondent aux motifs pertinents des données de la couche précédente, afin que les nœuds de la dernière couche nous donnent la réponse souhaitée.

Par exemple, nous pourrions vouloir qu’un de ces nœuds finaux soit activé si l’image est un cercle ; un autre nœud, si l’image est un carré.

En utilisant un algorithme extrêmement ingénieux, on peut faire en sorte qu’un tel réseau ajuste progressivement ses paramètres internes par lui-même, lorsqu’il se présente avec un grand nombre de paires d’entrées et de bonnes réponses (dans cet exemple, des images correctement identifiées), de telle sorte qu’il donne de meilleures et de plus en plus de réponses pour des entrées arbitraires – au moins dans un sens statistique.

On pourrait la décrire comme une méthode très sophistiquée d’ajustement de courbe. 

Un simple réseau neuronal formel à trois couches conçu pour identifier les orientations des objets. À gauche, les pixels de l’image ; à droite, quatre sorties donnant le degré de préférence que le réseau attribue à chacune des quatre orientations lorsqu’une image est présentée. Le processus d’ « apprentissage » détermine les poids donnés aux interconnexions. Source : Wikimedia

Les Cygnes noirs et la boîte noire

L’approche du deep learning a connu des succès étonnants. Mais il y a aussi des problèmes.

Comme le processus d’optimisation est de nature statistique, il tend à ne donner les bonnes réponses que pour des entrées similaires à celles qui se sont produites fréquemment dans les ensembles sur lesquels il a fait son apprentissage. Pour les entrées rarement rencontrées, les résultats peuvent être incroyablement erronés. Ces phénomènes appelés « Cygne noirs » représentent un défi majeur pour le développement des véhicules autonomes, qui peuvent être confrontés à une grande variété de situations inhabituelles.

Le problème de la boîte noire est tout aussi grave : les réseaux de deep learning tels que ceux utilisés pour l’identification des images, ont 10 millions ou plus de paramètres internes. Les valeurs de ces millions de paramètres sont issues d’un processus d’apprentissage impliquant d’énormes quantités de données.

Le réseau est ainsi devenu une « boîte noire » : la fonction entrée-sortie du réseau est mathématiquement si compliquée que nous n’avons aucun moyen de prédire ou d’expliquer le comportement du système en général.

L’identification visuelle des objets, qui est utilisée partout à grande échelle, en est un bon exemple.

Malgré des améliorations constantes, ces systèmes ont continué à souffrir d’ identifications erronées d’objets, d’un genre que l’homme ne commettrait pratiquement jamais. De plus, de telles erreurs peuvent être délibérément provoquées par des exemples dits contradictoires, qui sont devenus un nouveau domaine de recherche en IA.

Voici (avec l’aimable autorisation de Dan Hendrycks) quelques erreurs de reconnaissance d’images par le système de reconnaissance d’images d’IA ResNet-50 – un réseau neuronal à deep learning avec 50 couches sur plus d’un million d’images.

« Banane »

L’IA voit cette image comme une « banane ». Source : Wikimedia

« Bus scolaire »

Voici un autre exemple contradictoire [qui consiste à introduire délibérément des éléments perturbateurs pour tenter de tromper les systèmes, NdT] du MIT Computer Science and Artificial Intelligence LAB, dans lequel une minuscule perturbation de l’image provoque une interprétation totalement erronée de la part d’un système de reconnaissance d’images d’IA.

« Cochon » à gauche. Après subtile altération, l’IA voit l’image de droite comme un « avion de ligne ». Crédit, Madry Lab du MIT 

Dans un exemple contradictoire typique, l’image n’est modifiée que d’une manière à peine perceptible pour un spectateur humain, mais le système d’IA donne une réponse totalement différente.

Le phénomène des exemples contradictoires démontre que ce que ces systèmes ont « appris » à faire diffère fondamentalement de la façon dont les êtres humains reconnaissent les objets. Dans de nombreux cas, les systèmes détectent une sorte de texture dans l’image – plutôt que la forme (Gestalt), qu’un être humain perçoit. Des exemples contradictoires analogues peuvent être produits pour les systèmes de reconnaissance vocale.

En règle générale, ce que l’on appelle « apprentissage » dans les systèmes d’intelligence artificielle existants n’a que peu ou pas de rapport avec la façon dont les êtres humains apprennent réellement. Au mieux, on pourrait trouver des analogies avec la mémorisation mécanique, ou les techniques skinnériennes de modification du comportement [conditionnement de type pavlovien à base de récompenses et punitions, NdT] auxquelles aucune personne intelligente ne se soumettrait.

Les exemples contradictoires sont devenus une source de préoccupation très sérieuse, notamment dans les utilisations militaires (par exemple, les systèmes d’identification de cibles) et de sécurité de l’IA. Voir par exemple « Comment les attaques contradictoires pourraient déstabiliser les systèmes d’IA militaires » et « L’intelligence artificielle militaire peut être facilement et dangereusement trompée ».

Traduire sans comprendre 

Un deuxième exemple est la traduction automatique. Ici, l’approche du deep learning a obtenu des succès extraordinaires, en grande partie grâce à sa gigantesque base de données et à ses améliorations constantes. Mais le problème de la stupidité demeure.

Google Translate en est un bon exemple. Google Translate fonctionne avec une vaste base de données, en constante augmentation, qui contient des centaines de millions de documents et de passages de texte avec des traductions appariées produites par l’homme.

Google Translate utilise entre autres la base de données multilingue des Nations Unies, qui comprend plus de 1,5 million de paires de documents alignés dans les six langues officielles de l’ONU, et la base de documents multilingues de la Commission européenne. Les traductions de phrases sont générées, corrélées avec des phrases traduites par l’homme et optimisées statistiquement pour produire la « meilleure » traduction.

Il va sans dire que la procédure de Google Translate n’implique rien d’autre que des manipulations avec des séries de zéros et de uns à partir de son entrée et de sa base de données. Théoriquement, si une personne vivait assez longtemps – probablement des milliers d’années – et avait suffisamment de patience pour effectuer les procédures de calcul, elle pourrait traduire des textes (sous forme codée numériquement) du swahili au tibétain sans connaître un mot de l’une ou l’autre langue.

Ainsi, ce que fait Google Translate est essentiellement une forme (plus ou moins) réussie de tricherie : il traduit des textes sans les comprendre. L’incapacité à comprendre est une forme de stupidité (S 4).

La stupidité de la traduction automatique basée sur le deep learning produit souvent des résultats hilarants. Je me suis amusé à alimenter divers services de traduction en ligne en textes chinois contenant des 成语 (chengyu) – des expressions idiomatiques traditionnelles, pour la plupart composées de quatre caractères.

Par exemple, le chengyu 马齿徒增 (mǎchǐtúzēng), littéralement « les dents de cheval, inutilement, poussent », pourrait être traduit – en laissant de côté l’humour, l’ironie et le rythme – par : « vieillir sans avoir accompli grand-chose ».  Intégré dans une phrase appropriée, ce chengyu peut rendre les traducteurs automatiques fous :

平心思量,一年来马齿徒增而事业无成,也只能忍气吞声当牛做马了。

Traducteur de Google : « Pensivement, au cours de la dernière année, il y a eu une augmentation du nombre de dents et aucun succès dans leur carrière.

Comme cela arrive souvent, la réponse du traducteur automatique peut être instable. Si vous entrez la phrase plusieurs fois, vous pouvez obtenir des traductions différentes.

Traducteur de Google (une deuxième fois) : « On peut penser qu’au cours de l’année écoulée, le nombre de dents a augmenté et la carrière a échoué. »

Traducteur de Baidu : « Je pense que l’année dernière, le nombre de chevaux a augmenté en vain et que leur carrière n’a pas été couronnée de succès. Je ne peux supporter que d’être un bœuf et un cheval ». *

De tels exemples montrent clairement que les systèmes de traduction d’IA, du moins ceux qui existent actuellement, n’ont pas accès au sens en soi. Ils sont à 100% stupides dans ce sens (S 4).

Partie 3 à venir.

Jonathan Tennenbaum a obtenu son doctorat en mathématiques à l’université de Californie en 1973 à l’âge de 22 ans. Également physicien, linguiste et pianiste, il est un ancien rédacteur en chef du magazine FUSION. Il vit à Berlin et voyage fréquemment en Asie et ailleurs, où il est consultant en économie, sciences et technologie.

Traduction Entelekheia
Illustration de la page d’accueil Okan Caliskan / Pixabay

* [Ajout par la traduction, réponse de Bing avec la même phrase chinoise : « Flat-mindedness, une année de dents de cheval augmenté et la carrière n’a pas atteint, mais peut aussi supporter d’avaler le bruit du bétail pour faire des chevaux. »

Pourquoi « flat-mindedeness » en anglais ? Mystère et boule de gomme…

Ajouter un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

%d blogueurs aiment cette page :