Des chercheurs étudient quelles parties du cerveau sont sollicitées lorsqu’une personne évalue un programme informatique

code du cerveau

Crédit : Pixabay/CC0 Domaine public

L’imagerie par résonance magnétique fonctionnelle (IRMf), qui mesure les changements du flux sanguin dans le cerveau, a été utilisée au cours des deux dernières décennies pour une variété d’applications, y compris “l’anatomie fonctionnelle” – un moyen de déterminer quelles zones du cerveau sont allumées lorsque une personne accomplit une tâche particulière. L’IRMf a été utilisée pour observer le cerveau des gens pendant qu’ils faisaient toutes sortes de choses – résoudre des problèmes de mathématiques, apprendre des langues étrangères, jouer aux échecs, improviser au piano, faire des mots croisés et même regarder des émissions de télévision comme “Curb Your Enthusiasm”. .”

Une activité qui a reçu peu d’attention est la programmation informatique – à la fois la corvée d’écriture de code et la tâche tout aussi déroutante d’essayer de comprendre un morceau de code déjà écrit. “Compte tenu de l’importance que les programmes informatiques ont pris dans notre vie quotidienne”, déclare Shashank Srikant, titulaire d’un doctorat. étudiant au Laboratoire d’informatique et d’intelligence artificielle du MIT (CSAIL), “ça vaut sûrement la peine d’être étudié. De nos jours, de nombreuses personnes traitent du code – lisant, écrivant, concevant, déboguant – mais personne ne sait vraiment ce qui se passe dans leur tête quand Cela arrive.”

Heureusement, il a fait quelques “progrès” dans cette direction dans un article – écrit avec des collègues du MIT Benjamin Lipkin (l’autre auteur principal de l’article, avec Srikant), Anna Ivanova, Evelina Fedorenko et Una-May O’Reilly – qui était présenté plus tôt ce mois-ci lors de la conférence sur les systèmes de traitement de l’information neuronale qui s’est tenue à la Nouvelle-Orléans.

Le nouvel article s’appuie sur une étude de 2020, écrite par plusieurs des mêmes auteurs, qui a utilisé l’IRMf pour surveiller le cerveau des programmeurs alors qu’ils “comprenaient” de petits morceaux, ou des extraits, de code. (La compréhension, dans ce cas, signifie regarder un extrait et déterminer correctement le résultat du calcul effectué par l’extrait.)

Les travaux de 2020 ont montré que la compréhension du code n’activait pas systématiquement le système linguistique, les régions du cerveau qui gèrent le traitement du langage, explique Fedorenko, professeur de sciences du cerveau et cognitives (BCS) et co-auteur de l’étude précédente. “Au lieu de cela, le réseau de demande multiple – un système cérébral lié au raisonnement général et prenant en charge des domaines tels que la pensée mathématique et logique – était fortement actif.” Le travail en cours, qui utilise également des scans IRM de programmeurs, prend “une plongée plus profonde”, dit-elle, cherchant à obtenir des informations plus fines.

Alors que l’étude précédente portait sur 20 à 30 personnes pour déterminer sur quels systèmes cérébraux, en moyenne, on s’appuie pour comprendre le code, la nouvelle recherche examine l’activité cérébrale des programmeurs individuels lorsqu’ils traitent des éléments spécifiques d’un programme informatique. Supposons, par exemple, qu’il y ait un morceau de code d’une ligne qui implique la manipulation de mots et un morceau de code séparé qui implique une opération mathématique.

“Puis-je partir de l’activité que nous voyons dans le cerveau, les signaux cérébraux réels, pour essayer de faire de l’ingénierie inverse et comprendre ce que, spécifiquement, le programmeur regardait ?” demande Srikant. “Cela révélerait quelles informations relatives aux programmes sont codées de manière unique dans notre cerveau.” Pour les neuroscientifiques, note-t-il, une propriété physique est considérée comme “codée” s’ils peuvent déduire cette propriété en regardant les signaux cérébraux de quelqu’un.

Prenez, par exemple, une boucle – une instruction dans un programme pour répéter une opération spécifique jusqu’à ce que le résultat souhaité soit atteint – ou une branche, un type d’instruction de programmation différent qui peut amener l’ordinateur à passer d’une opération à une autre. Sur la base des schémas d’activité cérébrale observés, le groupe pouvait dire si quelqu’un évaluait un morceau de code impliquant une boucle ou une branche. Les chercheurs pouvaient également dire si le code était lié à des mots ou à des symboles mathématiques, et si quelqu’un lisait du code réel ou simplement une description écrite de ce code.

Cela a répondu à une première question qu’un enquêteur pourrait poser pour savoir si quelque chose est, en fait, codé. Si la réponse est oui, la question suivante pourrait être : où est-il encodé ? Dans les cas cités ci-dessus – boucles ou branches, mots ou mathématiques, code ou une description de ceux-ci – les niveaux d’activation cérébrale se sont avérés comparables à la fois dans le système linguistique et dans le réseau à demandes multiples.

