《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》
这些年来,人们投入了相当多的热情在机器学习(Machine Learning)领域中,毕竟它让电脑的表现在某些方面超过了人类,比如图像分类,围棋竞赛,语音转文本等,它也加速了许多科研领域的探索发现进程。当然,神经科学也不例外,机器学习在神经科学中的应用一直都在快速增长,关于机器学习在神经科学中应用的论文比例也在持续增加(如图1所示)。
近期,来自美国宾夕法尼亚大学生物工程系,神经科学系以及加拿大高级研究所的研究团队在《Progress in Neurobiology》期刊发表了题目为《The roles of supervised machine learning in systems neuroscience》的研究论文,他们将监督式机器学习方案在系统神经科学中已有的和潜在的应用分成了四大类,包括:一)用来解决系统神经学中的工程问题;二)用来识别预测性变量;三)用来为简单模型确定基准;四)用来模拟大脑工作原理,如图2所示。下面我们就来一一解读。
1. 解决系统神经学中的工程问题 所谓工程问题,其实很大程度上可以转换为预测问题。它们的共同点就是如果对某一个量Y感兴趣,但得通过测量与Y相关的另一个量X,才能得到最终想要的结果Y。但是X和Y之间的具体关系是未知的或者非常复杂的。这样的预测问题,就叫做工程问题。人们解决工程问题的传统方法是要仔细地理解和推导X与Y之间千丝万缕的联系,试图为这种复杂的关系建立一个准确的预测模型,然后通过这个模型来预测由X的不同量值所产生的Y的结果,这个过程可能会非常困难。然而,机器学习的到来,改变了这种局面,使用监督式机器学习的方案,并不需要懂得X与Y之间关系,只是需要提供给机器学习算法大量的已经标签好了的X的量值和与之对应的Y量值作为参考,机器学习的算法就可以自动推导出两者的关系,自动建立预测模型,从而实现对大量新数据的预测。比如,准备许多猫的图片,每张图片都标签为猫,让机器学习算法自动演算出判断一张图片是猫的模型。这样的工程问题在神经科学中有很多例子,下面就从神经活动或功能,以及神经解剖学或神经结构这两方面来谈。 1.2 神经活动/功能 许多医学应用依赖于从神经活动的测量中成功地提取关于意图、感觉或疾病的信息。如何提取是一个难题,因为神经活动的意义,即神经代码,通常是未知的。目前,如果在有可能获得大量的神经活动数据集以及与之对应的人们的行为或疾病数据的情况下,机器学习是完成这一任务的普遍方案,其中一个应用是脑机接口(BCIs),它试图使用神经信号来控制假肢、电脑光标或其他外部物件。有好几个研究团队通过记录动作电位(Spike),脑皮层电图(ECoG),脑电图(EEG)来改进了脑机接口的应用。机器学习也可以通过人们过去的神经活动来预测未来的神经活动,比如用来预测即将发生的癫痫。机器学习的另外一个应用是利用神经活动来进行神经状态的诊断,如利用神经影像数据进行老年痴呆症的分类,用来检测精神疾病等。尽管神经信号相当复杂,但随着大量神经检测数据的获取,机器学习也会逐渐提高这些应用的准确性。 机器学习也有潜力帮助人们从某些疾病中恢复起来,这就要解决如何准确预测外部刺激所引起的脑内神经活动的问题。如果想要通过外部刺激神经来诱导人们产生相应的感觉,那么解决这样的问题非常重要。其中一个例子是义眼,它需要利用摄像头捕捉到的影像数据来刺激视网膜神经节细胞,让盲人产生相应的视觉。同样,机器学习方案可以用来让假肢成为连接外部世界与神经系统的媒介,根据外部信息来刺激人们躯体的感觉神经元,从而使人们产生相应的感觉。 人们也可以用机器学习来分析人类自然行为的视频影像以及录音数据,做一些神经控制方面的理解与研究。机器学习还可以用来解决从神经活动的原始测量数据中对其来源准确估计的逆运算问题,这适用于许多成像方法,如EEG,MEG,fMRI等。比如,研究人员可以根据头皮上的电极记录来估计脑电图信号(EEG )的来源。机器学习中的神经网络模型可以通过去噪和反卷积来产生超分辨率的图像,甚至可以替换整个图像处理流程。除了图像方面的应用,对时间序列数据的反卷积也是另一个普遍的应用。例如,一旦研究人员获得了细胞钙浓度的踪迹,但仍然面临一个困难的逆算问题,即推断出潜在的动作电位Spike出现的时间。这种情况下,利用机器学习算法提供了一个很好的解决方案。 总之,在神经科学各个方面,许多困难的工程性问题都可以用机器学习算法来对标签好的数据集进行学习,从而建立预测数据之间联系的模型。 1.3 神经解剖学/神经结构 机器学习在神经解剖学中的应用也很广泛,比如,可以利用核磁共振成像和扩散张量成像等神经解剖学的测量,来诊断许多疾病,比如老年痴呆症,精神分裂症,抑郁症,自闭症和多动症等。甚至可以用基于深度卷积神经网络算法(DCNN)的机器学习模型从视网膜眼底照片中预测心血管疾病的危险因素。因为神经解剖学的主要研究是要分析图像,所以更适合用基于计算机视觉的机器学习算法,来执行大量图像的分类和标签工作,比如在MRI扫描中识别白质束,从电子显微镜中了解神经元的连接和形态等。总之,机器学习正成为重建和绘制神经解剖学的重要甚至必要的工具。 1.4 警告说明 尽管机器学习为神经科学提供了很多解决工程问题的方案,但它也不是万能的,它的成功需要一些前提条件。首先,必须要提前准备和标签好大量数据集来训练机器学习模型,第二,要为不同情况选择合适的机器学习算法模型,比如卷积神经网络模型(CNN)适用于有共同局部特征(比如有边缘的影像)的数据,否则成功率会不如标准的前馈神经网络模型(FNN)高。第三是要防止机器学习产生“过适合”的问题,也就是说它只对已经标签好的训练数据有效,而对新的数据预测效果不好。第四个方面是效率问题,在面对大量的数据和复杂关系的情况下,机器学习可能很慢,而且需要足够的计算机软硬件资源,因此研究人员不得不在各种模型和有限的资源下进行权衡,尽可能地找出对各方面都适合的优化解决方案。
##2. 识别预测性变量## 神经科学家通常需要研究这样的问题,比如,哪些大脑区域可以互相预测?哪些大脑区域包含与人们做决策相关的信息? 哪种细胞类型会受到某种疾病的影响?等等。机器学习可以帮助研究人员更准确地识别这些信息之间的相互联系,特别是当这种关系是复杂的、非线性的的关系,这样的关系在神经系统中很常见。弄懂这些问题可以让研究人员更好地理解大脑各区域之间、刺激、行为等方面的联系。 弄懂这些解决方案的总体策略与解决工程性方法的策略相似,只是侧重点不同,解决工程性问题的策略侧重于把预测模型的准确性最大化,而解决识别预测性变量的方案侧重于弄清哪一个预测变量对于预测结果起决定性作用,研究人员用到的方法有两种,一是留一法,也就是去掉其他预测性变量,只留一个变量来观察其对预测结果的影响,二是择优法,也就是将多个变量逐一进行预测运算,看哪个的预测结果最准确。执行这些策略的方式大概分为两种,第一种是传统方法,利用由人工假设出来的简单模型来对数据进行线性回归等分析和预测,从而检验模型与数据的配合系数。这是许多科学领域中所用到的普遍方法,但是它的缺点是需要人们假设一个简单模型,这很可能是不准确的。比如,假设的两个变量(X,Y)之间关系的简单模型是 Y = mX b,但其实真正的关系却是Y=cos X。那么,尽管X和Y之间有很强的关系,但m (X和Y之间的相互作用)的值将是0。第二种方法是机器学习方法,它的优势在于,即使当变量之间的关系是未知的或非线性的时候,也不需要人们预先设定一个简单模型,就可以评估出变量对于预测结果的重要性。另外,通过自助法(Bootstrapping),人们甚至可以找到预测性变量的重要性值的可靠区间。 在机器学习算法中精准地确定特征的重要性也有助于创建更简单的模型,与其为一个模型使用许多输入,不如只使用重要的特征作为输入。例如,确定神经元的哪些形态特征对细胞类型最具预测性,可以引导我们建立更精确的形态生成模型(基于最具预测性的特征)。这种方法是为了检查那些用作原始输入到机器学习模型中的相同的变量。通常人们寻找的特征会与原始输入的变量不同。例如,在视觉中,原始输入的变量可能只是简单的单像素,然后人们就会用确定预测性变量的方案把最相具预测性的像素找出来。然而,正如下面会讲到的,神经科学中的许多问题都遵循输入变量是感兴趣的变量的形式。 2.1 神经活动/功能 神经科学家在建立神经编码模型方面有着悠久的历史,该模型旨在基于外部世界的变量来预测神经活动(例如,单个神经元的动作电位(Spikes),或fMRI体素中的BOLD信号)。这是一种识别大脑区域功能的常用方法。编码模型的构建是一个回归问题(从外部世界变量回归到神经活动),它的目的是主要是确定特征的重要性而不是单纯地知道预测能力。 如果更简单的方法在描述神经活动时同样准确,那么机器学习对于编码模型就没有必要了。然而实际情况通常并非如此。例如,最近发现XGBoost和集成方法(Ensemble Method)显著改善了来自运动皮层、体感皮层和海马体的数据集的性能。这些改进与计算神经学(Computational Neuroscience)中普遍存在的广义线性模型(Generalized Linear Models)有关。其他研究人员也在别的领域和模式中用XGBoost和深度学习(Deep Learning)改进了预测性。这些例子都提醒我们,虽然简单的模型可能看起来是可解释的,但它们可能忽略了外部变量与神经功能相关的重要方面。改进编码性能可以更广泛地让研究人员了解哪些协变量(Co-Variate)可以预测神经活动。这概括了向简单模型添加附加变量和观察性能增长的常见方法。例如,使用XGBoost构建头部方向神经元编码模型的研究,考察了编码模型中不同协变量(如受试者头部的方向)的相对贡献。这样就可以确定协变量的重要性,而无需假设关系的形式。 反过来,从这个大脑区域的活动中可以读出什么信息,也可以回答关于神经信息内容和特定大脑区域或细胞类型的作用的问题。例如,研究人员使用解码方法来比较人们在做决策任务的过程中,在顶叶和前额叶皮质中的神经群与任务相关的预测性。另外,也比较了人们在从事不同任务的情况下,对他的运动皮层的解码结果,以便确定大脑中的不确定性与不同的行为上的不确定性有什么关系。译码方法的选择对译码性能有很大的影响。最近,研究人员用了不同的机器学习算法,对人们的运动皮层、体感皮层和海马结构的数据集进行了彻底的测试,结果表明,现代机器学习,如神经网络和集成方法,增加了解码的准确性,这样可以增加人们对神经群体中包含多少关于另一个变量的信息的理解,比如一个决策、运动或位置。 神经科学家通常想要确定哪些变量对人们行为有影响,这样他们就可以将这些变量与神经活动联系起来。可以应用机器学习来发现哪些变量可以预测行为,比如,要确定哪些视觉神经特征可以预测我们接下来会看哪里,研究人员注意到,比起传统的手工测试方法,用基于深度学习的机器学习算法更准确地预测了注视点的位置。而更精确的行为模型可以让研究人员更好地研究神经活动和行为之间的关系。 在医学上,理解可以预测疾病的潜在因素很重要。这可以通过传统分类技术来发现神经影像特征的重要性(如在逻辑回归分类器中决定哪些功能连接指标可以预测老年痴呆症)。最近的研究使用了各种各样的方法通过深度学习分类器(Deep Learning Classifiers)来确定重要的特征(例如,确定预测多动症和精神分裂症的fMRI连接关系)。这种方法在动物模型上也取得了成功。例如,在患有抑郁症的小白鼠中,研究人员确定了哪些前额叶皮层和边缘区域的神经活动的特征(比如力量和连贯性)可以预测病理行为。然后他们能够利用这些信息设计一个神经刺激范式来使小白鼠恢复正常行为。通过在这些应用中使用机器学习,研究人员能够测试他们的变量是否能够预测疾病,而不必假设它们之间的关系。 2.2 神经解剖学/神经结构 就像神经活动一样,机器学习可以帮助研究人员更好地理解大脑的神经解剖学特征是如何预测疾病的。一般的方法是构建一个机器学习分类器来确定一个受试者是否患有疾病,然后观察该分类器中的特征(例如大脑区域或连接)的重要性。例如,研究人员训练了一个支持向量机分类器的机器学习算法,用基于扩散加权成像的图论特征来预测抑郁症。另外一些研究者训练了一个随机森林算法的机器学习分类器,通过结构磁共振影像来预测老年痴呆症,然后确定哪个大脑区域是最具有预测老年痴呆症的区域。 神经元有着复杂的形状和不同的生物结构,在不同的大脑区域和物种之间的差异很大。目前对神经元进行分类的方法有许多种: 电生理学、形态学、遗传学和突触连接等方法。机器学习可以辅助这些分类方法。 总之,在一切神经解剖学的领域之中,机器学习可以帮助人们识别神经元的重要特征,并改变我们对神经解剖学的看法。 2.3 警告说明 在使用机器学习识别哪个变量具有预测性的的时候,也需要注意在前面提到的机器学习注意事项,比如,要准备高质量的训练数据集,防止“或适合”等问题。并且在解读机器学习模型预测的结果时,要特别留意的是,这些结果并没有对变量之间的因果关系做出任何断言,并不能排除那些没有被观察到的其他变量的影响。 在机器学习模型里,确定数据的某些特征在预测关系中的重要性并不是确定预测性变量的唯一方法。也可以通过计算信息论(Information Theory)提出的互信息(Mutual Information)来决定一个变量对另一个变量的信息量,并且有时也是不需要对数据的格式做一些前提假设。然而,对于有高维度的数据集(峰电位序列Spike Trains),如果没有对数据格式做出基于假设前提,那么计算互信息的时间代价就太高了。 ##3. 为简单模型确定基准## 在生物学科中对生理系统建模有很多科研目的,机器学习的模型不一定完全适合。许多生理模型包含了人们对生物体工作机制的假设。而神经元的Hodgkin–Huxley模型就是这种类型的典型例子。而机器学习方法大体上只是为了预测结果,不会建立生理机制的假设模型。但是人们基于假设建立的简单模型只有在它能够准确预测数据的前提下才有意义。人们可以通过测试数据来验证一个假设模型的准确性。但是通常很难知道多少误差来自于噪音源以及模型本身的不足。在这个方面,机器学习的预测结果可以作为一个近似上限,来给人们参考。如果人们建立的简单模型的预测表现不如机器学习完成同样任务来得准确,那么在这个简单模型中,很可能有什么重要的原则被漏掉了。反过来,如果它的预测表现与机器学习的预测结果相匹配,那么很有可能这个模型是有意义的,但也不是绝对的。而人们确定简单模型基准的传统方法是,通过比较这个简单模型与另外一个简单模型的预测结果,看谁更准确,但是这种比较模式有一个陷阱,如果两个模型都不准确或者一个比另一个准确,抑或是两个模型都准确,这些结果都有漏掉某些重要现象的风险。机器学习可以帮助人们尽量避免这种陷阱。 简单模型可以与数据子集的基准进行比较,这可以帮助研究人员确定他们的模型在哪些方面需要改进。例如,有一个关于人们执行任务A和任务B的大脑活动的简单模型, 如果这个模型的预测结果对于任务A更符合于机器学习测试结果的基准,但对于任务B来说并不符合基准。这就告诉我们,需要更多地考虑到任务B而对简单模型进行修正。因此,使用机器学习基准还可以告诉我们模型的哪些组件需要改进。 3.1 神经活动/功能 神经科学研究的一个重要部分是建立简单的神经活动模型,来预测神经活动如何导致行为。一个典型的例子是,V1感受野可以用LGN感受域的前馈投影来解释。当提出这些简单模型时,将它们的预测性能(预测神经活动或行为的好坏)与机器学习的结果进行比较会很好。可以提供一些关于神经活动或行为的关键信息。遗憾的是,关于新模型的基准在神经科学中相当少见。 最近的研究表明,在神经科学中,机器学习的基准测试在预测性能方面通常明显优于简单模型。特别是神经网络模型往往比传统的简单模型更好地描述神经活动。比如,神经网络可以更好地预测视网膜神经节细胞,灵长类V4和IT,听觉皮层的活动。这些结果清楚地证明了旧的简单模型的缺陷。使用机器学习来为简单模型制定基准的另一个好处是,这些比较有时候可以揭示当前模型所缺乏的内容。例如,如果简单模型是基于静态线性方法的,而使用卷积神经网络(RNN)的机器学习方法能够比这个模型提供更好的预测结果,那么可能很有必要去修正这个简单模型,让它包含动态或非线性的方法。 3.2 神经解剖学/神经结构 机器学习还可以用在对描述神经解剖学的简单模型进行基准测试。例如,人们提出了许多模型来描述神经元形态的复杂性。有一些简单的模型描述了神经元在分支点处的直径,分支直径对其长度的线性依赖,和神经元的分形维数及其自相似性之间的关系。在所有这些模型中,人们可以对原始数据使用机器学习技术来制定这些模型的性能上限。这有望使神经解剖学建模更加准确。 3.3 警告说明 简单模型的预测结果与机器学习的预测结果相匹配,不一定保证它真正有效。因为机器学习本身可能出现前面谈到的问题,比如“过适合”,机器学习模型的选择,数据量大小等。而且用机器学习来指定简单模型的基准不是唯一的方法,有时候最好的基准是一个生物体本身而不是一个模型。并且用机器学习来标定简单模型的解释上限也不是唯一的方法。也有别的替代方案。 预测的准确度只是使模型有效的许多条件之一。其他的条件,像生物学上的合理性,当然也应该考虑在内。高准确度并不保证模型可以代表真实系统的实际工作原理。因为可能有其他模型也能够实现类似的性能。因此,获得最大的预测性能是一个简单模型有效性的必要标准,但肯定不是一个充分的标准。 ##4. 用来模拟大脑工作原理## 对于大脑生理机制的建模不仅仅是为了预测想要的结果,也可以作为人们对大脑工作原理的理解。最近流行这样的说法,说深度神经网络(DNN)可能会是大脑工作原理的良好模型。因为许多近期的实验研究指出两者之间有意想不到的的相似之处。由于神经网络在许多任务方面获得的成功,比如图像识别等,于是,这种对两者进行比较的趋势也被点燃。研究人员发现神经网络在识别图象的任务中与人类视觉系统有许多相似之处。比如,这些神经网络具有明确的层次结构和多层结构。来自图像像素的信息通常要经过十几层以上的神经元或节点来处理。除了它们相似的组织外,它们的激活方式也是相似的。例如,已经观察到早期节点具有类似于Gabor的接受域(Gabor-like receptive fields),这让人联想到V1中的边缘检测器。除了视觉系统,神经网络与大脑也有其他方面的某些相似之处。这些研究的形式,几乎都是基于同一个行为任务,来比较与之相关的大脑区域的内部神经反应特性,和一个神经网络模型在处理这个任务时的内部反应特性。30年前发表的一项开创性研究表明,后顶叶神经元的特性与在机器学习中训练视觉场景中定位物体的神经网络之间存在相似性。最近,研究人员发现经过场景识别训练的神经网络可以准确预测枕部区域(Occipital Place Area)的反应;经过语音识别和音乐类型预测训练的神经网络具有类似于听觉皮层的活动;用于重现猴子动作的递归神经网络(Recurrent Neural Networks)包含的活动单元与初级运动皮层神经元的选择性非常相似;在导航任务中训练的递归神经网络单元具有类似于内嗅皮层和海马体的网格和定位细胞的激活模式。总之,人工神经网络和大脑的反应特性的相似性表明了这些模型可能捕捉到大脑计算的重要方面。 但这些神经网络模型的一个共同缺点是,尽管它们能很好地预测神经活动,但它们不能揭示正在进行的神经计算的细节。另外,在学习水平上,大脑和神经网络不太相似。大脑是否能够像目前的神经网络一样以一种类似监督的方式进行学习,这是一个公开且有争议的问题。而且神经网络模型在生物学上是不现实的。不过最近有很多工作试图创造更符合生物学特征的神经网络模型。 这些关于大脑和神经网络之间的类比引发了神经科学研究重点的变化。例如,人们可能会把注意力放在大脑正在优化的哪些代价函数上,而不是神经网络的最终特性上。同样,专注于确定大脑执行的学习规则也很重要。研究人员最近在一篇独立的综述中讨论了其中的一些问题,特别关注了神经科学应该如何从机器学习中理解神经网络。 4.1 警告说明 神经网络是人们对大脑的工作原理假设出来的抽象模型。这个模型抽象到了什么程度?目前包括多少大脑功能?还有许多关键的争议。诚然,大脑可以做许多神经网络做不到的事情,神经网络需要预先接受大量的数据来进行训练,但如果人脑来做同样的事情,往往只需要几个例子就足够了,虽然在处理数据的量上人脑不如神经网络,但在许多问题上神经网络往往会犯人脑不会犯的低级错误。在某些任务上,比如分类任务,人脑和神经网络的高层功能和处理结果虽然是类似的,但是在各自底层的工作机制上面却有许多不同。另外有一个普遍的观点是,人们认为大脑中的很多学习并不是通过监督式学习来实现的。大脑的很多行为可能更接近于无监督式学习(Unsupervised Machine Learning)或者是强化学习(ReinforcedMachine Learning)。 这些差异使得人们很难准确地判定神经网络就是大脑的良好模型。在生理学,解剖学等各个领域,对这个问题的答案都有所不同。既然短期还难以确定,那么未来十几年人们研究的一个核心问题将是:确定哪些生物神经网络的细节可以被有效地抽象提取出来?以及哪些细节可以增加一种与当前神经网络所包含的功能完全不同的功能。 5. 总结讨论 这篇论文讨论了监督式机器学习在系统神经学中的四种主要的应用。也相信各方面的应用会继续深化增长。与任何建模一样,该文希望提醒读者,在解释机器学习模型时一定要谨慎。高可预测性并不意味着因果关系。这一点尤其正确,因为在神经科学中有许多未观察到的变量。例如,由于其他未观察到的变量,模型中一个变量的表面重要性可能是不准确的。高准确度是模型正确性的必要条件,但不是充分条件。这是因为会有大量不同的潜在的模型同样可以很好地解释数据。这是用机器学习对大脑建模和识别预测变量的一个困难,但这不会影响机器学习在各领域中的应用。除了监督式机器学习模型,还有其他机器学习模型,比如非监督式以及强化学习等模型,它们也在神经科学领域中有广泛的应用。但那些应用没有包含在该文的讨论范围中。随着神经科学中数据量的迅速增长和结构的复杂化。人们需要机器学习来辅助研究和管理这些数据,毕竟,一个人看数据的量和时间,以及对数据结构各方面的注意力是有限的。有时候需要机器学习的协助来弥补那些遗漏或隐藏的东西。 一直以来,信息的流动是多方向的,神经科学家都在致力于改进机器学习技术,许多机器学习技术都受到了大脑和神经科学思想的启发。同时,随着机器学习技术自身的发展,以及对神经科学领域的大数据的获取,机器学习技术也会不断进步,越来越准确和易用,并且更加深入地渗透到神经科学的各个领域中产生积极的效果。 参考文献:
The roles of supervised machine learning in systems neuroscience.Progress in Neurobiology,Volume 175 (2019)Page 126-137.