数学好=编程能力强?MIT新发现:二者激活大脑区域并不同

新闻 前端
 最近,MIT 神经科学家在 eLife 期刊发表了一项新研究: 在读代码的时候,并不会激活人类大脑涉及语言处理的区域。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

 都说学编程就像学一门新的语言,但事实真的如此吗?

  不不不,起码在读代码这件事上,你的大脑可不这么认为。

[[358960]]

  最近,MIT 神经科学家在 eLife 期刊发表了一项新研究:

  在读代码的时候,并不会激活人类大脑涉及语言处理的区域。

  相反,激活的是一个叫做多需求(multiple demand,MD)网络的分布式网络。

  而这个 MD 网络,通常在人们处理比较复杂的认知任务时被激活。

  举个例子,数学问题、填字游戏等……

[[358961]]

  怪不得……看别人的代码,一直有种很痛苦的赶脚,原来它真的是很“烧脑”啊!

  读代码时,你的大脑会发生什么?

  或许你会认为,代码嘛,本质上就是解决数学或逻辑相关的问题,那读代码会激活 MD 网络也是可以理解的。

  Too simple,too naive.

  MIT 的研究人员进一步发现:

  尽管读代码的时候激活了 MD 网络,但和数学、逻辑问题相比,它似乎更加依赖这个网络的不同部分。

  也就是说,读代码时大脑的工作状态,还不能精确复制解数学问题时的大脑认知需求。

  通讯作者 Anna A Ivanova 这样表述道:

  理解计算机代码,不同于语言,也不同于数学和逻辑,仿佛是它自己的事情一样。

  嗯,有种“VIP 专属区域”的味道了。

  研究人员测试的编程语言主要有 2 个:一个是 Python;另一个是在少儿编程较火的可视化编程语言 ScratchJr。

  测试对象是两组年轻人,分别对上述 2 个编程语言达到了精通状态。

  大致的测试过程是让这些年轻人平躺,工作人员会给他们展示代码片段和文字描述(如上图所示),并让他们预测这些代码将产生什么样的结果。

  在这个过程当中,研究人员还会用脑功能磁共振成像(fMRI)来扫描,以此来检测这些年轻人大脑的活动。

  上述的实验是这次研究的“主实验”(上图A),除此之外,还有额外的 2 个“副实验”(上图B,与定位器相关):

  MD System Localizer:困难模式,在出现的 8 个蓝色方块中,一次性记住 2 个的位置;简单模式,在出现的 4 个蓝色方块中,一次性记住 1 个的位置。

  Language System Localizer:包括一个句子,以及非单词(一次出现一个)。

  对测试对象扫描过后,便得到了如下结果。

  图中的A展示了 MD 网络在大脑左半球和右半球的位置,以及大脑涉及语言的区域。

  B 和C分别展示了在读 Python 和 ScratchJr 代码或文本时,通过 fMRI 扫描得到的响应反馈情况。

  再具体的,SR 代表句子阅读,NR 代表非单词阅读,SP 表示句子问题,CP 表示代码问题。

  从实验结果难看出,大脑中的语言区域,几乎对代码问题(CP)没有反应,或者说反应极低。

  但十分意外的是,在读代码过程中,主要激活了 MD 网络,活动分布在大脑的额叶和顶叶。

  Anna A Ivanova 对此表示道:

  MD 网络几乎可以做任何具有认知挑战性的事情。

  然而,先前的研究表明,数学和逻辑问题似乎主要依赖于左脑的 MD 区域,而涉及空间导航的任务对右脑的激活程度要高于左脑。

  MIT 这次的研究表明,读代码过程中,似乎同时激活了 MD 网络的左右两个部分;并且,读 ScratchJr 代码时,对右侧大脑的激活程度略高于左侧大脑。

  同时也推翻了以往的认知,即读代码时大脑的活动,和数学逻辑相同。

  到底更倾向于“数学逻辑”还是“语言”?

  对于人们在处理代码过程中,大脑的活动机制,更加倾向于“数学逻辑”还是“语言”,这个问题并不是第一次被拿出来研究。

  正如 Anna A Ivanova 所述,关于大脑如何学习编程,有两种思想派系:

  有人认为,为了擅长编程,人们必须强化数学能力。

  另一种观点是,由于编程和语言之间的相似性,语言技能可能更具相关性。

  第一次利用科学成像工具来做这方面研究的,需要追溯的 2014 年。

  来自帕绍大学(德国)、CMU 等机构联手,对程序员大脑如何理解代码做了研究。

  当时所采用的方法依旧是 fMRI,参与测试的是 17 名精通 Java 的学生。

  被测试的学生,每个人都需要阅读不同的几段 Java 代码片段,且难度相似,因此研究人员可以平均得到的大脑成像数据。

  这项研究虽然并没有得到非常有力的结果,但第二作者表示:

  读代码更像“语言”,是错误的。

  除了 MIT 这次在 eLife 发表的研究外,同期还有一篇配套论文,来自约翰·霍普金斯大学。

  他们的研究也表明,读代码的过程中,大脑众多的 MD 网络被激活,而不是与语言相关的区域。

  至于在读代码时,大脑是否有专属的“工作区域”,MIT 研究人员表示:

  虽然没有任何似乎明确的“编程区域”,但这种专属的大脑活动,可能在具备更多编程经验的人身上会有发展。

  实验团队介绍

  这项研究来自 MIT 脑与认知科学系。

[[358963]]

  本研究的第一作者是 Anna A Ivanova,是 MIT 的一名研究生,对语言和语义处理的神经基础感兴趣。

[[358964]]

  另外一位通讯作者叫做 Evelina Fedorenko,目前在 MIT 脑与认知科学系助理教授。

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2016-10-09 13:19:43

2020-05-08 10:12:25

脑机接口机器翻译人工智能

2019-04-04 13:00:19

Linuxshell命令

2020-10-23 11:53:06

IT文化首席信息官CIO

2016-07-06 11:38:10

移动 出海

2019-03-25 22:04:19

编程PythonJava

2022-08-16 08:35:45

Black Hat网络安全

2012-06-20 09:39:02

恶意网站

2013-02-28 10:24:18

2021-10-15 10:11:00

远程管理监控数据中心

2012-05-29 13:43:36

紫光清华扫描仪

2023-07-04 14:01:26

GPT-4模型

2021-03-03 11:13:30

APP手机打车软件

2023-02-21 21:50:07

2021-01-15 07:22:51

APP时间规划局证件照相机

2013-03-05 09:04:38

Java 60day

2021-06-06 16:19:46

微软Windows 10Windows

2010-03-26 17:50:17

Python设计理念

2009-05-05 11:06:19

存储技术蓝宝石高数据存储

2014-09-25 09:59:00

点赞
收藏

51CTO技术栈公众号