本文参考:
Artificial Neural Networks for Neuroscientists: A Primer

人工神经网络(ANN)是机器学习中必不可少的工具,在神经科学中引起了越来越多的关注。除了提供强大的数据分析技术外,人工神经网络还为神经科学家提供了一种新方法,可以构建复杂行为、异构神经活动和电路连接的模型,并以传统模型无法设计的方式探索神经系统的优化。在本文中,我们介绍了人工神经网络,并展示了它们如何被富有成效地用于研究神经科学问题。我们首先讨论人工神经网络的基本概念和方法。然后,重点是使这个数学框架更接近神经生物学,我们详细介绍了如何定制人工神经网络的分析、结构和学习,以更好地应对大脑研究中的各种挑战。为了帮助读者获得实践经验,本文附有 PyTorch 和 Jupyter Notebook 中的教程式代码,涵盖了主要主题。

1. 神经科学中的人工神经网络

使用人工神经网络(ANN)或深度学习进行学习已成为当今机器学习的主导框架,从而在广泛的应用中取得了突破,包括计算机视觉,自然语言处理和战略游戏。该领域的一些关键思想可以追溯到大脑研究:监督学习规则源于训练感知器的理论,而感知器又受到大脑的启发;而分层架构和卷积原理与我们关于灵长类视觉系统的知识密切相关。今天,从神经科学到人工智能领域的思想交流仍在继续。

与此同时,机器学习为系统神经科学提供了新的强大工具。深度学习框架的一个用途是分析神经科学数据(图1)。事实上,计算机视觉的进步,尤其是卷积神经网络,已经彻底改变了图像和视频数据处理。例如,随着时间的推移,不受控制的行为,例如实验室实验中动物的微运动,现在可以在深度神经网络的帮助下有效地跟踪和量化。大脑连接组学、转录组学和神经生理学的大量大数据不断催生出创新的神经技术,这些数据的分析可以从机器学习中受益。示例包括实现详细的微米级图像分割,神经微电路中的连接重建,以及从尖峰数据估计神经放电率。

图1 使用人工神经网络进行神经科学研究的原因

(左上)神经/行为数据分析。人工神经网络可用作图像处理工具,实现高效的姿态预测。1
(右上)对复杂行为进行建模。人工神经网络可以执行涉及具有挑战性的自然视觉物体的物体辨别任务。2
(左下)说明人工神经网络可用于模拟复杂的神经活动/连接模式(蓝线)。
(右下)从优化角度理解神经回路。在此视图中,函数神经网络(星号)是目标函数在受神经网络架构(彩色空间)约束的模型的抽象空间中优化(箭头)的结果。

本文不侧重于数据分析,相反我们的主要目的是提出在计算神经科学领域开发生物神经回路的 ANN 模型的基本概念和方法。值得注意的是,一般而言,ANN 不应与神经网络模型混淆。数学模型都是“人造”的,因为它们不是生物模型。我们用 ANN 具体表示的模型部分受到神经科学的启发,但生物学上的合理性并不是主要关注的问题,与其他类型的模型相比,这些模型力求建立在神经科学两大支柱(神经解剖学和神经生理学)的定量数据上。神经网络在神经科学和认知科学中的应用可以追溯到神经网络的早期。近年来,神经网络正在成为神经科学中越来越常见的模型系统。人工神经网络或深度学习模型已经并可能继续对神经科学家特别有用,原因有三。

首先,需要新的建模方法来应对大脑研究中的新挑战。在过去几十年中,计算神经科学取得了巨大进步,成为系统神经科学的一个重要组成部分。通过实验和理论的结合,获得了许多见解,包括激发与抑制平衡以及归一化思想。此外在开发基本认知功能模型(如简单决策)方面也取得了进展。然而,现实生活中的问题可能非常复杂;基本的大脑系统通常很难用“手工构建”的计算模型来捕捉。例如,大脑中的对象分类是通过多层复杂的线性非线性处理进行的。建立视觉系统的功能模型,以实现接近人类的行为表现,不仅对神经科学家,而且对计算机视觉研究人员来说,仍然是一项艰巨的挑战。通过直接训练复杂任务和行为的神经网络模型,深度学习提供了一种有效生成大脑功能候选模型的方法,否则这些模型几乎不可能建模(图1)。通过学习执行动物的各种复杂行为,神经网络可以作为生物神经网络的潜在模型系统,补充非人类动物模型来理解人脑。

在系统神经科学中提倡深度网络的第二个原因是承认相对简单的模型通常不能解释异质神经群体中广泛多样的活动模式(图1)。人类可以正确地认知,这是一种优点而不是缺陷,因为简单性和普遍性是好理论的标志。然而,复杂的神经信号也告诉我们,现有的模型可能不足以阐明大脑的奥秘。这在前额叶皮层可能尤其如此。前额叶皮层的神经元通常对各种任务变量表现出复杂的混合选择性。使用手工构建的模型,这种复杂的模式通常不容易解释和理解,而这些模型在设计上力求简单。神经网络有望捕捉神经活动的复杂性。

第三,除了提供生物系统的机械模型外,机器学习还可以用来探索神经科学中的“为什么”问题。大脑是在强大而高效的计算压力下进化而来的生物机器。即使我们了解了系统是如何工作的,我们也可能会问为什么它会这样工作。与进化以生存的生物系统类似,神经网络被训练以优化给定各种结构约束(神经元数量、电路布线的经济性等)的目标函数(图1)。通过识别导致大脑类似神经网络的特定目标和约束条件,我们可能会深入了解生物系统面临的进化压力。

在本文中,我们将讨论神经网络如何通过上述三种方式使神经科学家受益。在第2节中,我们将首先介绍 ANN 研究中常见的关键成分。在第 3 节中,我们将描述神经网络作为神经科学模型的两个主要应用:卷积网络作为感官(尤其是视觉)系统的模型,递归神经网络作为认知和运动系统的模型。在第 4 节和第 5 节中,我们将概述如何定制 ANN 的分析和架构设计,以更好地解决广泛的神经科学问题。为了帮助读者获得实践经验,我们在 PyTorch 和 Jupyter 笔记本中附带了教程风格的代码,涵盖所有主要主题。

2. ANN 的基本成分和变化

在本节中,我们将介绍 ANN 中的基本概念及其常见变体。如果读者熟悉 ANN 和深度学习,可以跳过本节。读者可以参考麻省理工的书籍3

2.1 基本成分:学习问题、体系结构和算法

使用深度网络的典型研究包括三个基本要素:学习问题、网络架构和训练算法。神经网络中单元或神经元之间的连接权重受网络架构的约束,但其特定值在初始化时随机分配。这些权重构成了大量参数,统称为θθ,还包括其他模型参数(见下文),将使用算法进行训练。训练算法指定连接权重如何变化以更好地解决学习问题,例如拟合数据集或执行任务。我们将讨论一个简单的示例,其中多层感知器(MLP)被训练为使用监督学习执行简单的数字分类任务。

学习问题

在监督学习中,系统学习拟合包含一组输入 {x(i)}, i=1, , N\lbrace x^{(i)} \rbrace,\ i=1,\ ……,\ N 的数据集。每个输入 x(i)x^{(i)} 与目标输出 ytarget(i)y_{target}^{(i)} 配对。粗体符号表示向量(默认情况下为列向量)。目标是学习神经网络函数 $F(⋅, θ) $ 的参数 $ θ $ ,该函数预测给定输入的目标输出,y(i)=F(x(i),θ)ytarget(i)y^{(i)}=F(x^{(i)},θ)≈y_{target}^{(i)} 。在简单数字分类任务 MNIST 中,每个输入是包含单个数字的图像,而目标输出是由十维向量或简单地对应于该对象类别的整数给出的所有类别 (0,1,,9)(0,1,…,9) 的概率分布。

更准确地说,系统被训练为优化目标函数的值,或者通常最小化损失函数的值 L=1NiL(y(i),ytarget(i))L = \frac{1}{N} \sum_{i}L(y^{(i)},y_{target}^{(i)}) ,其中 L(y(i),ytarget(i))L(y^{(i)},y_{target}^{(i)}) 量化了目标输出 ytarget(i)y^{(i)}_{target} 和实际输出 y(i)y^{(i)} 之间的差异。

网络体系结构

ANN 具有难以置信的多功能性,包括广泛的架构。在所有架构中,最基本的架构是 MLP(图2A)。MLP 由多层神经元组成,其中第 l 层的神经元仅接收来自第 (l−1) 层的输入,并且仅投射到第 (l+1) 层。

r(1)=x(1)r^{(1)}=x \tag{1}

