吴攀编译

卷积神经网络十五问:CNN与生物视觉系统的研究探索

CNN 的发展早期从大脑神经网络取得了很多灵感,现在相关研究中的一些思路和方法也在反过来帮助神经科学方面的研究,如DeepMind近期用AI探索大脑导航和多巴胺功能的工作。近日,哥伦比亚大学神经生物学与行为学博士 Grace Lindsay 在其博客上发文,通过问答的形式讨论了 CNN 和生物视觉系统之间的区别和联系。机器之心进行了编译介绍。


和我近期的大多数博文一样,我写这篇文章的起因是近期一个 Twitter 讨论,具体是关于如何将深度卷积神经网络(CNN)的组件与大脑联系起来。但是,这里的大多数思考都是我以前考虑并讨论过的。当有人使用 CNN 作为视觉系统的模型时,我通常(在研究讨论和其它对话上)必须鼓励和支持这一选择。部分原因是它们(在某种程度上)是神经科学领域相对较新的方法,还有部分原因是人们对它们持怀疑态度。计算模型一般在神经科学领域发展较慢,很大部分(但并非全部)是来自不使用或构建计算模型的人;它们通常被描述成不切实际或没有用处。在对技术宅的普遍反感和深度学习/人工智能(会值多少钱?)的过度炒作氛围中,不管你得到了什么模型,某些人都会厌恶它。

所以在这里我希望使用一个简单(但很长)的问答形式来相对合理且准确地阐释使用 CNN 建模生物视觉系统的情况。这个子领域很大程度上仍处于发展阶段,所以文中不会有太多确定无疑的事实,但我会尽可能引述。此外,这些显然是我个人对这些问题的答案(以及我个人提出的问题),所以请相信其中值得相信的。

我重点关注的是作为视觉系统的模型的 CNN——而不是更宽泛的问题,比如「深度学习能否帮助我们理解大脑?」——因为我相信这一领域是比较起来最合理、信息最多、最富成效的(而且也是我研究的领域)。但这种通用流程(根据生物学信息指定一个架构然后在相关数据上训练)也可用于帮助理解和复现其它大脑区域和功能。当然,已经有人做过这种事了,可参阅:https://www.frontiersin.org/articles/10.3389/fncom.2016.00094/full

(我希望机器学习和数据科学领域的读者都能读懂这篇文章,但其中确实有些神经科学词汇没有给出定义。)

1.CNN 是什么?

卷积神经网络(CNN)是一类人工神经网络。因此,它们是由被称为「神经元」的单元构成的,这些单元可根据输入的加权和输出一个活动水平。这个活动水平通常是输入的非线性函数,通常只是一个整流线性单元(ReLU),其中当输入全为正时活动等于输入,当输入全为非正时活动等于 0。

CNN 的独特之处是神经元之间的连接的构建方式。在一个前馈神经网络中,单元会被组织成层的形式,给定层的单元只会获得来自其下面一层的输入(即不会有来自同一层或后续层的其它单元的输入,大多数情况下也不会有来自之前超过 1 层的输入)。CNN 是前馈网络。但不同于标准的单纯的前馈网络,CNN 中的单元具有一种空间排列。在每一层,单元都会被组织成 2D 网格形式,这被称为特征图(feature map)。每一个特征图都是在其下面一层上执行卷积所得的结果(CNN 也因此得名)。这意味着在其下面一层的每个位置都应用了同样的卷积过滤器(权重集)。因此,在该 2D 网格上特定位置的单元只能收到来自其下面一层相似位置的单元的输入。此外,输入上附带的权重对一个特征图中的每个单元都是一样的(而各个特征图各不相同)。

在卷积(和非线性)之后,通常还会完成一些其它计算。一种可能的计算是交叉特征归一化(尽管这种方法在现代的高性能 CNN 中已不再流行)。其中,特征图中某个特定空间位置的单元的活动会除以其它特征图中同一位置的单元活动。一种更常见的操作是池化(pooling)。其中,每个 2D 特征图的一小个空间区域中的最大活动会被用于表示该区域。这能缩减特征图的大小。这一组操作(卷积+非线性→归一化→池化)整体被称为一层。一个网络架构就是由层的数量和各种相关参数(比如卷积过滤器的大小)的选择定义的。

