我经常受到很多学生的来信,问我如何自己自学或者想办法入门认知或者计算神经科学。有这样的问题的学生,大多是非心理学或者神经科学专业的学生,希望转行参与到这个领域。也有一些心理学或者神经科学专业的学生希望进一步提高自己在计算建模方面的能力,我一般的回答就是找一个做计算认知或者计算神经科学的老师开展一些研究,这是最快最直接的办法。但是很多人反应国内这方面的研究者太少,很难找到相关的人。
也有很多学生问我,我们组对学生要求是什么?我用这个机会不妨详细说一下
祝愿我们能在国内找到更多的志同道合的人
对于国内非心理学专业的同学来说,可能需要补充一些认知神经科学的基础知识,我推荐下面这本教材
这本书可以当做小说来看,全面的了解有关脑认知的神经基础。如果是心理学或者神经科学专业的学生了解认知心理学和实验心理学,可以跳过这一步。
数学课程请上以下一些基本课程。一般工程科学的数学基础都可以满足,但是有些心理学专业的学生可能这方面并不充足,但是起码保证上以下几门课
线性代数
高等数学/微积分
关于编程基础。在neuroscience里面编程基本上只需要Python,(matlab比较传统但是已经不推荐)我推荐两个课程
B站小甲鱼0基础python教程 (不需要学爬虫,GUI和Pygame等部分)
同时,在写代码中需要经常小组协作,所以git的用法也很关键,我推荐
(可选)在认知实验,熟悉编写一个实验任务非常重要,目前主流的编写程序的软件有基于Matlab的Psychtoolbox, 基于Python的Psychopy和基于Java的JsPsych等,一般初学者推荐上来掌握Psychtoolbox
下面我会希望学生本科生修的课程,这是正餐。曾经我以为这个过程很简单,我给学生说的时候可能也流露出学这些知识简单。但是,最近几年的教学和科研工作让我了解到,我可能过于乐观。我不得不承认,这些东西的确很难。很多时候我们自己课题组的研究工作,已经超出了对一个一般计算机本科生甚至是研究生在计算建模方面的难度要求。我也很认真的想过如何指导一个心理学背景的学生如何获取这些知识。目前是我最近(2025年6月29日)觉得比较好的路径。
如果你想来我的课题组实习、保研甚至深造,请慎重考虑你能否接受以下内容,如果你已经具备以下的知识,请直接告诉我,将会大大增加我们合作的可能性。具体分为以下四步:
第一步,请从强化学习入门,推荐西湖大学赵世钰老师的强化学习课程。这个课程是我无需任何强化学习研究背景,我反而觉得这是一本非常适合心理学背景的强化学习课程。其教材、视频、PPT等各种资料齐全。是最好的入门教材。学这种东西,会有心理学的学生很困惑,里面学习的强化学习知识和心理学到底有什么关系,暂且别急,这些困惑会在后面解答。我也强烈建议国内各大心理学院系把这个课程作为本科生认知科学基础课程。
第二步,请的深度学习的基础,我觉得掌握深度学习的基本知识很有必要,我推荐动手学深度学习Pytorch版 对照李沐老师出版的相应教材,对应啃下来。
第三步,开始学习机器学习基础,目前市面上的线上机器学习课程都太简单了。对于工科学生入门来说没问题。但是对于我们构建科学理论来说太简单。这里我推荐B站大神的机器学习白板推导系列。这个系列一共有三十三个系列,根据实际科研要求,我把这三十三个系列分成了基础部分和进阶部分 (详情请见这里),心理学的学生入门时只需要完成基础部分。在学习过程中,我尤其看重补充一些在认知科学中的应用例子。
我强烈呼吁国内各大心理学院系,这三门课作为本科生选修课。
如果你没有以上基础,可能也很难参与到我们的课题中。完成这三门课程,欢迎你来做RA
第四步,需要练手。我在集合一些认知科学和心理学里面的model。我把其叫做chanllenges in computational modeling。有兴趣的人可以试试完成到第几步?
基于以上三门课的基础,我觉得可以进入计算认知的领域了,欢迎阅读我正在写的一本教材《认知行为的计算原理》
如果要继续加深对计算认知和计算神经科学的理解:
推荐Coursera上面的Computational Neuroscience
推荐NeuroMatch Academy(NMA)的Computational Neuroscience的Summer Course
如果你掌握了以上所有的知识(我自己也几乎做不到),还想进一步探索的话,麻烦告诉我,我来求你加入我们组还不行么!