r(l)=f(W(l)r(l1)+b(l)), 1<l<N(2)r^{(l)}=f(W^{(l)}r^{(l-1)}+b^{(l)}),\ 1<l<N \tag{2}

y=f(W(N)r(N1)+b(N))(3)y=f(W^{(N)}r^{(N-1)}+b^{(N)}) \tag{3}

图2 常见神经网络结构示意图

(A) 多层感知器(MLP)。
(B) 递归神经网络(中间)接收输入流(左侧)。训练后,输出单元(右)应产生期望的的输出。4
(C) 递归神经网络作为前馈系统在时间上展开,每个层在一个时间步长对应于网络状态。 $ c_t $ 和 $ r_t $ 分别描述了时间 $ t $ 的网络状态和输出活动。 $ c_t $ 是 $ r_{t-1} $ 和输入 $ x_t $ 的函数。

(D) 用于处理图像的卷积神经网络。每层包含多个通道(第 1 中有四个,第 2 层中有六个)。通道(由正方形表示)由空间组织的神经元组成,每个神经元接收来自具有相似空间偏好的神经元的连接。这些连接的空间范围由内核大小来描述。5

这里, xx 是外部输入, r(l)r^{(l)} 表示第 l 层神经元的神经活动, W(l)W^{(l)} 是从第 (l1)(l-1) 层到第 ll 层的连接矩阵。 f()f(⋅) 是模型神经元的一个(通常是非线性的)激活函数。网络的输出通过连接 W(N)W^{(N)} 读出。参数 b(l)b^{(l)}b(N)b^{(N)} 分别是模型神经元和输出单元的偏差。如果网络被训练为分类,那么输出通常被归一化为 jyj=1\sum_{j}y_j=1 ,其中 yjy_j 表示类 jj 的预测概率。

当每层有足够的神经元时,理论上 MLP 可以近似任意函数。然而,在实践中,网络规模有限,即使存在良好的解决方案,也可能无法通过训练找到。MLP 通常与更现代的神经网络架构结合使用或作为其一部分。

训练算法

深度学习中训练的标志性方法是随机梯度下降(SGD)。可训练参数(统称为 θθ )在损耗梯度的相反方向上更新,即:Lθ\frac{\partial L}{\partial θ}。直观地说,如果成本函数 LL 随着第 jj 个参数 θjθ_j 的增加而增加,则应通过训练来减少该参数。对于训练的每一步,因为使用整个训练集评估损失通常太昂贵,所以使用少量 M 个随机选择的训练示例(小批量)来计算损失,以 B={k1,,kM}\mathbb{B}=\lbrace k_1,……,k_M\rbrace 为索引,

Lbatch=1MkBL(y(k),ytarget(k))(4)L_{batch}=\frac{1}{M}\sum_{k∈\mathbb{B}}L(y^{(k)},y^{(k)}_{target}) \tag{4}

因此称为“随机”。为简单起见,我们假设小批次大小为 1,并在以下等式中省略批次( LbatchL_{batch} 将被称为 LL )。梯度 Lθ\frac{\partial L}{\partial θ} 是参数变化的方向,参数小小的变化就能导致损失函数较大的变化。为了减少损失,在梯度的相反方向上更新可训练参数,其大小与学习率 ηη 成正比:

Δθ=ηLθ(方程 5)Δθ=−η\frac{∂L}{∂θ} \tag{方程 5}

WWbb 等参数通常是可训练的。其他参数由建模者设置,称为超参数,例如学习率 ηη。计算梯度的一个关键要求是可微性,即模型中函数的导数定义良好。

对于没有任何中间(隐藏)层的前馈网络:

y=Wx+b,或等价方程,yi=jWijxj+bi(6)y=Wx+b, \quad \text{或等价方程},\quad y_i=\sum_{j}W_{ij}x_{j}+b_i \tag{6}

计算梯度是直接的:

LWij=kLykykWij=Lyixj(7)\frac{∂L}{∂W_{ij}}=\sum_{k}\frac{∂L}{∂y_k}\frac{∂y_k}{∂W_{ij}}=\frac{∂L}{∂y_i}x_j \tag{7}

其中,当 k=ik=i 时,ykWij\frac{∂y_k}{∂W_{ij}} 等于 xjx_j,否则为0。在矢量表示法中:

LW=Lyx(8)\frac{∂L}{∂W}=\frac{∂L}{∂y}x^⊺ \tag{8}

在这里,我们遵循如下惯例:使得 LW\frac{∂L}{∂W}Ly\frac{∂L}{∂y} 分别与 WWyy 具有相同的形式。假设:

L=12yytarget2=12j(yjytarget, j)2(9)L=\frac{1}{2}\Vert y−y_{target}\Vert^2=\frac{1}{2}\sum_j(y_j−y_{target},\ j)^{2} \tag{9}

可得:

LW=(yytarget)x(10)\frac{∂L}{∂W}=(y−y_{target})x^⊺ \tag{10}

ΔWijLWij=(ytarget, iyi)xj(11)ΔW_{ij}\propto−\frac{∂L}{∂W_{ij}}=(y_{target},\ i−y_i)x_j \tag{11}

此修改仅取决于关于每个连接的输入和输出单元的本地信息。因此,如果 ytarget, i>yiy_{target},\ i>y_iWijW_{ij} 应改变以增加净输入,ΔWijΔW_{ij} 的符号与 xjx_j 相同。如果 ytarget, i<yiy_{target},\ i<y_i 则相反。

对于多层网络,则使用反向传播算法进行微分。为了计算损耗 LL ,网络是以正向方式运行的(公式 1,2 和 3)。接下来,为了有效地计算准确的梯度 Lθ\frac{∂L}{∂θ} ,需要在相反方向上反向传递关于损耗的信息,因此称为反向传播。

为了说明这个概念,考虑 N 层线性前馈网络(公式 1,2 和 3,并且 f(x)=xf(x)=x )。要计算 LW(l)\frac{∂L}{∂W^{(l)}} ,我们需要计算 Lr(l)\frac{∂L}{∂r^{(l)}} 。从 r(l+1)=W(l+1)r(l)+b(l+1)r^{(l+1)}=W^{(l+1)}r^{(l)}+b^{(l+1)} ,我们得到:

Lri(l)=jLrj(l+1)rj(l+1)ri(l)=jLrj(l+1)Wji(l+1)=j[W(l+1)]ijLrj(l+1)(12)\frac{∂L}{∂r_{i}^{(l)}}=\sum_j \frac{∂L}{∂r_{j}^{(l+1)}} \frac{∂r_{j}^{(l+1)}}{∂r_{i}^{(l)}}=\sum_j \frac{∂L}{∂r_{j}^{(l+1)}}W_{ji}^{(l+1)}=\sum_j[W^{(l+1)}]_{ij}^{⊺} \frac{∂L}{∂r{j}^{(l+1)}} \tag{12}

矢量表示法:

Lr(l)=[W(l+1)]Lr(l+1)=[W(l+1)][W(l+2)]Lr(l+2)=(13)\frac{∂L}{∂r^{(l)}}=[W^{(l+1)}]^⊺ \frac{∂L}{∂r^{(l+1)}}=[W^{(l+1)}]^⊺[W^{(l+2)}]^⊺ \frac{∂L}{∂r^{(l+2)}}=⋯ \tag{13}

因此,首先对于 Ly\frac{∂L}{∂y} ,当 L=N1, , 1L=N−1,\ …,\ 1 时,可以从 Lr(l+1)\frac{∂L}{∂r^{(l+1)}} 中递归地计算出 Lr(l)\frac{∂L}{∂r^{(l)}} 。这种计算与正向传递相反,称为反向传递。通常,反向传播适用于具有任意微分分量的神经网络。

通过反向传播计算准确的梯度,在生物学上被认为是不现实的,因为更新每一层的连接需要下游层的连接权重的精确、非本地信息(以连接矩阵转置的形式,公式 13)。

2.2 学习问题/目标函数的变化

在本节和以下章节(2.3和2.4)中,我们介绍了学习问题、网络架构和训练算法的常见变体。

传统上,学习问题分为三种:有监督的、强化的和无监督的学习问题。这三种学习问题的区别在于目标或对象。在监督学习中,每个输入都与一个目标相关联。系统学习产生符合目标的输出。在强化学习中,系统获得一系列标量奖励,而不是显式(高维)目标。它学会产生最大化总回报的产出(行动)。无监督学习是指系统没有明确目标或奖励的一系列问题。由于篇幅有限,我们将在本文中主要关注通过监督学习训练的神经网络。

监督学习