大多数现代 CNN 都有多个(至少 5)这样的层,其中最后一层会向一个全连接层馈送数据。全连接层就像是标准的前馈网络,其中没有空间布局或受限的连接。通常会有 2-3 个全连接层连在一起使用,并且网络的最后一层执行分类。举个例子,如果该网络执行的是 10 类目标分类,那么最后一层将会有 10 个单元,会有一个 softmax 操作应用在它们的活动水平上以得到每个类别相关的概率。

这些网络主要通过监督学习和反向传播训练。这时,提供给网络的输入是图像及其相关类别标签构成的配对集。图像像素值输入网络的第一层,然后网络最后一层得出一个预测类别。如果这个预测得到的标签与所提供的标签不一致,那么就会计算梯度,确定应该如何修改权重(即卷积过滤器中的值)以使分类正确。如此重复很多很多次(很多网络都是在 ImageNet 数据库上训练的,这个数据库包含 1000 个目标类别的超过 100 万张图像),就能得到在留存测试图像上有很高准确度的模型。CNN 的某些变体模型现在已能达到 4.94% 乃至更低的错误率,优于人类水平。要得到优良的表现,通常需要很多训练「技巧」,比如智能学习率选择和权重正则化(主要是通过 dropout,即在每个训练阶段都有随机一半的权重关闭)。

历史上曾使用无监督预训练来初始化权重,然后再使用监督学习来进行改善。但是,这似乎已经不再是优越性能所必需的了。

神经科学家能够理解的深度 CNN 介绍可参阅《深度神经网络:一种用于建模生物视觉和大脑信息处理的新框架》:https://www.annualreviews.org/doi/10.1146/annurev-vision-082114-035447

2.CNN 是否曾受视觉系统的启发?

是的。首先,从名称上就能看出来,人工神经网络整体都受到了 20 世纪中期开始发展的神经生物学的启发。人工神经元被设计用来模拟神经元接收和转换信息的基本特性。

其次,卷积网络所执行的主要功能和计算受到了某些关于视觉系统的早期发现的启发。1962 年,Hubel 和 Wiesel 发现初级视觉皮层中的神经元会响应视觉环境中特定的简单特征(尤其是有向的边)。此外,他们注意到了两种不同类型的细胞:简单细胞(它们只在非常特定的空间位置对它们偏好的方向起最强烈的响应)和复杂细胞(它们的响应有更大的空间不变性)。他们得出结论:复杂细胞通过在来自多个简单细胞(每个都有一个不同的偏好位置)的输入上进行池化而实现了这种不变性。这两个特征(对特定特征的选择性以及通过前馈连接增大空间不变性)构成了 CNN 这样的人工视觉系统的基础。

神经认知机(neocognitron)

CNN 的发展可以通过被称为神经认知机的模型直接追溯到这一发现。神经认知机是福岛邦彦(Kunihiko Fukushima)于 1980 年开发的,其融合了当时有关生物视觉的知识,以期构建出一个能够工作的人工视觉系统。神经认知机由「S 细胞」和「C 细胞」构成,可通过无监督学习来学习识别简单的图像。最早开发出 CNN 的 AI 研究者 Yann LeCun 明确表明他们的开发根基于神经认知机,参阅:https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf

3.CNN 什么时候开始流行起来的?

纵观整个计算机视觉史,很多研究工作都集中在人工设计要在图像中检测的特征上,这些设计都基于人们对图像中最有信息的部分的看法。经过这些人工设计的特征的过滤之后,学习只会在最后的阶段进行,以将特征映射到目标类别。通过监督学习端到端训练的 CNN 提供了一种自动生成这些特征的方法,这是最适合这种任务的方法。

这方面最早的主要示例出现在 1989 年。那时候 LeCun 等人使用反向传播训练了一个小型 CNN 来识别手写数字。随着 1999 年 MNIST 数据集的引入,CNN 的能力得到了进一步的发展和验证。尽管取得了这样的成功,但由于研究界认为这种训练很困难,这种方法失势了,非神经网络方法(比如支持向量机)迎来了发展势头。

