自1991年以来,Task-fMRI作为人脑功能研究的主流方法在人脑功能定位、功能分割、神经解码、功能网络分离等方面做出了卓越的贡献。虽然目前的Task-fMRI都是基于EPI快速成像序列的扫描方法,但是第一篇Task-fMRI的研究却是基于美国哈佛麻省总医院的贝利维尔(JohnW. Belliveau)博士使用注射造影剂的血液灌注MRI的方法完成的。他在给予受试者视觉刺激的前后各了做一次脑血容量(CBV)的造影,然后将两次所得的脑血体积影像进行相减,就清楚地观察到了有视觉刺激时局部脑血体积在视皮层的增加。 但这篇最早的任务态研究恰恰体现出了在任务态研究中最重要的两个特点。第一是“巧思”,这依赖于你对研究问题的深入了解和灵活解决问题的能力,这些能力来源于大量的文献日积月累的思考和可能与生俱来的天赋。因此,其时间成本的代价是巨大的,在这个时间就是金钱,快发堪比抢跑的“科研快时代”,有没有更加经济的做法呢?
答案是当然有。这就要看第二个特点——“灵活地使用技术和方法”。在贝利维尔博士所处的阶段,还没有很好的方法来实现对大脑中脑活动进行观察的方法,但是他通过对血液灌注方法的灵活使用完成了这一开创性的工作。他的成功引发了世界范围的脑功能磁共振成像技术的研究热潮。次年,依赖血氧(BloodOxygenation Level Dependent,BOLD)信号来观察人脑活动的实验就取得了突破。人脑功能定位的研究几乎成为了当时最热门的研究的问题,对视觉、听觉、运动功能、执行功能以及后续的更精细的认知功能、语言功能等方面的研究占据了核磁相关的研究大部分江山。
但是,现在简单的单变量功能分析已经不再能获得较大的影响了,一方面此类分析是基于组别水平的单变量分析,其对研究问题的探索依赖于认知加减法的严格计算或者因素分析的变量控制,其推断过程发生在组水平,对个体被试的大脑加工模式利用能力低下;另一方面,该类方法依靠于Univariate Analysis Mean的分析路径,其对单个体素内的血氧信号变化均值的关注从神经生理学角度看,其一未考虑“功能柱”式组织的皮层构筑带来的局部脑区的多个体素之间的相互影响,其二未考虑人脑在加工同类物体的不同对象时,即使是加工该类物体信息处理的脑区其具体的编码方式也是不同的,例如Haxby et al.,2001的研究发现利用多体素的激活信息可以对被试看到的物体进行解码,可以预测被试看到的物体是“鞋子”还是“瓶子”。而依赖于单个体素内均值的分析方法即使使用考虑了人脑中神经元(其实是细胞)cluster的组织形式进行cluster层面的校正也只能看到“鞋子”和“瓶子”那基本一致的激活结果。因此,如果在今天的研究中,你还停留在全脑的基于体素的单变量的分析方法时代,你可能就要被“out”了。今天,我们给大家较为全面的介绍一些能够更好的挖掘Task-fMRI实验数据的分析方法以及对应的工具包,帮助大家能够在设计出好的实验的基础上,更加有效的分析数据,输入的挖掘研究价值。
1. 解密人脑加工的方法——MVPA( MultivoxelPattern Analysis )
与基于GLM模型和实验设计矩阵进行统计推断的单变量全脑分析方法不同,多体素模式分析(Multi-voxelpattern analysis, MVPA)其实质是寻找在不同实验条件下具有高度可重复性的大脑活动的空间模式。从其本质看,MVPA其实是一个有监督的分类问题(或者预测问题),这个分类器试图探测到由fMRI观测到的大脑活动的空间模式与实验条件之间的关系。
图1 多体素表征同一功能不同对象的空间编码模式
图2 MVPA分析方法的流程示意图
从理论看MVPA是比较复杂并且难以用简单的话语解释清晰的,我们来通过图2来解释一下MVPA方法是怎么进行操作的,它为什么能够解码大脑中的加工信息。首先,在看下图前我们需要几个基本知识。第一,我们必须清楚,fMRI的信号变化是由于血液动力学和代谢调节相关的神经活动引起的,Bold的反应主要反映的是驱动神经元活动的突触输入,而不是它们的信息输出,因此,通过对输入刺激的观察可以模拟大脑神经元的突触输入活动。第二,神经活动的分布模式能够通过对多个体素的信号的观察和分析进行推断的。我们看图一,视觉区域对不同颜色的圆环可能是通过同一个加工区域的多个不同的体素的编码信息的不同来实现对不同颜色的识别的(由于fMRI是基于体素单位的,因此这里我们使用体素一词来代替神经元),如图一中人脑对蓝色圆圈和蓝绿色圆圈可能使用了枕页皮层的相同区域进行加工,但是在该区域内通过这些体素上的不同编码(图1中九个小方块的颜色深度不同代表编码值不同)来实现对两种颜色的区分,因此,我们可以通过对视觉皮层多个体素的Bold信号(实际操作中往往是通过不同体素上的beta信息来进行进一步操作的)的空间表征来区分开两种颜色在人脑中的表征。在知道了这两个基本信息后,我们来通过图2进一步看MVPA的分析方法是如何实现在全脑中寻找到对特定对象的基于多个体素的编码模式。
在图2中,我们对每个被试都进行了四个run的扫描(实际操作中应保证尽量多的数据信息),每个run中都呈现A、B两种刺激(Block或Event设计都可以),我们的目的是通过MVPA方法可以找到大脑中能够对A、B两种刺激的区别敏感的区域(即能够通过如图1的多个体素的不同编码方式对这两种刺激类型进行区分的脑区)。首先我们需要A、B两种刺激的onset时间和duration时长,然后使用这些信息建立全脑激活模型(即图中activity maps),我们通过search-light(中文翻译不传神,因此使用英文,我们后续会介绍这种方法)的方法来在全脑激活模型中寻找能够通过多个体素的不同weight对A、B两种刺激进行分类的脑区,可以使用机器学习中的不同方法(如最常用的SVM方法,或者线性模型也可以,还有一些其他方法)来通过前三个run的数据训练模型,使其能够寻找到全脑激活图中哪些区域是对这两种刺激的表征分类敏感的。在训练后,我们使用第四个run的数据进行模型的测试(如果数据较少,也可以考虑使用k折交叉验证来进行),来评估模型的特异度和敏感性。
也就是说,MVPA方法就是一种考虑了个体的大脑的神经信号编码方法的机器学习方法。这种方法目前已经取得了很多的研究成果,并且被大量使用。接下来,我们来看哪些工具包可以更好的实现MVPA的分析方法。
关于任务态MVPA及机器学习相关内容,可点击以下文字了解:
第六届任务态fMRI专题班(重庆4.8-13)
第十届脑影像机器学习班(南京3.3-8)
首先来看基于MATLAB的工具包,早期常用的工具包是PRoNTo(http://www.mlnl.cs.ucl.ac.uk/pronto),这款工具包的优点相当明显,但是其缺点也同样明显。优点在于该工具包是界面化的,并且使用逻辑相当清晰,使用起来难度较低,但仍旧能够实现基于线性模型或者SVM方法的分类或者预测分析。该工具包存在多个网上教程,但网上教程一般都比较简略,对于很多软件细节介绍不清,这里给大家分享一例较好的教程http://www.tanxingcai.com/ai/2016.html。以便感兴趣的朋友学习。该软件的缺点就在于由于是界面化软件,所以灵活性差很多,不能实现较为灵活的操作分析,同时,该软件提供的方法也比较少,在目前的研究中已经不如以往的使用率了。
接着是近年来较火的CosmoMVPA工具包(http://www.cosmomvpa.org/),该工具包由英国班戈大学的研究者开发,与Pronto不同,该工具包没有界面,并且提供了比Pronto复杂的多的分析方法,该工具包的维护是非常及时的,引用量高。但是难度较大,需要对MATLAB语言有较好的掌握才可(自学的前提下)。因此,这里还推荐另一款相对简单些的工具包,TDT,The Decoding Toolbox,(https://sites.google.com/site/tdtdecodingtoolbox/),该工具包的引用量同样在150以上(排除用了但没引用的),并且上手难度较低,主要是因为该工具包的函数使用较为简单,整个分析步骤较少并且计算速度要快上不少(网站上说的,但是从demo data的测试看,可能确实如此)。
最后是基于Python的工具包——PyMVPA(http://www.pymvpa.org/)。该工具包的开发是很早的,并且有着良好的维护。它被用来简化大型数据集的模式分类分,该包提供了一些高级的常用的处理步骤和一些常用算法的实现,而且它不仅仅局限于神经影像学领域,也可以用于其他数据。这些基于代码实现的工具包其Manual是主要的学习途径,但这个包也确实有人进行了不系统的教程的翻译和内化,感兴趣的同学可以查看https://blog.csdn.net/cocosion。以上两个MATLAB包则没有。
2. 跨越方法差异的鸿沟——RSA(Representational Similarity Analysis表征相似性分析)
MVPA的方法可以让我们在一定程度上对大脑的神经输入进行解码,一探大脑的奥秘,但是只做到这样仍旧是不够的。因为MVPA方法只能够帮助我们解读大脑是如何对这些刺激做出反应的,但我们仍旧不清楚系统神经科学的三个主要研究分支:脑活动测量、行为测量和计算建模之间的定量关系。这主要是由于不同的方法其理论基础、测量精度和测量维度等方面的不同导致的,我们如果要进行不同方法的综合,从传统方法出发就会涉及不同维度的映射和转换,将使得分析过程复杂而更加难以解释。
因此,为了弥合不同分析方法之间的各种差异和分歧,一种从活动模式本身抽象出来,并计算表征差异矩阵(RDMs)的方法开始帮助我们更好的去理解脑活动测量和行为测量之间的关系,并帮助我们进行更好的计算建模。这种方法就是Representational SimilarityAnalysis,表征相似性分析。
为了能够从特定经验模式的观察中抽象出来,我们需要一种与模式(即测量方法,如fMRI和EEG的测量就完全不同,但对象都是大脑的神经活动)无关的方法来描述大脑区域的表现。这样的表征方法将使我们能够阐明不同的模式在多大程度上提供一致或不一致的信息。我们可以通过比较活动模式的不同矩阵来联系大脑活动测量和信息处理模型。该类方法避免了对显式的不同空间要进行对应映射或从一种模态到另一种模态的转换的需要。
该方法通过RDMs表示大脑或模型中给定表征所携带的信息。通过对实验中观测到的神经活动的定量相关,然后比较其RDMs和基于行为建立的RDMs之间的关系来进行分析。
我们通过一张图来对这种方法进行简单的了解:
图3 表征相似性分析
如图三所示,在图中心的表征相似性矩阵(其实应该表征差异矩阵,也就是RDMs)可以由不同模态的数据所建立,然后通过不同方法建立其RDMs后,去寻找不同RMDs之间的关系就可以回答计算模型、行为表现以及神经反应之间的关系,例如可以使用计算模型来神经反应得出的模型进行预测。
一般,fMRI的RSA常常通过选定兴趣区域(ROIs)来分析不同的刺激中唤起的fMRI反应之间的响应相似性。对于每个ROI,计算并图形化地显示代表不同实验条件的分布式活动模式对之间的距离度量(通常使用correlation来衡量此处所说的距离),从而建立RDMs。RDMs中存储的距离信息通常使用多维标度(MDS)图来可视化,同时,也可以使用全脑通过search-light的方法进行一阶的RSA分析,而不是直接使用二阶分析的结果通过ROI来计算RDMs。行为和计算模型的RMDs的建立则较为简单。
其实RSA与多体素模式分析是很相似的,以上的Cosma MVPA、PyMVPA以及TDT都提供了RSA的分析途径。这里给大家推荐一个简单的分析工具,RSA_fMRI_matlab(https://github.com/CCN-github/RSA_fMRI_matlab),该工具包依赖于TDT和spm12,提供了相当便捷的计算方法。并且提供了练习脚本,感兴趣的朋友可以自行学习。
最后,在MVPA分析和RSA分析中都能看到search-light的身影,那这种方法到底是什么意思呢?Search-light算法的最初想法源于Kriegeskorte等人(2006)的一篇论文,随后被大量研究使用。最常见的用途是把大脑按照不同大小(这里是需要自己根据自己的实验自定义的)的球形区域进行分割,然后对大脑中每个感兴趣的球形区域(ROI)进行完整的交叉验证分析。该分析会生成一个(通常)分类精度的映射,该映射通常可以用某种方法实现,比如我们前文写到的MVPA方法和RSA方法,可以理解为类似于GLM统计输出,可以用来进行推断和分析。
总结:
本文分析了基于多体素的分析方法,对MVPA分析和RSA分析方法进行了较为简单的介绍和分析。同时,介绍了许多常用的并且上手难度不一的方法给大家,感兴趣的同学可以认真学习。最后,Search-light这种常用的分析思路在当前研究中已经大量使用,也建议大家认真掌握。