如前所述,对于监督学习任务,提供了输入和目标输出对 {(x(i),ytarget(i))}\lbrace(x^{(i)}, y_{target}^{(i)})\rbrace 目标是最小化网络预测的目标输出和实际输出之间的差异。在许多常见的监督学习问题中,目标输出是行为输出。例如,在典型的对象分类任务中,每个输入都是包含单个对象的图像,而目标输出是与该对象的类别(例如,狗、猫等)相对应的整数。在某种情况下,目标输出可以直接是神经记录数据。

具有随机点运动的经典感知决策任务可以被表述为监督学习问题,因为存在正确答案。在该任务中,动物观察随机移动的点,并通过选择两个备选方案 A 或 B 中的一个来报告点的总体运动方向。该任务可以简化为在第 i 次试验的每个时间点 t 接收噪声输入流 xt(i)x_t^{(i)} 的网络,这可以表示支持 A 和反对 B 的净证据,系统应该学会报告平均输入 ytarget(i)=sign(xt(i)t)y_{target}^{(i)}=sign(\left\langle x^{(i)}_{t} \right\rangle _{t}) ,选项 A 为 +1,选项 B 为 -1。

强化学习

对于强化学习,模型(智能体)与环境交互,例如(虚拟)迷宫。在时间步骤 t,智能体从环境接收观察 oto_t ,产生将环境状态更新为 st+1s_{t+1} 的动作 ata_t ,并接收标量奖励 rtr_t (惩罚的负值)。例如,在虚拟迷宫中导航的模型可以接收基于像素的视觉输入作为观察结果,产生在迷宫中移动的动作,并在离开迷宫时获得奖励。目标是根据过去和现在的观察结果采取适当的行动,使累积回报 trt\sum_t r_t 最大化。在许多经典的强化学习问题中,观察 oto_t 等于环境状态 sts_t ,它包含关于环境的完整信息。

强化学习(无神经网络)已被神经科学家和认知科学家广泛用于研究基于价值的学习和决策任务。例如,在多武装强盗任务中,智能体在多个选项之间反复选择,其中每个选项产生一定概率的奖励。强化学习理论可以模拟智能体的行为随时间的变化,并帮助神经科学家研究基于价值的行为的神经机制。

深度强化学习使用强化学习训练深度神经网络,使其能够应用于许多更复杂的问题。原则上,深度强化学习可以用于研究实验室动物执行的大多数任务,因为动物通常通过奖励来执行任务。尽管当存在正确选择(例如,感知决策)时,许多此类任务也可以被表述为监督学习问题,但许多其他任务只能被描述为强化学习任务,因为答案是主观的。例如,存在正确答案(A,而不是 B)的感知决策任务可以扩展到评估动物对其选择的信心。除了这两种选择,正确的选择会获得高额奖励,否则不会获得任何奖励外,猴子还会得到一个确保获得少量奖励的肯定下注选项。由于少量奖励比没有奖励好,当受试者对做出感性判断不太自信时,他们更有可能选择肯定的投注选项。强化学习在这里是必要的,因为没有基本事实选择输出:最佳选择取决于动物自己在感知决策时的信心水平。

无监督学习

对于无监督学习,仅提供输入 {x(i)}\lbrace x^{(i)} \rbrace ;仅使用输入和网络参数 L(x, θ)L(x,\ θ),(没有目标或奖励)来定义目标函数。例如,在主成分分析(PCA)中寻找第一个分量可以表示为简单神经网络中的无监督学习。从一组输入神经元 xx 中读出的单个神经元 yy(y=ωx)(y=\omega ^⊺x),可以通过最大化其方差 Var(y)Var(y) 来学习提取第一主分量,同时保持其连接权归一化 (w=1)(\Vert w\Vert=1)

无监督学习对于建立感觉皮层发育的模型特别相关。虽然在机器学习中得到了广泛的应用,但对于大多数动物来说,监督学习所需的标记数据(如图像对象)很少。无监督学习很早就已被用来解释视觉区域的神经反应,以及最新的研究揭示了高级视觉区域的神经反应。

与强化学习和无监督学习相比,监督学习可以特别有效,因为神经网络以高维目标输出的形式接收更多的信息反馈。因此,将强化/非监督学习问题(或其中的一部分)表示为监督学习问题是很常见的。例如,考虑一个无监督学习问题,该问题将高维输入 xx 压缩为低维表示 zz,同时保留关于输入的尽可能多的信息(不一定是信息论意义上的)。解决这个问题的一种方法是使用监督学习训练自动编码器网络。自动编码器由将输入 xx 映射到低维潜在表示 z=fencode(x)z=f_{encode}(x) 的编码器和将该潜在映射回高维表示 y=fdecode(z)y=f_{decode}(z) 的解码器组成。为了确保 zz 包含关于 xx 的信息,自动编码器使用原始输入作为监督学习目标 ytarget=xy_{target}=x

2.3 网络结构的变化

递归神经网络

除了 MLP,另一个基本的 ANN 架构是递归神经网络(RNNs),它在时间上处理信息(图2B)。在 "vanilla "或 Elman RNN 中6,模型神经元在时间 tt 的活动, rtr_t ,由递归连接 WrW_r 驱动,输入 xtx_t 通过连接 WxW_x 驱动。网络的输出是通过连接 WyW_y 读出的。

ct=Wrrt1+Wxxt+br(14)c_t=W_rr_t−1+W_xx_t+b_r \tag{14}

rt=f(ct)(15)r_t=f(c_t) \tag{15}

yt=Wyrt+by(16)y_t=W_yr_t+b_y \tag{16}

这里, ctc_t 代表细胞状态,类似于膜电位或输入电流,而 rtr_t 代表神经元活动。一个 RNN 可以在时间上展开(图 2C),并被视为 MLP 的一个特殊形式。

rt=f(Wrrt1+Wxxt+br),for t=1,,T(17)r_t=f(W_rr_{t−1}+W_xx_t+b_r),\quad for\ t=1,⋯,T \tag{17}

这里,第 ttrtr_t 的神经元接收来自第 (t1)(t-1)rt1r_{t-1} 的输入和来自递归网络外部的额外输入 xtx_t。与普通的 MLP 不同,从每一层到下一层的连接是跨时间共享的。

逆向传播也适用于 RNN。虽然 MLP 中的反向传播将梯度信息从最后一层向后传播(公式 13),但计算 RNN 的梯度需要将信息向之后传播(通过时间的反向传播,也被称为 BPTT)。假设损失是由最后一个时间点 TT 的输出和一个线性激活函数计算出来的,BPTT 的关键步骤与公式 13 类似,计算为:

Lrt=WrLrt+1=[Wr]2Lrt+2=(18)\frac{∂L}{∂r_t}=W_{r}^{⊺}\frac{∂L}{∂r_{t+1}}=[W_{r}^{⊺}]^{2} \frac{∂L}{∂r_{t+2}}=⋯ \tag{18}

随着 RNN 中时间步数的增加,权重的修改涉及许多矩阵的乘积(公式 18)。对于非常深的前馈网络(例如,有10层以上的网络),也存在类似的问题。这个矩阵乘积的规范,[Wr]T\Vert [W^⊺_r]^T\Vert,如果 WrW_r 很大(更确切地说,最大特征值 Wr>1W_r>1 ),可以随 TT 呈指数增长,如果 WrW_r 很小,则消失为零,这使得历史上很难训练递归网络。这种爆炸式增长或者突然消失的问题可以通过现代技术的组合来大大缓解,包括网络结构和初始网络连接,倾向于保留反向传播梯度的规范。

卷积神经网络

一种特别重要的网络结构类型是卷积神经网络(图 2D)。卷积的使用意味着一组神经元将使用相同的函数–换言之,相同的连接权重集来处理各自的输入。在处理视觉输入的典型卷积神经网络中,神经元被组织成 NchannelN_{channel} "通道 "或 “特征图”。每个通道包含具有不同空间选择性的 Nheight×NwidthN_{height}×N_{width} 神经元。卷积层中的每个神经元都由一个元组 i=(iC,iH,iW)i=(i_C,i_H,i_W) 来索引,代表通道索引(iCi_C)和空间偏好索引(iH, iWi_H,\ i_W)。第 ll 层的第 ii 个神经元通常由前一层的神经元驱动(偏置项和激活函数省略)。

riCiHiW(l)=jCjHjWWiCiHiW, jCjHjW(l)rjCjHjW(l1)(19)r_{i_{C}i_{H}i_{W}}^{(l)}=\sum_{j_{C}j_{H}j_{W}}W_{i_{C}i_{H}i_{W},\ j_{C}j_{H}j_{W}}^{(l)}r_{j_{C}j_{H}j_{W}}^{(l−1)} \tag{19}