下一个大事件直到 2012 年才出现,那一年完全通过监督方法训练的一个深度 CNN 赢得了当年的 ImageNet 竞赛。那时候,1000 类目标分类的优良错误率大约是 25%,但 AlexNet 实现了 16% 的错误率,这是一个巨大进步。这一挑战赛之前的获胜方法依赖于更古老的技术,比如浅网络和 SVM。CNN 的这一进展得益于使用了某些全新的技术,比如 ReLU(而不是 sigmoid 或双曲正切非线性)、将网络分配在 2 个 GPU 上执行和 dropout 正则化。但这并不是无中生有突如其来的,神经网络的复兴早在 2006 年就初见端倪了。但是,这些网络大都使用了无监督预训练。2012 年的这一进展绝对算得上是现代深度学习大爆发的一个重磅时刻。

参阅《用于图像分类的深度卷积神经网络:全面回顾》:https://www.mitpressjournals.org/doi/abs/10.1162/neco_a_00990

4. CNN 与视觉系统的当前联系是何时出现的?

当今神经科学领域对 CNN 的热情喧嚣很多都源自 2014 年左右发表的少数研究。这些研究明确比较了在不同的系统看到同样的图像时,从人类和猕猴身上记录到的神经活动与 CNN 中的人工活动。

首先是 Yamins et al. (2014)。这一研究探索了很多不同的 CNN 架构,以确定是什么导致了预测猴子 IT 细胞的响应的优良能力。对于一个给定的网络,数据的一个子集被用于训练能将人工网络中的活动映射到单个 IT 细胞活动的线性回归模型。在留存数据上的预测能力被用于评估该模型。另外还有使用另外一种方法:表征相似度分析(representational similarity analysis)。这一方法不涉及对神经活动的直接预测,而是会问两个系统是否能以相同的方式表征信息。这是通过为每个系统构建一个矩阵实现的,其中的值代表对两个不同输入的响应的相似度。如果这些矩阵在不同的系统上看起来一样,那么它们表征信息的方式也是类似的。

不同系统的表征相异度矩阵(Representational Dissimilarity Matrix)

通过这两种措施,为目标识别优化过的 CNN 的表现超越了其它方法。此外,该网络的第 3 层能更好地预测 V4 细胞的活动,而第 4 层(最后一层)能更好地预测 IT 细胞的活动。这表明模型层与脑区之间存在对应关系。

另一个发现是在目标识别上表现更好的网络在获取 IT 活动上也表现更好,而无需直接在 IT 数据上进行优化。这一趋势在更大更好的网络上也能大致保持,直到遇到某些限制(见第 11 问)。

CNN 的后面几层有与人类 IT 更相似的表征

另一篇论文 Khaligh-Razavi and Kriegeskorte (2014) 也使用了表征相似度分析,其将 37 种不同的模型与人类和猴子 IT 进行了比较。他们也发现更擅长目标识别的模型也能更好地匹配 IT 表征。此外,通过监督学习训练的深度 CNN(AlexNet)是表现最好的,也是最匹配的,其中该网络的后面基层的表现比前面几层更好。

5. 神经科学家过去是否使用过类似 CNN 的方法?

是的!第 2 问中提到的神经认知机受到了 Hubel 和 Wiesel 的发现的启发,并且又转而启发了现代 CNN,但它也还催生了一些视觉神经科学领域的研究分支,其中最显眼的是 Tomaso Poggio、Thomas Serre、Maximilian Riesenhuber 和 Jim DiCarlo 的实验室的研究。基于卷积的堆叠和最大池化的模型被用于解释视觉系统的各种性质。这些模型通常使用了不同于当前 CNN 的非线性和特征的无监督训练(在当时的机器学习领域也很流行),而且它们没有达到现代 CNN 的规模。

视觉神经科学家和计算机视觉研究者所选择的道路有各种不同的重合和分岔,因为他们所追求的目标不同但又相关。但总体而言,CNN 可以很好地被视为视觉神经科学家的建模道路的延续。来自深度学习领域的贡献涉及到计算能力和训练方法(以及数据),让这些模型最终发挥了作用。

6. 我们有什么证据说 CNN 的工作方式「类似大脑」?