Une différence notable a cependant été observée en ce qui concerne les propriétés de code liées à ce qu’on appelle l’analyse dynamique.

Les programmes peuvent avoir des propriétés « statiques », telles que le nombre de chiffres dans une séquence, qui ne changent pas dans le temps. “Mais les programmes peuvent aussi avoir un aspect dynamique, comme le nombre de fois qu’une boucle s’exécute”, explique Srikant. “Je ne peux pas toujours lire un morceau de code et savoir, à l’avance, quelle sera la durée d’exécution de ce programme.” Les chercheurs du MIT ont découvert que pour l’analyse dynamique, les informations sont bien mieux codées dans le réseau à demandes multiples que dans le centre de traitement du langage. Cette découverte était un indice dans leur quête pour voir comment la compréhension du code est distribuée dans tout le cerveau – quelles parties sont impliquées et lesquelles jouent un rôle plus important dans certains aspects de cette tâche.

L’équipe a réalisé une deuxième série d’expériences, qui incorporaient des modèles d’apprentissage automatique appelés réseaux de neurones qui étaient spécifiquement formés sur des programmes informatiques. Ces modèles ont réussi, ces dernières années, à aider les programmeurs à compléter des morceaux de code. Ce que le groupe voulait savoir, c’était si les signaux cérébraux observés dans leur étude lorsque les participants examinaient des morceaux de code ressemblaient aux schémas d’activation observés lorsque les réseaux de neurones analysaient le même morceau de code. Et la réponse à laquelle ils sont arrivés était un oui mitigé.

“Si vous insérez un morceau de code dans le réseau de neurones, il produit une liste de chiffres qui vous indique, d’une certaine manière, en quoi consiste le programme”, explique Srikant. Les scanners cérébraux de personnes étudiant des programmes informatiques produisent de la même manière une liste de nombres. Lorsqu’un programme est dominé par la ramification, par exemple, “vous voyez un schéma distinct d’activité cérébrale”, ajoute-t-il, “et vous voyez un schéma similaire lorsque le modèle d’apprentissage automatique essaie de comprendre ce même extrait”.

Mariya Toneva de l’Institut Max Planck pour les systèmes logiciels considère des découvertes comme celle-ci “particulièrement excitantes. Elles soulèvent la possibilité d’utiliser des modèles informatiques de code pour mieux comprendre ce qui se passe dans notre cerveau lorsque nous lisons des programmes”, dit-elle.

Les scientifiques du MIT sont définitivement intrigués par les connexions qu’ils ont découvertes, qui mettent en lumière la façon dont des morceaux discrets de programmes informatiques sont encodés dans le cerveau. Mais ils ne savent pas encore ce que ces idées récemment glanées peuvent nous dire sur la façon dont les gens mettent en œuvre des plans plus élaborés dans le monde réel.

L’exécution de tâches de ce type, comme aller au cinéma, ce qui nécessite de vérifier les horaires, d’organiser le transport, d’acheter des billets, etc., ne pouvait pas être gérée par une seule unité de code et un seul algorithme. L’exécution réussie d’un tel plan nécessiterait plutôt une « composition » : enchaîner divers extraits et algorithmes dans une séquence sensée qui mène à quelque chose de nouveau, tout comme l’assemblage de mesures individuelles de musique afin de créer une chanson ou même une symphonie. La création de modèles de composition de code, déclare O’Reilly, chercheur principal au CSAIL, “est au-delà de notre portée pour le moment”.

Lipkin, titulaire d’un doctorat BCS. étudiant, considère qu’il s’agit de la prochaine étape logique – déterminer comment «combiner des opérations simples pour créer des programmes complexes et utiliser ces stratégies pour traiter efficacement les tâches de raisonnement général». Il croit en outre que certains des progrès accomplis jusqu’à présent par l’équipe vers cet objectif sont dus à sa composition interdisciplinaire.

“Nous avons pu tirer parti d’expériences individuelles en matière d’analyse de programme et de traitement du signal neuronal, ainsi que de travaux combinés sur l’apprentissage automatique et le traitement du langage naturel”, a déclaré Lipkin. “Ces types de collaborations deviennent de plus en plus courants à mesure que les neuro- et les informaticiens unissent leurs forces dans la quête de la compréhension et de la construction de l’intelligence générale.”

Plus d’information:
Article : Représentations convergentes des programmes informatiques dans les réseaux de neurones humains et artificiels

Fourni par le Massachusetts Institute of Technology

Cette histoire est republiée avec l’aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l’actualité de la recherche, de l’innovation et de l’enseignement du MIT.

Citation: Des chercheurs étudient quelles parties du cerveau sont engagées lorsqu’une personne évalue un programme informatique (2022, 22 décembre) récupéré le 22 décembre 2022 sur https://techxplore.com/news/2022-12-brain-engaged-person.html

Ce document est soumis au droit d’auteur. En dehors de toute utilisation loyale à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.

Laisser un commentaire