重要的是,在卷积网络中,连接权重并不取决于第 ii 个神经元的绝对空间位置;相反,它们只取决于突触前和突触后神经元之间的空间位移(iHjH, iWjWi_H-j_H,\ i_W-j_W)。

WiCiHiW, jCjHjW(l)=WiC, jC(l)(iHjH, iWjW)(20)W_{i_{C}i_{H}i_{W},\ j_{C}j_{H}j_{W}}^{(l)}=W_{i_C,\ j_C}^{(l)}(i_H−j_H,\ i_W−j_W) \tag{20}

因此,单一通道内的所有神经元使用相同的共享连接权重处理输入空间的不同部分,使这些神经元在不同空间位置的感受野具有相同的刺激选择性。此外,神经元只接受具有类似空间偏好的其他神经元的输入,即当 iHjH\Vert i_H-j_H\VertiWjW\Vert i_W-j_W\Vert 值较小时(图 2D)。

这种权重的重复使用不仅大大减少了可训练参数的数量,而且还对处理过程施加了不变性。对于视觉处理来说,卷积网络通常会施加空间不变性,即无论物体的空间位置如何,都用同一组权重来处理。

在一个典型的卷积网络中,在各层中,每个通道的神经元数量(Nheight×NwidthN_{height}×N_{width})减少(随着空间分辨率的提高),而更多的特征被提取出来(随着通道数量的增加)。通常在系统的末端设定一个分类器,用来学习一个特定的任务,如对视觉对象进行分类。

激活功能

ANNs 中的大多数神经元,像它们的生物对应物一样,根据它们的输入进行非线性计算。这些神经元通常是具有单一非线性激活函数 f()f(⋅) 的点状神经元,它将输入的总和与输出的活动联系起来。非线性对于 ANN 的功能至关重要。常用的激活函数是整流线性单元(ReLU)函数,f(x)=max(x, 0)f(x)=max(x,\ 0)7。ReLU 在 x=0x=0 时的导数在数学上是未定义的,但在实践中习惯性地设置为 0。ReLU 及其变体通常用于前馈网络,而双曲正切(tanh)函数通常用于递归网络 。ReLU 和类似的激活函数是不对称的,在高值时是不饱和的。尽管生物神经元在高速率下最终会饱和,但它们经常在非饱和状态下工作。因此,带有速率单元的传统神经回路模型也经常使用非饱和激活函数。

归一化

归一化方法是许多 ANN 的重要组成部分,特别是非常深的神经网络。与生物神经回路中的归一化相似,ANNs 中的归一化方法将神经元的输入或输出保持在理想的范围内。例如,对于一个层的输入 xx(例如,刺激),该层的归一化相当于一种跨单元的 “Z评分”,因此第 ii 个神经元的实际输入xi^\widehat{x_i} 是:

xi^=γxiμσ+β(21)\widehat{x_i}=γ⋅\frac{x_i−μ}{σ}+β \tag{21}

μ=xj(22)μ=\langle x_j \rangle \tag{22}

σ=(xjμ)2+ϵ(23)σ=\sqrt{ \langle (x_j−μ)^2 \rangle+ϵ} \tag{23}

其中,xj\langle x_j \rangle 是指同一层中所有单元的平均值;μμσσxx 的均值和方差。归一化后,不同的外部输入导致 x^\widehat{x} 的均值和方差相同,由可训练参数 γγββ 设定。小常数 εε 确保 σσ 不会小到消失。

2.4.训练算法的变体

基于SGD的方法的变种

监督、强化和无监督学习任务都可以用基于 SGD 的方法进行训练。部分由于估计梯度的随机性,直接应用 SGD(公式 5)往往会导致训练效果不佳。在训练过程中逐渐衰减的学习率值 ηη 通常可以改善性能,因为在后期训练中较小的学习率会鼓励对参数进行更精细的调整。基于 SGD 的各种优化方法被用来改善学习。一种简单有效的技术是动量,在步骤 jj 上,基于时间平滑梯度 v(j)v^{(j)},用 Δθ(j)Δθ^{(j)} 更新参数。

v(j)=μv(j1)+L(j)θ,0<μ<1(24)v^{(j)}=μv^{(j-1)}+\frac{∂L^{(j)}}{∂θ},\qquad 0<μ<1 \tag{24}

Δθ(j)=ηv(j)(25)Δθ^{(j)}=−ηv^{(j)} \tag{25}

另外,在自适应学习率方法中,单个参数的学习率是根据其在训练步骤中的梯度统计(如平均值和方差)来调整。例如,在 Adam 方法中8,如果参数的梯度在各步骤中一直保持一致(低方差),则参数更新的价值会被放大。自适应学习率方法可以被视为近似地考虑了损失函数的曲率。

正则化

为了提高深度网络的泛化性能,正则化技术在训练期间非常重要。在损失函数中加入 L2 正则化项 Lreg=λijWij2L_{reg}=λ\sum_{ij}W_{ij}^2(相当于权重衰减),阻止网络使用大的连接权重,这可以通过隐性限制模型的复杂性来提高泛化性能。在训练的每一步,Dropout 会使随机选择的一部分神经元沉默。它减少了网络对特定神经元或神经元的精确组合的依赖。Dropout 可以被认为是松散地接近于尖峰噪声。

超参数(学习率、批量大小、网络初始化等)的选择通常由理论、经验证据和硬件限制的组合指导。对于神经科学的应用,重要的是科学结论不能严重依赖超参数的选择。如果必须依赖超参数,应该清楚地记录这种依赖关系。

3. 构建 ANN 以解决神经科学问题的例子

在本节中,我们概述了 ANN 在解决神经科学问题中的两种常见用途。

3.1 视觉系统的卷积网络

深度卷积神经网络是目前计算机视觉研究和应用的标准工具。这些网络通常由几十层,有时几百层的卷积处理组成。对深层前馈神经网络的有效训练过去是很困难的。通过各个领域的创新组合,这个可训练性问题已经得到了极大的改善。如果不是通用 GPU(图形处理单元)和 TPU(张量处理单元)等硬件的快速发展,现代深度网络将过于庞大,因此运行速度太慢,更不用说训练了。深度卷积网络通常是用大型自然数据集进行训练的,其中包含数百万张高分辨率标记的图像,使用具有自适应学习率的训练方法。除了默认使用卷积,一系列的网络架构创新也提高了性能,包括采用 ReLU 激活函数,归一化方法,以及使用残差连接,可以提供从网络层的输入直接到输出的架构捷径。

深度卷积网络已被提议作为视觉系统的计算模型,特别是腹侧视觉流或视觉物体信息处理的途径(图 3)。这些模型通常在与计算机视觉研究中使用的相同的图像分类任务上使用监督学习进行训练,在许多情况下,是与计算机视觉中开发的卷积网络完全相同。相比之下,视觉系统的经典模型通常依赖于手工设计的特征(突触权重),比如 Gabor 滤波器,或者基于高效编码原则的无监督学习训练。尽管经典模型在解释低级视觉区域的各种特征方面取得了成功,但深度卷积网络在解释猴子和人类的高级视觉区域的神经活动方面大大超过了它们。除了被训练来对物体进行分类,卷积网络也可以被训练来直接重现在各种视觉区域记录的神经活动模式。

图3 比较视觉系统和深度卷积神经网络

同样的图像通过猴子的视觉皮层(顶部)和深度卷积神经网络(底部),允许生物和 ANN 之间进行并排比较。来自 IT的神经反应被卷积网络最后一层的反应预测得最好,而来自 V4 的神经反应则被中间网络层预测得更好(绿色虚线箭头)。9

在比较卷积网络与高等视觉区的经典工作中,Yamins 及其同事在视觉分类任务上训练了数千个具有不同架构的卷积网络。为了研究人工和生物视觉系统的相似程度,他们量化了网络对自然图像的反应可以用来线性预测猴子观看相同图像的下颞叶(IT)皮层的反应。他们发现,这种神经预测能力与分类任务的准确性高度相关,这表明可以通过在具有挑战性的自然图像分类任务上开发性能更好的模型来建立更好的IT预测模型。他们进一步发现,与 IT 不同,来自相对较低的视觉区域 V4 的神经反应是由网络的中间层预测的最好的(图 3)。10

作为视觉系统的计算模型,卷积网络可以对下游区域的复杂、高维输入进行建模,对于使用基于像素的视觉输入的大规模模型非常有用。随着 Pytorch 和 Tensorflow 等标准深度学习框架中许多预训练的网络的容易获得,这个过程变得特别简单。