卷积神经网络有三个主要特点能支持将它们用作生物视觉的模型:(1)它们可以以接近人类的水平执行视觉任务,(2)它们的工作架构复制了有关视觉系统的已知基本功能,(3)它们产生的活动能与视觉系统中不同区域的活动直接关联。

视觉层次结构的特征

首先,究其根本和架构,它们有视觉层次结构的两个重要组件。首先,单个单元感受野的大小会随网络中层的递进而增大,就像 V1 到 IT 中感受野的增大一样。第二,随着层的递进,神经元所响应的图像特征也越来越复杂,就像调谐过程从 V1 中的简单线条到 IT 中的目标部分一样。这种特征复杂度的增长可直接通过可用于 CNN 的可视化技术看到。

网络在不同层所学习的特征的可视化

再更深入地看一下第(3)点,在原来的 2014 年的研究(Q4)之后的很多研究都在进一步确定 CNN 中的活动与视觉系统之间的关系。这些都表明了同样的一般性发现:在观看同样的图像时,人工网络中的活动可与视觉系统的活动关联起来。此外,人工网络中后面的层能对应于腹视流(ventral visual stream)中更后的区域(或使用 MEG 等方法时所得响应中更后的时间点)。

很多不同的方法和数据集都可被用于制作这些点,比如下列研究:Seibert et al. (2016)、Cadena et al. (2017)、Cichy et al. (2016)、Wen et al. (2018)、Eickenberg et al. (2017)、Güçlü and van Gerven (2015) 和 Seeliger et al. (2017)。

不同 CNN 层与脑区的表征的对应(来自 Cichy et al.)

这些研究关注的重点一般是在简单呈现不同目标类别的自然图像时所得到的初始神经响应。因此,这些 CNN 实现的是所谓的「核心目标识别」或「快速鉴别给定视觉目标与其它所有目标的能力,即使出现了身份保持不变的变换(位置、尺寸、视角和视觉背景改变)」。一般而言,标准的前馈 CNN 能最好地得到视觉响应的早期组件,这说明它们复现了从视网膜到更高的皮层区的初始前馈信息扫视。

视觉系统创建的一系列神经表征可以被 CNN 复现,这一事实说明它们执行了一样的「解开(untangling)过程。也就是说,这两种系统都会取图像/视网膜层面上不可分的不同目标类别的表征,并且创建允许线性可分的表征。

除了比较活动,我们还可以更深入(1),即网络的表现。这些网络与人类和动物的行为之间的详细比较可以进一步被用于验证它们作为模型的使用情况以及确定仍然需要进展的领域。来自这类研究的发现已经表明这些网络可以比之前来自多个领域的模型更好地取得人类分类行为的模式(甚至能预测/操作它),但在某些特定领域这些网络表现很差,比如图像中出现噪声或图像差别很小但准确度下降很多的情况。

这种行为效应的研究包括:Rajalingham et al. (2018)、Kheradpishesh et al. (2015)、Elsayed et al. (2018)、Jozwik et al. (2017)、Kubilius et al. (2016)、Dodge and Karam (2017)、Berardino et al. (2017) 和 Geirhos et al. (2017)。

所有这些是否满足优秀大脑模型的标准?我们最好看看视觉领域的人说他们希望从视觉系统模型中得到什么:

「理解大脑的目标识别解决方案的进展需要构建人工识别系统(通常会用到生物学启发,比如 [2-6]),其最终目的是模拟我们自己的视觉能力。这样的计算方法是至关重要的,因为它们能提供可通过实验检验的假设,也因为有效识别系统的实例化是理解目标识别上一种特别有效的成功度量。」——Pinto et al., 2007

从这个角度看,很显然 CNN 并不是视觉科学领域目标的转移,而是实现其目标的一种方法。

7. 有其它能更好预测视觉区域的行为的模型吗?

总体而言,没有。已经有一些研究直接比较了 CNN 与之前的视觉系统模型(比如 HMAX)的获取神经活动的能力。CNN 出类拔萃。这样的研究包括:Yamins et al. (2014)、Cichy et al. (2017) 和 Cadieu et al. (2014)。

8. CNN 是视觉系统的机制模型还是描述模型?

