论文

François Chollet:训练编程和数学不会提升通用智力

精选理由

Chollet 拿 80 年代的心理学研究做类比,说明练编程、刷数学并不能让人变聪明,对理解模型泛化能力也很有启发。

François Chollet 引用 1980 年代“编程的认知后果”研究指出,学习编程让学生在算法思维和编码上高度熟练,但元分析证明这些收益无法迁移到一般认知任务或无关的问题解决场景。他同时提到,高强度的数学训练只改善数学演绎和结构映射能力,不会提高个人在无关领域获取技能的基线速度。据此他认为,通用智力更像大脑的基础属性,而不是可以通过训练获得的技能——在某个领域练习只会让你在该领域变强,不会让人整体变聪明。

原文 · François Chollet

Humans provide a fun comparison point here.

In the 80s, the "cognitive consequences of programming" was a major psychological research focus. The prevailing hypothesis was that learning formal logic and algorithmic structures through computer programming would act as a form of mental gymnastics that could upgrade general reasoning, planning, and novel problem-solving abilities. But foundational research, followed by subsequent meta-analyses, demonstrated that this does not happen. Students who learn programming become highly proficient at algorithmic thinking and coding, but these gains do not transfer to general cognitive tasks or unrelated problem-solving scenarios. Similarly, intensive mathematical training improves mathematical deduction and structural mapping, but does not increase an individual's baseline rate of skill acquisition in unrelated fields.

General intelligence seems to be a fundamental property of the brain rather than a skill you can train. Practicing in a domain makes you better at the domain but does not make you generally smarter.