3.2 认知和运动系统的 RNN

RNN 是处理语音和文本等序列的常用机器学习工具。在神经科学中,它们已用于建模认知、运动和导航系统的各个方面。与用于模拟视觉系统的卷积网络不同,递归网络通常针对神经科学家正在研究的特定认知或运动任务进行训练。通过比较在动物或人类执行的相同任务上训练的 RNN,可以在 RNN 和大脑之间进行并排比较。可以在多个层面进行比较,包括单神经元活性和选择性、种群解码、状态空间动力学和网络对扰动的响应。我们将在下一节详细介绍如何分析 RNN。

使用 RNN 来建模认知的一项有影响力的工作涉及一个猴子实验,用于上下文相关的感知决策。在这项任务中,随机移动点的一部分(称为运动相干性)沿相同方向(左或右)移动;独立地,一部分(颜色一致性)点是红色的,其余的是绿色的。在一次试验中,受试者被背景信号提示执行运动任务(判断净运动方向是右还是左)或颜色任务(判断红点是否多于绿点)。猴子通过在时间上整合行为相关信息(例如,颜色)的证据,同时忽略不相关的特征(颜色任务中的运动方向)来执行任务。行为动物记录的前额叶皮层神经元表现出复杂的活动模式,尽管这些不相关的特征对行为选择的影响很小,但它们仍然表现得很强。然而,RNN 捕捉到了这些反直觉的活动模式。检查 RNN 动态揭示了一种新的机制,通过该机制,不相关的特征被表示,但在证据积累过程中有选择地过滤掉,并且不随时间而整合。

为了更好地比较 RNN 和生物系统之间的神经动力学,神经科学中使用的 RNN 通常与机器学习中的 RNN 对待时间的方式不同。机器学习中的 RNN 几乎总是离散的时间系统,其中通过从时间步骤 t1t−1 的状态映射获得时间步骤 tt 的状态(公式 14 和 15)。使用离散时间系统意味着现实生活中相隔几秒的刺激可以在连续时间点提供给网络。为了实现更现实的神经动力学,神经科学中使用的 RNN 通常基于连续时间动力学系统,例如

τdrdt=r(t)+f(Wrr(t)+Wxx(t)+br)(26)τ\frac{dr}{dt}=−r(t)+f(W_rr(t)+W_xx(t)+br) \tag{26}

这里,ττ 是单一单位的时间尺度。然后,这个连续时间系统可以用欧拉方法进行离散化,时间步长为 Δt(<τ)Δt(<τ)

r(t+Δt)r(t)+Δtτ[r(t)+f(Wrr(t)+Wxx(t)+br)](27)r(t+Δt)≈r(t)+\frac{Δt}{τ}[−r(t)+f(W_rr(t)+W_xx(t)+br)] \tag{27}

除了通过反向传播的梯度下降,神经科学中还使用了一系列不同的算法来训练 RNN 模型。这些算法基于利用具有弱扰动的混沌系统的思想。特别地,FORCE 算法允许通过使用递归最小二乘算法修改 RNN 的输出连接以匹配目标来进行快速学习11。网络输出 y(t)y(t)(此处假设为一维)通过 wfbw_{fb} 反馈给 RNN

τdrdt=r(t)+f(Wrr(t)+Wxx(t)+wfby(t)+br)(28)τ\frac{dr}{dt}=−r(t)+f(W_rr(t)+W_xx(t)+w_{fb}y(t)+br) \tag{28}

y(t)=wyr(t)(29)y(t)=w_y^⊺r(t) \tag{29}

因此,修改输出连接相当于递归连接矩阵的低秩修改(wfbwyw_{fb}w_y^⊺),

τdrdt=r(t)+f([Wr+wfbwy]r(t)+Wxx(t)+br)(30)τ\frac{dr}{dt}=−r(t)+f([Wr+w_{fb}w_y^⊺]r(t)+W_xx(t)+br) \tag{30}

4. 分析和理解 ANNs

机器学习或神经科学中使用的普通 ANN 并不容易解释。对于许多神经科学问题,它们可能更适合作为模型系统,等待进一步分析。在一项任务上成功训练一个 ANN 不意味着知道系统是如何工作的。因此,与大多数机器学习应用不同,训练好的 ANN 不是最终目标,而只是分析该网络以获得理解的前提条件。

大多数研究生物神经回路的系统神经科学技术可以直接应用于理解人工网络。为了促进人工和生物神经网络之间的并排比较,可以用用于生物记录的相同降维工具(如 PCA)对 ANN 的活动进行可视化和分析。为了了解从神经元到行为的因果关系,可以对任意一组神经元进行病变或在短时间内失活,类似于生理实验中的光遗传学操作。同样,可以对两组选定的神经元之间的连接进行病变,以了解跨种群互动的因果贡献。

在本节中,我们重点讨论对分析 ANN 特别有用的方法。这些方法包括基于优化的调谐分析,基于定点的动态系统分析,模型和实验数据之间的定量比较,以及从生物进化角度的洞察力。

相似性比较

诸如可视化、病变、调谐和定点分析等分析方法可以为个体网络的神经机制提供详细的直觉。然而,由于训练 ANN 相对容易,有可能为同一任务或数据集训练大量的神经网络。面对这样的数据量,有必要利用高通量的定量方法,对不同的模型进行规模化的比较。相似性比较方法计算执行相同任务的两个网络的神经活动之间的标度相似性分数。这些方法对网络的形式和规模是不可知的,可以同样适用于人工和生物网络。

考虑两个网络(或两个神经元群),大小分别为 N1N_1N2N_2。它们对相同的 DD 任务条件的神经活动可以用一个 D-by-N1N_1 的 矩阵 R1R_1 和一个 D-by-N2N_2 矩阵 R2R_2 (图 4A)。表征相似性分析(RSA)首先计算每个网络内不同任务条件之间的神经反应的不相似性或距离,得出每个网络的 D-by-D 不相似性矩阵(图 4B)。接下来,计算两个网络的异同度矩阵之间的相关性。更高的相关性对应于更相似的表征。

图4 卷积神经网络的反应和调谐

(A) 在一个卷积神经网络中,对图像的神经反应被训练成手写数字的分类。该网络由两层卷积处理组成,然后是两个完全连接层。
(B) 异同矩阵(每个 D 乘 D)评估对不同输入图像的相似或不相似的神经反应。差异矩阵是针对网络的第1层和第4层的神经元计算的。 D=50。图像按类别(0、1 等)组织,每个类别有五个图像。在第4层(右)比在第1层(左)对同一类别的图像的神经反应更相似,也就是说,神经表征更基于类别。
© 通过基于梯度的优化,为每层的样本神经元找到首选的图像刺激。第 1 层和第 2 层是卷积的,因此它们的神经元有本地化的首选刺激。相比之下,第 3 层和第 4 层的神经元有非局部的偏好刺激。

另一种相关的方法是使用线性回归,通过 R1R_1 的线性变换来预测 R2R_2 通过 R1R_1 的线性转换,R2WR1R_2≈WR_1。相似性对应的是 R2R_2 和它的预测值 WR1WR_1

复杂调谐分析

研究单个神经元的调谐特性一直是神经科学中最重要的分析技术之一。传统上,调谐特性是通过显示低维空间的参数化刺激(如视觉中的定向条或光栅)来研究感官区域的调谐特性。当所研究的神经元具有相对简单的反应特性时,这种方法是最有效的。一类新的方法将调谐的映射视为一个高维的优化问题,并直接搜索最强烈激活神经元的刺激。遗传算法等无梯度方法已被用于研究生物神经元的复杂调谐。在深度神经网络中,可以使用基于梯度的方法。对于一个有活动的神经元 r(x)r(x) 给定输入 xx,梯度上升优化从一个随机的 x0x_0 开始,并通过更新输入 xx 来进行

xx+Δx;Δx=ηrx(31)x→x+Δx; \quad Δx=η\frac{∂r}{∂x} \tag{31}

这种方法可用于搜索深度网络中任何神经元或任何神经元群的首选输入。它对于研究具有更复杂调谐特性的高层神经元特别有用。

x 的空间可能维度太高(如像素空间),无法进行有效的搜索,特别是对于无梯度方法。在这种情况下,我们可以利用一个低维空间,但仍有很强的表现力。生成模型学习一个函数,将低维潜伏空间映射到高维空间,如像素空间。然后,可以在低维潜伏空间中进行搜索。