机制模型的合理定义是该模型的内部部分可以映射到系统中相关的内部部分。而描述模型则是仅匹配他们的整体输入-输出关系。所以视觉系统的描述模型可能是一个输入图像并且能输出与人类给出的标签一致的目标标签的模型,但可能其工作方式与大脑并没有明显的联系。但是,如上所述,CNN 的层可以映射到大脑的区域。因此,在 CNN 执行目标识别时,它是腹侧系统所执行的表征变换的机制模型。

整体而言,如果要让 CNN 是机制模型,我们不需要让所有组件都有对应机制。举个例子,传统的大脑回路模型中基于放电率(rate-based)的神经元的使用。基于放电率的神经模型只是一个将输入强度映射到输出放电率的简单函数。因此,它们只是神经元的描述性模型:模型中没有内部组件与导致放电率的神经过程有关(Hodgkin-Huxley 神经元等更细化的生物物理模型是机制的)。然而,我们仍然可以使用基于放电率的神经元来构建回路的机制模型(我喜欢的一个案例:https://www.ncbi.nlm.nih.gov/pubmed/25611511)。所有机制模型都依赖描述模型作为它们的基本单元(否则我们都需要深入到量子机制来构建模型了)。

所以 CNN 的组件(即层——由卷积、非线性、可能的归一化和池化构成)是脑区的机制模型还是描述模型?这个问题更难以回答。尽管这些层是由人工神经元构成的,其可以合理地映射到真实的神经元(或神经元群),但很多计算的实现都不是生物式的。比如,归一化(在使用它的网络中)是使用高度参数化的除法方程实现的。我们相信这些计算可以使用拟真的神经机制实现(见上面引用的研究),但目前的模型并没有这样使用(不过我和其他一些人正在研究这个问题……见第 12 问)。

9. 我们应该如何解读 CNN 的不同部分与大脑的关系?

对于习惯了处理细胞层面的事物的神经科学家而言,可能会觉得 CNN 这样的模型的抽象价值大过实用价值(尽管研究抽象多区域建模的认知科学家可能会更熟悉它们)。

将 CNN 与大脑的区域和处理关联起来

但就算没有确切的生物学细节,我们还是可以将 CNN 的组件映射到视觉系统的组件。首先,CNN 的输入通常是三维(RGB)的像素值,它们已经过了一些归一化或变白处理,大致可以对应视网膜和背外侧膝状体核所执行的计算。卷积所创造的特征图有一个空间布局,类似于在视觉区域中找到的视网膜拓扑映射(retinotopy),这意味着每个人工神经元都有一个空间受限的感受野。与每个特征图相关的卷积过滤器确定了该特征图中的神经元的特征调制。单个人工神经元并不是要直接映射到单个真实神经元;将单个单元想成是皮质柱(cortical column)可能会更合理一点。

CNN 的哪些层对应于哪些脑区?早期使用仅包含少量层的模型的研究为一层映射一个脑区提供了支持。比如,在 Yamins et al. (2014) 中,最后的卷积层能最好地预测 IT 活动,而倒数第二层能最好地预测 V4。但是,其确切的关系将取决于所使用的模型(更深度的模型允许每个脑区有更多层)。

在卷积网络末尾的全连接层有更复杂的解读方式。它们与分类器的最终决策的紧密关系以及它们不再有视网膜拓扑的事实说明它们更像是前额皮质。但它们在预测 IT 活动上也可能表现很好。

10. 视觉系统有哪些 CNN 不具备的东西?

有很多。尖峰、扫视(saccade)、分开的激励和抑制细胞、动态、反馈连接、跳过某些层的前馈连接、振荡、树突、皮质层、神经调质、中央凹、横向连接、不同细胞类型、双眼视觉、适应、噪声以及大脑的其它细节。

当然,还有一些特性是当今用作模型的大多数标准 CNN 默认没有的。但它们中很多都已经在更新型的模型中得到了研究,比如:skip 连接、反馈连接、扫视、尖峰、横向连接和中央凹。

所以很显然,CNN 并不是对灵长类视觉的直接复制。还应该清楚这并不意味着模型不合格。模型不可能是(也不应该)是相关系统的完整复现。我们的目标是让模型具备能解释我们想要了解的关于视觉的信息的必要特性,所以某个特性的缺乏对不同的人来说重要性也不一样。比如说,预测 IT 神经元在前 100 ms 左右对图像的平均响应需要哪些特性?这是一个需要实证的问题。我们不能事先就说某个生物特性是必要的或没有这个特性的模型不好。

我们可以说没有尖峰、E-I 类型和其它实现特性的细节的模型比有这些细节的模型更加抽象。但抽象没有错。这只是意味着我们愿意把问题分成不同的层次,然后单独解决它们。我们某天应该能将这些不同层面的解释组合到一起,得到在大尺度和精细尺度上复现大脑的复制品。但我们必须记住,不要让完美成为成功路上的敌人。

11. CNN 能做到什么视觉系统无法做到的事?

对我而言,这是一个更加相关的问题。使用某种非生物学的模型来绕过困难问题比使用缺乏某些特定生物特性的模型更有问题。

第一个问题:卷积权重有正有负。这意味着前馈连接有激励性的,也有抑制性的(而在大脑区域之间的大脑连接大都是激励性的),单个的人工神经元可以激励也可以抑制。如果我们只把权重看作是净效果,那么这还问题不大,这实际上也许可以通过连接抑制细胞的前馈激励连接而执行。

接下来:权重是共享的。这意味着特征图中某个位置的神经元在其输入上会使用与同一特征图中另一个不同神经元完全一样的权重。尽管方位调谐(orientation tuning)等功能在 V1 中的视网膜拓扑上是这个情况,但我们不相信在一个视觉空间中更偏爱垂直线的神经元会与另一个位置更偏爱垂直线的神经元有完全一样的输入权重。这里可没有确保所有权重都相关和共享的「鬼魅般的超距作用」。因此,当前使用的帮助训练这些网络的权重共享应该被更接近生物创建空间不变调节的方法替代。

第三:最大池化怎么样?用神经科学的术语讲,最大池化操作类似于神经元的放电率,其等于其最高放电输入的放电率。因为神经元会汇集很多神经元的信号,所以很难设计一个能直接做到这一点的神经元。但池化操作是受复杂细胞的发现启发的,而且最早是被用作一种平均化操作,这是神经元可以轻松实现的。但事实已经证明最大池化在目标识别表现和拟合生物数据方面会更加成功,而且现在已被广泛使用。

机器学习研究者对 CNN 的进一步发展已经让它们远远超越了视觉系统的范畴(因为机器学习研究者的目标只有表现水平本身)。某些表现最优的 CNN 现在有很多在生物学角度上看起来很奇怪的特征。此外,这些更新的模型的极端深度(大约 50 层)已然降低了它们的活动与视觉系统的关联。

当然,也还存在这些网络的训练方式的问题(通过反向传播)。这会在第 13 问讨论。

12.CNN 能做得更像人脑吗?

我当计算神经科学家的一个主要原因是(没有实验设置的限制)我们可以做任何我们想做的事情。所以,是的!我们可以让标准 CNN 有更多生物启发式特性。让我们看看我们已经取得的成果:

正如第 10 问中提及的,很多架构元素已经被添加到了 CNN 的不同变体中,这使得它们更接近腹侧流。此外,在增加学习过程的合理性方面也已经有了一些研究成果(见第 13 问)。

除了这些努力之外,在复现生物细节方面的具体研究还包括:

受生物学启发的 Spoerer et al. (2017) 表明横向连接和反馈连接可以让模型更好地识别有遮挡和有噪声的目标。

增加生物学启发的连接,来自 Spoerer et al. (2017)

我本人的一些研究(在 Cosyne 2017 上呈现并在准确提交期刊)涉及到将稳定超线性网络(stabilized supralinear network)(一种实现归一化的仿生物回路模型)纳入 CNN 架构中。这会为 CNN 引入 E 和 I 细胞类型、动态和循环(recurrence)。

Costa et al. (2017) 使用生物学启发的组件实现了长短期记忆网络(LSTM)。在为人工神经网络添加循环时,LSTM 是很常用的,所以确定可以如何通过生物式的方式实现这种功能会很有用。

13.CNN 使用反向传播学习权重的方法是否重要?

反向传播涉及到计算网络中任意位置的权重应该变化的方式,以便减少分类器产生的误差。这意味着第一层的一个突触会有一些关于错误的信息并一直传递到顶层。但真正的神经元往往依赖于局部的学习规则(比如赫布可塑性(Hebbian plasticity)),其中权重的变化主要是由神经元之前和之后的突触决定的,而不会受到任何遥远因素的影响。因此,反向传播应该不是模拟生物方式。

这无需影响我们对完全训练的 CNN 作为视觉系统的模型的影响。计算模型中的参数往往是用与大脑学习方式(比如用于获取功能连接性的贝叶斯推理)没有任何相似之处的技术拟合的。但这并不会让所得到的回路模型无法解读。在极端的情况下,我们可以将反向传播看作是一个和其它技术一样的单纯的参数拟合工具。而且 Yamins et al. (2014) 确实使用了一种不同的参数拟合技术(不是反向传播)。

但是,采纳这一观点并不意味着模型的特定方面是无法解读的。比如,我们并不期望学习曲线(误差随模型学习的变化方式)与人类或动物学习时犯错的情况有关联。

使用分离树突(segregated dendrite)的局部误差计算,来自 Guerguiev et al.

尽管当前实现的反向传播不具有生物合理性,但其可被看作是大脑实际工作方式的一种抽象版本。目前有多个研究正努力使反向传播具有生物合理性,比如通过局部计算和拟真的细胞类型来实现反向传播,比如《Towards deep learning with segregated dendrites》和《An Approximation of the Error Backpropagation Algorithm in a Predictive Coding Network with Local Hebbian Synaptic Plasticity》。这会让这一学习过程获得更好的生物学解释。使用更有生物合理性的学习流程是否能得到更匹配数据的神经活动?这还是一个需要实证解答的问题。

另一方面,无监督学习看起来像是一个大脑机制,因为它不需要关于标签的明确反馈,而是使用了有关环境的自然统计来发展表征。到目前为止,无监督学习还没有实现监督学习那样高的目标分类表现。但使无监督学习和方法具有生物合理性的进展可能最终会带来更好的视觉系统模型。

14. 我们能使用 CNN 了解到有关视觉系统的什么信息?

只靠 CNN,什么也了解不到。所有的见解和发展都需要通过与实验数据的交互而进行验证和延展。也就是说,CNN 对我们理解视觉系统的方式可以有三种贡献。

第一是验证我们的直观理解。就像费曼说的「我们不能理解我们不能创造的东西」。有了收集到的所有数据和发展起来的视觉系统理论,神经科学家为什么不能创造一个可工作的视觉系统呢?这应该能让我们警醒,并意识到我们错过了一些关键的东西。现在我们可以说我们对视觉系统的直观理解基本上是正确的,我们只是缺少计算能力和训练数据。

第二是允许实现理想的实验检验平台。这是科学界对机制模型的常用方法。我们可以使用已有数据建立一个模拟我们所感兴趣的内容的合理模型。然后我们测试其各个部分,看哪些部分对功能实现是重要的。这能用于产生假设以便未来实验和/或解释之前未用于构建该模型的数据。

第三种贡献方式是通过数学分析。对于计算建模而言,情况总是如此;将我们关于视觉系统工作方式的信念整合成具体的数据术语,从而开启新型的研究方向。尽管在模型上进行分析时通常需要将它们进一步简化,但这仍然能为模型行为的一般趋势和局限性提供有帮助的见解。在这种特定情况下,还会有一些额外的发展动力,因为某些机器学习也有兴趣在数学上剖解这些模型。这样他们的见解就能在适当的情况成为我们的见解,比如 http://www.cs.toronto.edu/~wenjie/papers/nips16/top.pdf 

15. 使用 CNN 作为视觉系统模型已让我们了解到了什么?

首先,我们表明我们的直观理解实际上可以用来构建可工作的视觉系统,从而验证了这些直观理解。此外,这种方法已经帮助我们定义了(用 Marr 的术语)视觉系统的计算层面和算法层面。通过在目标检测上训练而获得如此之多神经数据和行为数据的能力说明这是腹侧流的核心计算作用。而一系列卷积和池化就是做到这一点所需的算法的一部分。

我相信,这些网络的成功也有助于我们改变对视觉神经科学领域基本研究单元的看法。很多视觉神经科学领域(乃至所有神经科学领域)一直以来都被以单个细胞及其调谐偏好为中心的方法所主导。没有严格一个神经元对应一个神经元的获取数据的抽象模型将关注焦点放在了群编码(population coding)上。某天有可能对理解单个调制函数的尝试会得到同样的结果,但目前群层面的方法看起来更有效。

此外,将视觉系统看作一整个系统,而不是隔离的区域,能重塑我们对这些区域的理解方式。人们在研究 V4 上投入了大量工作,比如试图用语言或简单的数学来描述什么会导致该区域的细胞产生响应。当 V4 被看作是目标识别路径上的中间立足点时,似乎就更不可能将其拿出来单独描述了。就像这篇综述论文《Deep neural networks: a new framework for modelling

biological vision and brain information processing》说的:「对一个单位的口头功能解释(比如作为眼睛或人脸检测器)可能有助于我们直接理解某些重要的东西。但是,这样的口头解释可能会夸大分类和定位的程度,并低估这些表征的统计和分布本质。」事实上,对训练后的网络的分析已经表明对单个单元的强大且可解读的调制与优良表现无关,这说明历史上对单个单元的关注的方向有误。

在探索不同的架构方面还有一些更加具体的进展。通过检查获取神经和行为响应的哪些元素上需要哪些细节,我们可以得到结构和功能之间的直接联系。在《Deep Recurrent Neural Network Reveals a Hierarchy of Process Memory during Dynamic Natural Vision》这项研究中,加入网络的横向连接在解释背侧流响应的时间过程上比在腹侧流上的作用更大。其它研究说明反馈连接对于获取腹侧流动态而言是很重要的。还有研究表明神经响应的特定组分可以通过随机权重的模型取得,这说明分层架构本身就能解释它们。而其它组分则需要在自然且有效的图像类别上训练得到。

此外,我们还观察到,特定表现优良的 CNN 并不能准确预测神经行为(见第 11 问)。这个观察很重要,因为这说明并非所有具有视觉能力的模型都是大脑的良模型。这让我们相信,我们看到的能很好预测神经活动的架构(通过大脑区域和层之间的对应)表现良好的原因是它们确实获取到了大脑所执行的变换的某些过程。

因为 CNN 提供了一种生成拟真神经响应的「图像可计算的」方式,所以它们也可被用于将更少被理解的信号与视觉处理关联起来,比如这两项关于 contextualizing oscillation 的研究:《Using DNNs as a yardstick for estimating the representational value of oscillatory brain signals.》和《Activations of Deep Convolutional Neural Network are Aligned with Gamma Band Activity of Human Visual Cortex》。

我自己也有使用 CNN 作为视觉系统的模型的研究《Understanding Biological Visual Attention Using Convolutional Neural Networks》,我的研究主要是证明特征相似性增益模型(它描述了注意的神经影响)可以解释注意机制对表现效果的有益影响。

最后,某些研究已经记录到了没有被 CNN 所实现的神经或行为元素(见第 6 问)。这些研究有助于确定需要进一步实验和计算探索的区域。

案例还有很多。总而言之,鉴于这方面的研究从 2014 年左右才真正开始,我会说研究的数量已经相当不错了。

原文链接:https://neurdiness.wordpress.com/2018/05/17/deep-convolutional-neural-networks-as-models-of-the-visual-system-qa/

理论卷积神经网络神经科学
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经科学技术

神经科学,又称神经生物学,是专门研究神经系统的结构、功能、发育、演化、遗传学、生物化学、生理学、药理学及病理学的一门科学。对行为及学习的研究都是神经科学的分支。 对人脑研究是个跨领域的范畴,当中涉及分子层面、细胞层面、神经小组、大型神经系统,如视觉神经系统、脑干、脑皮层。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习曲线技术

在机器学习领域,学习曲线通常是表现学习准确率随着训练次数/时长/数据量的增长而变化的曲线

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。