ANNs 可以用来建立复杂行为的模型,否则不容易做到,开辟了新的可能性,如研究更抽象的信息形式的编码。例如,Yang 等人,2019 年研究了任务结构的神经调谐,而不是刺激,在规则引导下的问题解决12。一个 ANN 被训练来执行动物实验中常用的许多不同的认知任务,包括感知决策、工作记忆、抑制性控制和分类。复杂的网络组织是通过训练形成的,其中递归神经元对一个子集的任务显示出选择性(图 5)。

图5 分析为执行 20 项认知任务而训练的神经网络的调谐特性

在一个对多个认知任务进行训练的网络中,模型单元对单个任务的调谐特性可以被量化。X 轴,循环单元;Y 轴,不同的任务。颜色衡量每个单元参与一项任务的程度(在 0 和 1 之间)。使用分层聚类方法确定了 12 个聚类(底部,彩色条)。例如,集群 3 对涉及抑制性控制的亲反应与反反应任务(Anti)具有高度选择性;集群 10 和 11 分别参与延迟匹配样本(DMS)和延迟非匹配样本(DNMS);集群 12 被调整为 DMC。12

动态系统分析

调谐特性提供了一个关于神经表征和计算的大部分静态观点。为了理解神经网络如何及时计算和处理信息,研究 RNN 的动态是很有用的。

了解动态的一个有用方法是研究固定点和围绕固定点的网络动态。在一个通用的动态系统中:

drdt=F(r)(32)\frac{dr}{dt}=F(r) \tag{32}

定点 rssr_{ss} 是一种稳定状态,状态不会随时间变化,F(rss)=0F(r_{ss})=0。状态 r=rss+Δrr=r_{ss}+Δr 时的网络动力学围绕固定点 rssr_{ss} 近似线性,

drdt=F(r)=F(rss+Δr)F(rss)+J(rss)Δr,dΔrdt=J(rss)Δr(33)\frac{dr}{dt}=F(r)=F(r_{ss}+Δr)≈F(r_{ss})+J(r_{ss})Δr,\quad \frac{dΔr}{dt}=J(r_{ss})Δr \tag{33}

其中 JJFF 的雅可比矩阵,Jij=Fi/rjJ_{ij}=∂F_{i}/∂r_j,在 rssr_{ss} 上评估这是一个线性系统,可以更容易地理解,例如,通过研究 J(rss)J(r_{ss}) 的特征向量和特征值在 ANN 中,可以通过基于梯度的优化来找到这些固定点,

argminrF(r)2(34)argmin_r\Vert F(r)\Vert ^2 \tag{34}

固定点对于理解网络如何存储记忆、积累信息以及在离散状态之间过渡特别有用。这一点可以在一个被训练来执行参数化工作记忆任务的网络中说明13。在这项任务中,一个频率为 f1f_1 的振动触觉刺激样本呈现,随后是几秒钟的延迟期;然后是频率为 f2f_2 的测试刺激呈现,受试者必须决定 f2f_2 是比 f1f_1 高还是低 (图 6A)。在延迟期间,行为猴的前额叶皮层的神经元表现出持续的活动,其速率随 f1f_1 的变化而单调。这种参数化的工作记忆编码出现在 RNN 的训练中(图 6B):在这个网络的状态空间中,延迟期间的神经轨迹根据存储值的不同而收敛到不同的固定点。这些固定点在延迟期形成一个近似的线吸引子(图 6C)。

图 6 通过状态空间和动态系统分析理解网络计算

(A–C)在一个简单的参数化工作记忆任务中,网络需要通过一个延迟周期(A)记忆刺激的(频率)值。网络可以通过开发线吸引子(B和C)来实现这种参数化工作记忆。
(B) PCA空间中不同刺激值的延迟期内的神经活动试验平均值。三角形表示延迟周期的开始。
(C) 通过优化找到的固定点(橙色十字)。线吸引子的方向可以通过找到对应特征值接近0的特征向量来估计。橙色线显示了围绕其中一个固定点估计的线吸引子。
(D–G)训练循环神经网络和猴子进行延迟匹配分类任务。任务是确定测试和样本刺激(视觉运动模式)是否属于同一类别(D)。这两个类别是根据刺激的运动方向定义的(红色,类别1;蓝色,类别2)(E)。在为执行该分类任务而训练的ANN中,模型的重复单元显示出类别选择性的广泛的开始时间异质性,类似于任务期间从猴后顶叶皮层(外侧顶内区域,LIP)记录的单个神经元(F)。基于 DMC 任务(G)性能的递归神经网络的神经动力学。最终决定,匹配(AA 或 BB)或不匹配(AB 或 BA)对应于位于状态空间中不同位置的不同吸引子状态。在实验数据中也发现了类似的族群活动轨迹。

本图来自14

在计算神经科学中缺乏这样的例子,它不仅说明了神经表征或动力学的单一方面,而且说明了实现复杂任务的计算序列。ANNs 提供了一个新的工具来面对这个困难。Chaisangmongkon 等人,2017年使用这种方法来建立一个延迟匹配到类别(DMC)任务的模型14。一个 DMC 任务(图 6D和 6E)从一个刺激样本开始,比如一个视觉移动图案,其中的一个特征(运动方向为 0°到 360°的模拟量化)被分为两个类别(A 为红色,B 为蓝色)。在一个记忆延迟期之后,一个测试刺激被显示出来,任务是决定测试是否具有与样本相同的类别成员。在训练完成这项任务后,一个递归神经网络显示出与猴子做相同任务的顶叶神经元相似的多样化神经活动模式(图 6F)。递归神经群体在状态空间中的轨迹揭示了计算是如何通过任务的历时进行的(图 6G)。

从目标、结构和训练中理解神经回路

上述所有方法都是在训练后寻求对 ANNs 的机械性理解。一种更综合的观点将深度学习的三个基本成分:学习问题(任务/目标)、网络架构和训练算法与训练后的解决方案联系起来。这种方法类似于生物学中的进化或发展观点,它将环境与生物体的功能联系起来。它可以帮助解释观察到的结构或功能的计算效益或必要性。例如,与纯粹的前馈网络相比,递归连接的深度网络能更好地预测高级视觉区神经元对杂乱场景的行为挑战图像的反应。这表明递归连接对大脑中困难图像的分类有贡献。

虽然重新运行发展和进化的生物过程可能是困难的,但由于机器学习的最新进展,重新训练具有不同目标、架构和算法的网络是相当简单的。每当训练 ANN 导致一个结论时,改变描述基本成分的超参数(在合理的程度上)以探索结论的必要和充分条件是很好的做法。

从这三种成分到网络解决方案的联系通常是不严格的。然而,在某些简化的情况下,通过分析解决训练过程,可以牢固地建立这种联系。

5.生物拟真的网络架构和学习

尽管神经科学家和认知科学家在机器学习中使用的标准神经网络架构(vanilla RNNs)和训练算法(例如 SGD)方面取得了很大成功,但对于许多神经科学问题而言,构建网络架构并利用生物学上合理的学习算法至关重要。在本节中,我们概述了使用更具生物学现实意义的结构、规范计算和可塑性规则构建网络的方法。

5.1.结构化连接

现代神经生理学实验通常在同一动物行为期间从多个脑区和/或多个细胞类型进行记录。通过将基本生物结构(如当前已知的细胞类型特异性连接和跨模型区域/层的长距离连接)纳入神经网络,可以大大促进对这些发现进行建模的计算工作。

在普通的递归网络中,默认的连通性是所有到所有。相比之下,生物神经系统中的局部和长程连接通常都是稀疏的。拥有稀疏连接矩阵 WW 的一种方法是将可训练矩阵 W~\tilde{W} 与不可训练的稀疏掩码 MM 进行元素相乘,即 W=W~MW=\tilde{W}\odot M。为了鼓励稀疏性而不严格要求,可以在损失函数中加入 L1 正则化项 βijWijβ\sum_{ij}\vert W_{ij} \vert。 标量系数 ββ 控制稀疏性约束的强度。为了对细胞类型的特定发现进行建模,必须建立具有多种细胞类型的神经网络。一个虚无缥缈的递归网络(公式 14、15 和 16)(或任何其他网络)可以通过分离兴奋性和抑制性神经元而被轻易地修改为服从戴尔定律。

drEdt=rE+fE(WEErEWEIrI+WExx+bE)(35)\frac{dr^E}{dt}=−r^E+f_E(W_{EE}r^E−W_{EI}r^I+W_{Ex}x+b^E) \tag{35}

drIdt=rI+fI(WIErIWIIrI+WIxx+bI)(36)\frac{dr^I}{dt}=−r^I+f_I(W_{IE}r^I−W_{II}r^I+W_{Ix}x+b^I) \tag{36}

其中,一个绝对函数 .\vert . \vert 限制了连接权重的符号,例如,WEE=W~EEW_{EE}=\Vert \tilde{W}_{EE}\Vert。 . 在训练 ANN 执行经典的 "随机点 "运动方向辨别任务后,人们可以 “打开黑匣子”,检查由此产生的递归网络连接模式的 “接线图”(图 7)。随着戴尔定律的加入,训练中出现的连通性是基于生物的决策结构网络模型的异质性版本),表明机器学习更接近大脑的硬件,确实可以用来揭示生物神经网络的洞察力。

图 7 用戴尔定律训练网络

在感知决策任务上训练的循环网络的连通矩阵。该网络遵循戴尔定律,分别由兴奋性(蓝色)和抑制性(红色)神经元组成。仅显示了具有高刺激选择性的神经元之间的连接。神经元根据其对选择1和2的刺激选择性进行分类。选择相同选择的神经元之间的反复兴奋性连接由两个黑色方块表示。

跨越大脑区域的广泛的长程连接可以包含在 ANN 中。在经典的卷积神经网络中,每一层只接受来自紧邻的前一层的前馈输入。然而,在最近的一些网络中,每一层也接收来自更早层的前馈输入。在卷积递归网络中,每一层的神经元进一步接收来自后面各层和局部递归连接的反馈输入。

5.2 经典计算

神经科学家已经确定了几个在广泛的脑区进行的典型计算,包括注意、归一化和门控。在此,我们讨论如何将这种典型计算引入神经网络。它们作为模块化的架构组件,可以被插入许多网络中。有趣的是,上面提到的典型计算在基于机器学习的神经网络中都有其相似之处。我们将强调纯粹的机器学习实现和更多的生物实现之间的差异和相似之处。

归一化

分化归一化在生物神经系统中被广泛观察到。在分化归一化中,一个神经元 rir_i 的激活不再由其直接输入 IiI_i 决定,ri=f(Ii)r_i=f(I_i)。相反,它是由输入 jIj\sum_j I_j 的总和归一化到一个更广泛的神经元池,称为归一化池。

ri=f(γIijIj+σ)(37)r_i=f(γ \frac{I_i}{\sum_j I_j+σ}) \tag{37}

归一化池的具体选择取决于所研究的系统。在生物学上,虽然突触输入对神经元的驱动是相加的,但反馈抑制可以有效地产生归一化。这种形式的分化归一化是可分的。所以,它可以直接被纳入到 ANN 中。

归一化也是机器学习中许多神经网络的一个关键部分。与除法归一化类似,基于机器学习的归一化方法旨在将神经元反应放入适合下游区域处理的范围。与除法归一化不同的是,通常从一个神经元池的平均输入中减去,而不是除以直接输入(公式21)。这些方法还计算了归一化池的输入的标准差,这个步骤在生物学上可能是不可行的。不同的基于机器学习的归一化方法是根据他们对归一化池的选择来区分的。

注意

注意在神经科学中得到了广泛的研究。计算模型能够捕捉到自下而上和自上而下注意力的各个方面。在计算模型中,自上而下的注意通常采取对特定神经元组活动的乘法增益场的形式。在空间注意的情况下,考虑一组神经元,每个神经元有一个偏好的空间位置 xix_i 和预注意活动 r~(xi)\tilde{r}(x_i) 对某一刺激的预注意活动。被关注的空间位置 xqx_q 导致注意权重 αi(xq)α_i(x_q),如果 xqx_q 类似于 xix_i。然后注意权重可以用来调节神经元 ii 的神经反应,ri(xq)=αi(xq)r~(xi)r_i(x_q)=α_i(x_q)\tilde{r}(x_i)。同样,特征注意加强了对所关注的特征(如特定颜色)具有选择性的神经元的活动。这种自上而下的空间和特征注意可以包含在卷积神经网络中。

同时,注意力已经广泛用于机器学习,构成了最近自然语言处理模型的标准组件。虽然机器学习的注意力机制看起来与神经科学中的注意力模型相当不同,但正如我们将在下面展示的那样,这两种机制是非常密切相关的。

在深度学习中,注意力可以被看作是一个可区分的字典检索过程。一个普通的字典存储了一些键值对(例如,单词-解释对) {(k(i),v(i))}\{ (k^{(i)},v^{(i)})\},类似于查找一个词 (k(i))\left(k^{(i)}\right) 的解释 (v(i))\left(v^{(i)}\right)。对于一个给定的查询 qq,使用字典包括搜索与 qq 匹配的键 k(j)k^{(j)} 他可以匹配 q,k(j)=qq,k^{(j)}=q,并检索相应的值,y=v(j)y=v^{(j)}。这个过程可以被认为是根据注意力权重 αα 调节每个值 v(i)v^{(i)} 基于注意力权重 αiα_i 衡量键值 k(i)k(i) 和查询 qq 之间的相似性。在简单的二进制情况下:

αi={1,  ifk(i)=q0,  otherwise(38)\alpha _i = \begin{cases} 1,\; if \quad k^{(i)}=q\\ 0,\; otherwise \end{cases} \tag{38}

其将输出调制为:

y=iαiv(i)(39)y=\sum_iα_iv^{(i)} \tag{39}

在上述空间注意的情况下,第 ii 个键值对是 (xi,r~(xi))\left(x_i, \tilde{r}(x_i)\right),而查询是有人参与的空间位置 xqx_q_。每个神经元的响应都根据其首选空间位置(其值)xix_i 与参与位置(查询)xqx_q 的相似程度进行调节。

机器学习注意力的使用使得查询关键字比较和值检索过程可区分。将查询与每个关键向量 k(i)k^{(i)}进行比较以获得注意力权重(归一化相似性分数)αiα_i:

ci=score(q, k(i))(40)c_i=score \left(q,\ k^{(i)}\right) \tag{40}

α1,,αN=normalize (c1,,cN)(41)α_1,⋯,α_N=normalize\ (c_1,⋯,c_N) \tag{41}

这里,相似性评分函数可以是简单的内积,得分(q, k(i))=qk(i)\left(q,\ k^{(i)}\right)=q^⊺k^{(i)},归一化函数可以是 softmax 函数,

αi=ecijecj, 于是 iαi=1(42)α_i=\frac{e^{c_i}}{\sum_je^{c_j}},\ \text{于是}\ \sum_iα_i=1 \tag{42}

归一化函数的使用至关重要,因为它有效地迫使网络聚焦于几个关键向量(在空间注意力的情况下,一些关注的位置)。

门控

生物神经系统的一个重要计算是门控。门控指的是控制信息流而不必扭曲其内容的想法。生物系统中的门控可以通过各种机制实现。注意力调节将神经元的输入乘以增益因子,在感觉系统水平上提供分级门控机制。另一种形式的门控可能涉及几种类型的抑制性神经元。在行为层面,门控通常表现为全部全不,如注意力不集中、失明等效应。

在深度学习中,乘法门控对于流行的递归网络架构至关重要,例如 LSTM(长-短期存储器)网络(方程43)和 GRU(门控递归单元)网络。门控网络通常比普通 RNN 更容易训练和更强大。门控变量通过乘法交互作用动态控制这些网络中的信息流。在 LSTM 网络中,有三种类型的门控变量。输入和输出门 gtig_t^igteg_t^e 控制单元状态 ctc_t 的输入和输出,而遗忘门 gtfg_t^f 控制单元状态 ctc_t 是否保持其存储器 ct1c_{t−1}

{gtf=σg(Wfxt+Ufrt1+bf),gti=σg(Wixt+Uirt1+bi),gto=σg(Woxt+Uort1+bo),ct=gtfct1+gtiσg(Wcxt+Ucrt1+bc),rt=gtoσr(ct).\begin{cases} g_t^f=\sigma _g \left ( W_fx_t+U_fr_{t-1}+b_f \right ), \\ g_t^i=\sigma _g \left ( W_ix_t+U_ir_{t-1}+b_i \right ), \\ g_t^o=\sigma _g \left ( W_ox_t+U_or_{t-1}+b_o \right ), \\ c_t=g_t^f\odot c_{t-1}+g_t^i \odot \sigma _g \left ( W_cx_t+U_cr_{t-1}+b_c \right ), \\ r_t=g_t^o\odot \sigma _r\left (c_t \right ). \end{cases}

这里,符号⊙ 表示两个相同长度的向量的元素层面上的乘积(Hadamard 乘积,即 z=xyz=x⊙y 表示 zi=xiyiz_i=x_iy_i )。门控变量由 sigmoid 函数 σgσ_g 限定在 0 和 1 之间,它可以被看作是一个平滑的可微分的二进制阶梯函数的近似值。当一个门的对应值接近 1 或 0 时,该门被打开或关闭。所有的权重(W 和 U 矩阵)都经过训练。通过引入这些门,原则上,LSTM 可以将一个存储器保持在其单元状态 ctc_t 通过遗忘门 gtf=1g_t^f=1 和输入门 gti=0g_t^i=0 (图 8)。此外,网络可以通过设置输出门 gto=0 或 1g_t^o=0\ \text{或}\ 1 来选择何时从存储器中读出。尽管 LSTM 对机器学习有很大的作用,但 LSTM(和 GRU)不容易与生物神经回路相联系。有人建议对 LSTM 进行修改,以便用神经生物学更好地解释门控过程。

图 8 在简单内存任务中可视化 LSTM 活动

(A–C)简单的记忆任务。
(A) 网络接收输入刺激流,其值在每个时间点随机且独立地采样。
(B) 当“记忆输入”(红色)激活时,网络需要记住刺激的当前值(A),并在“报告输入”(蓝色)下次激活时输出该值。
(C) 训练后,单个单元 LSTM 可以在适度的记忆时间内几乎完美地完成任务。
(D) 当记忆输入激活时,该网络打开输入门(允许输入)并关闭遗忘门(忘记以前的记忆)。当报告输入激活时,它打开输出门。

尽管注意和门控都是利用乘法的相互作用,但一个关键的区别是,在注意中,神经调制是归一化的(公式 42),而在门控中则不是。因此,神经注意往往有一个焦点,而神经门控则可以均匀地打开或关闭所有神经元的闸门。机器学习的一个重要启示是,门控应该是可塑的,这应该激励神经科学家研究大脑中的门控学习。

预测性编码

为大脑提出的另一个典型计算是计算预测。在预测性编码中,一个神经系统不断试图对外部世界进行推理。大脑区域将选择性地传播未预测或令人惊讶的信息,同时抑制对预期刺激的反应。为了在 ANN 中实现预测性编码,可以用一个单独的损失来训练来自高层的反馈连接,将反馈连接的输出与低层的神经活动进行比较。通过这种方式,反馈连接将学会预测低层区域的活动。然后,反馈输入将被用来抑制低层的神经活动。

5.3. 学习和可塑性

生物神经系统是进化、发展和学习的产物。相比之下,传统的ANNs 是用基于 SGD 的规则来训练的,大部分是从头开始。众所周知,计算梯度下降的反向传播算法在生物学上是不可信的。纳入更真实的学习过程可以帮助我们建立更好的大脑模型。

选择性训练和持续学习

在典型的神经网络中,所有的连接都被训练。然而,在生物神经系统中,突触并不是同样可以修改的。许多突触可以稳定多年。为了实现连接的选择性训练,有效连接矩阵 WW 可以表示为稀疏的可训练突触权重矩阵和不可训练突触权重矩阵之和,W=Wtrain+WfixW=W_{train}+W_{fix} 。或者更一般地说,可以通过在损失中加入正则化项 LregL_{reg} 来软性施加选择性训练。使得改变某些连接的权重更加困难:

Lreg=βijMij(WijWfix, ij)2(44)L_{reg}=β\sum_{ij}M_{ij}(W_{ij}−W_{fix},\ ij)^2 \tag{44}

这里,MijM_{ij} 决定了连接 WijW_{ij} 的强度应坚持接近 Wfix,ijW_{fix,ij} 的值。

通过这种形式的软约束对连接进行选择性训练,已经被持续学习技术用来对抗灾难性的遗忘。灾难性遗忘的现象通常在 ANN 学习新任务时被观察到;它们倾向于迅速忘记以前学过的、没有被重访的任务。一类主要的持续学习方法通过选择性地训练那些被认为对以前学习的任务或知识不重要的突触连接,同时保护重要的突触连接来处理这个问题。

Hebbian 可塑性

生物学习的主导思想是 Hebbian 可塑性15及其变体。Hebbian 可塑性是一种无监督的学习方法,在没有目标输出或奖励的情况下驱动连接权重的学习。它对经典的联想记忆模型,如 Hopfield 网络至关重要,并且与具有明确的长期记忆模块的现代神经网络架构有着深刻的联系。

监督学习技术,特别是那些基于 SGD 的技术,可以与 Hebbian 可塑性相结合,以开发出既对某些任务更强大,又更符合生物学规律的 ANN。有两种方法可以将 Hebbian 可塑性与 SGD 相结合。在第一种方法中,有效连接矩阵 W=W~+AW=\widetilde{W}+A 是两个连接矩阵之和,W~\widetilde{W} 由 SGD 练,A 由 Hebbian 可塑性驱动:

A(t+1)=λA(t)+ηrr(45)A(t+1)=λA(t)+ηrr^⊺ \tag{45}

或者以组件形式:

Aij(t+1)=λAij(t)+ηrirj(46)A_{ij}(t+1)=λA_{ij}(t)+ηr_ir_j \tag{46}

除了训练单独的矩阵外,SGD 还可以用于学习可塑性规则本身。可塑性规则是突触前和突触后活动的可训练功能,

Aij(t+1)=λAij(t)+f(ri,rj,θ)(47)A_{ij}(t+1)=λA_{ij}(t)+f(r_i,r_j,θ) \tag{47}

因为系统是可微的,参数 θ 共同描述了塑性规则,可以用基于 SGD 的方法进行更新。在其最简单的形式中,f(ri,rj,θ)=ηrirjf(r_i,r_j,θ)=ηr_ir_j ,其中 θ={η}θ=\{η\}。 这里,系统可以学习成为 Hebbian (η>0)(η>0) 或反 Hebbian (η<0)(η<0)。塑性规则的学习是元学习的一种形式,使用一种算法(这里是 SGD)来优化内部学习规则(这里是 Hebbian 塑性)。

这样的 Hebbian 可塑性网络可以扩展到包括更复杂的突触,在突触可塑性的"级联模型"中有多个隐藏变量。从理论上讲,适当设计的复杂突触可以大幅提升神经网络的记忆能力。这种复杂突触的模型是可微分的,因此可以被纳入 ANNs。

参考文献

  1. Nath T, Mathis A, Chen AC, Patel A, Bethge M, Mathis MW. Using DeepLabCut for 3D markerless pose estimation across species and behaviors[J]. Nat Protoc. 2019 Jul;14(7):2152-2176.

  2. Kar K, Kubilius J, Schmidt K, Issa EB, DiCarlo JJ. Evidence that recurrent circuits are critical to the ventral stream’s execution of core object recognition behavior[J]. Nat Neurosci. 2019 Jun;22(6):974-983.

  3. Goodfellow I, Bengio Y, Courville A, Deep Learning[M]. MIT Press, 2016.

  4. Mante V , Sussillo D , Shenoy K V , et al. Context-dependent computation by recurrent dynamics in prefrontal cortex.[J]. Nature.

  5. Lecun Y , Bottou L . Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.

  6. Elman J L . Finding Structure in Time[J]. Cognitive Science, 1990, 14(2):179-211.

  7. Glorot X , Bordes A , Bengio Y . Deep Sparse Rectifier Neural Networks[J]. Journal of Machine Learning Research, 2011, 15:315-323.

  8. Kingma D , Ba J . Adam: A Method for Stochastic Optimization[J]. Computer Science, 2014.

  9. Yamins DL, DiCarlo JJ. Using goal-driven deep learning models to understand sensory cortex[J]. Nat Neurosci. 2016 Mar;19(3):356-65.

  10. Yamins D L K , Hong H , Cadieu C F , et al. Performance-optimized hierarchical models predict neural responses in higher visual cortex[J]. Proceedings of the National Academy of Sciences, 2014, 111(23):8619-24.

  11. Sussillo D , Abbott L F . Generating Coherent Patterns of Activity from Chaotic Neural Networks[J]. 2009.

  12. Yang GR, Joglekar MR, Song HF. Task representations in neural networks trained to perform many cognitive tasks[J]. Nat Neurosci. 2019;22(2):297-306.

  13. Romo R, Brody CD, Hernández A, Lemus L. Neuronal correlates of parametric working memory in the prefrontal cortex[J]. Nature. 1999;399(6735):470-473.

  14. Chaisangmongkon W , Swaminathan S K , Freedman D J , et al. Computing by Robust Transience: How the Fronto-Parietal Network Performs Sequential, Category-Based Decisions[J]. Neuron, 2017, 93(6):1504-1517.e4.

  15. Hebb D O . The Organization Of Behavior A Neuropsychological Theory[M]. John Wiley, Chapman & Hall, 2013.