论文题目:一种能建模通用回路的回路神经网络
期刊:ICML2023
论文链接:CircuitNet: A Generic Neural Network to Realize Universal Circuit Motif Modeling
背景
在过去的几十年里,人工神经网络(ANN)已被广泛用作解决回归和分类问题的函数估计器,这在计算机视觉、自然语言处理、深度强化学习等截然不同的领域推动了深度学习的发展。最近,网络架构变得相当复杂,但它们的基本单元,如卷积层和递归层,仍然是人类神经系统的不同抽象。
继之前的神经网络之后,我们将来自神经元的信号简化为实数,并更多地关注如何对神经元之间的信号传输和连接模式进行建模。神经科学的最新发现强调了突触连接的特定模式在不同大脑区域的神经元交流中的作用。
神经科学的一项进展表明,神经元通过各种连接模式相互作用,即回路基序。最常见的回路基序有四种类型,包括前馈激励和抑制、反馈抑制、横向抑制和相互抑制,如图1所示。
图1. 神经元之间的不同基序)。绿色神经元是基序中的目标神经元,在每次迭代中都会根据其他神经元的信号进行更新
然而,在大多数现有的神经网络中(包括那些具有剩余连接的神经网络),仅包含前馈网络的神经元只能起到前馈激励和抑制模式的作用。即使一些循环结构,例如RNN能够对循环模式进行建模,但在信息进入之前,它们可能会因上游神经元之间的复杂相互作用而失败
生物神经系统的另一个典型特性是局部密度和全局稀疏性。
尽管单个神经元可以有数千个突触,但大多数突触位于一个小区域内,并形成一个用于特定任务的功能组。他们中只有少数人作为地区之间的桥梁前往其他功能群体。总之,生物神经系统具有局部密集和全局稀疏的连接结构。
人工神经网络的成功很大程度上归功于对人脑结构的模仿。神经科学的最新进展表明,神经元通过各种连接模式相互作用来处理信息,其中常见的连接模式也称为回路基序。然而,许多现有的Ann在其架构中只能对一个或两个回路基元进行建模,因此其性能在不同类型的机器学习任务中可能会有很大差异。在本文中,我们受到神经元回路结构的启发,提出了一种新型的神经网络,即回路神经网络(CircuitNet)。
与传统的前馈网络相比,CircuitNet能够对反馈和横向基序等更多类型的神经元连接进行建模。受人脑局部密集和全局稀疏结构的启发,不同CMU之间的信号传输的几次迭代是通过不同CMU的输入端口和输出端口的稀疏连接实现的。实验表明,CircuitNet在函数逼近、强化学习、图像分类和时间序列预测任务方面优于流行的神经网络架构。
值得注意的是,CircuitNet在函数近似、图像分类和强化学习任务中优于多层感知器,在CIFAR-10、CIFAR-100和ImageNet数据集上的图像分类任务中优于基于MLP、基于CNN和基于Transformer的神经网络,在时间序列预测任务中胜过基于CNN、基于RNN和基于Transform器的神经网络。
Circuit Neural Network
1. Neuron Signal Transmission for Universal Circuit Motifs
在本文中,来自神经元的信号被简化为实数。给定两个或多个连接的神经元,它们的相互作用是通过信号传输实现的,信号传输被建模为转换函数g(·;·)。
如图1所示,我们旨在设计一种转换函数,该函数可以对四种类型的神经元连接模式(即回路基序)进行建模,包括前馈基序、相互基序、反馈基序和横向基序,对应于最近生物学发现中的四种模式。
在前馈和互基序中,输入信号仅取决于前一个神经元的状态,而在其他两个基序中的输入信号可能受到另一个神经元或目标神经元本身的状态的影响。
1. Linear Transformation:将信号从神经元xj传递到xi的最简单变换之一被写成:
Wij是指示从xj到xi的影响强度的可学习参数。之前的大多数Ann也紧随其后线性变换的思想,因为它在建模前馈和互基元方面既简单又有效,其中神经元的输入信号被独立考虑并简单相加。
2. Neuron-wise Attention:对前馈和互基元建模的线性变换假设输入信号的影响与其他信号无关。然而,这有时过于简化,因为在人脑中也存在反馈和横向连接,其中输入信号的强度可能受到来自其他神经元和目标神经元本身的信号的影响。为了使CircuitNet能够对这些更复杂的模式进行建模,我们需要找到一些将输入信号之间的相互作用考虑在内的转换。
我们可以从传统的人工神经网络中借用一个概念来建模相互作用,那就是自注意机制(Vaswani等人,2017),但在CircuitNet中,它是在神经元(标量)之间计算的,而不是在组(向量)之间计算。因此,我们将其命名为神经元注意,并将其公式化为:
X包含一组连接神经元中所有M个神经元的状态,Vi,Ki,Qi∈R1×M是用于计算第i个神经元的q,k,v(为3个标量)的可学习线性投影权重。
这种类型的变换可以用来很好地对反馈基序建模,因为输入信号的影响是由目标神经元状态调节的。
3. Product between Neurons:另一种模拟输入信号之间相互作用的方法是直接计算每对神经元的乘积
其中Wijk是用于对从xj、xk到xi的影响强度进行建模的可学习参数。除以2以消除二次项对梯度的影响。注意,在该公式中允许j=i或k=i,从而可以同时对横向基序(输入信号受另一个神经元影响)和反馈基序(输出信号受目标神经元影响)进行建模。
为了对通用回路基模进行建模,将使用不同的变换来获得对回路基模的更全面的描述。例如,我们可以使用神经元和线性变换之间的乘积。这样,图1中所示的所有四种模式都可以正确建模。
2. Locally Dense and Globally Sparse Neuron Connections
在上一节中,我们介绍了CircuitNet如何对连接神经元之间的信号传输进行建模。现在我们介绍神经元是如何在所提出的CircuitNet中连接的。
1. Circuit Motif Unit (CMU):遵循局部密集和全局稀疏原则,CircuitNet包含神经元簇,形成几个密集连接的神经回路组作为其基本单元,即回路单元(CMU),X={X1,X2,…,XN}具有N个单元,Xi=(xi1,xi2,…,xiM)⊤每个单元具有M个神经元。通过应用上一节中介绍的变换函数和密集连接,CMU能够对所有类型的回路基元(即通用回路基元)进行建模。然后,这些CMU通过它们的输入/输出端口稀疏地连接。CircuitNet的总体架构和CMU的结构如图2所示。
图2:CircuitNet架构。作为一种通用神经网络,CircuitNet可以用于不同的任务,采用不同形式的输入并给出相应的输出(左)。它由几个通过端口相互连接的回路单元(CMU)组成,并保持全局稀疏性(中间)。在单个CMU中,神经元以复杂的方式密集互连,以便对通用回路基序进行建模,例如,连接两个神经元的绿线可以是线性变换,红线可以是涉及3个神经元的变换(右)。
总之,在通过任务特定输入进行初始化之后,不同的CMU通过单元内和单元间信号传输的特定次数的迭代来相互协作。
具体来说,当我们观察单个单元时,它的状态是基于两个信号输入源更新的:具有上述变换的CMU内神经元之间的内部更新,以及从具有边缘的其他CMU接收的信号,如下所示
其中E表示连接的CMU对的集合。边缘eji∈E意味着第i个CMU将在每次迭代时从第j个CMU接收信号。Xi(k)表示第i个CMU在迭代k时的状态。g(k)i(·;·)是第上一节中描述的转换函数,用于对通用回路基序进行建模,h(k)ij(·)是处理来自其他CMU的信号的变换函数,f(·)为归一化和激活函数。bi是偏项。为了简化符号而不失一般性,当我们不关心特定的CMU或迭代时,可以在公式的其他地方省略i,k。
2. Inter-unit Signal Transmission:为了通过信号传输实现单元间的交互,CMU的一个特定的神经元子集负责根据自己的状态发出信号,另一个子集负责接收其他神经元的信号。我们将这些神经元分别称为输入端口和输出端口。这样,通过端口对CMU中神经元的更新可以写成
这里,Wji是从第j个CMU到第i个CMU的可学习线性变换。Pin、Pout是具有p个非零元素的二进制矢量,用于识别哪些p个神经元是输入或输出端口,以及◦ 是在处理CMU接收或发送的信号时挑选出这些神经元的逐元素乘法。请注意,我们没有设置一个神经元在CMU中只能作为一个角色工作的严格限制,这意味着输入端口和输出端口可能在某些神经元上重叠。这实际上可以帮助信号在CMU之间更快地传输,而在它们之间没有直接边缘。
Adaptation of CircuitNet in Specific Applications
作为一种通用的网络架构,我们希望CircuitNet可以像MLP一样适应各种任务。
为了使用CircuitNet作为通用函数逼近器,输入数据的不同部分应输入到不同的回路单元中作为初始化。理想情况下,每个CMU负责一个特定的子任务。之后,CircuitNet将执行前面提到的信号传输的几次迭代,并且特定任务的聚合变换将最终从网络中提取信息并进行预测。
CircuitNet的总体结构与传统的人工神经网络有很大不同,尽管它们都将神经元作为最基本的构建块,因此一些常用的技术可能直接应用于CircuitNet,也可能不直接应用于此。
在深入研究实验细节之前,在本节中,我们简要展示了CircuitNet如何适应特定任务的典型案例。
1. Deep Reinforcement Learning Tasks:我们选择评估CircuitNet的任务之一是深度强化学习(DRL)。在这里,我们选择了一系列具有挑战性的连续控制任务,这些任务具有本体感觉观察(如位置和速度),已被广泛用作DRL研究的基准。在这些任务中,MLP通常被用作政策和价值网络的骨干。因此,我们直接用CircuitNet代替MLP,而不改变学习过程中的其他部分。
2. Image Classification:另一项选择的任务是计算机视觉中的图像分类,以研究CircuitNet在大规模结构化数据中的行为。CircuitNet中的单个CMU被设计用于特定任务或嵌入特定含义。在计算机视觉任务中,使用CMU来表示不同位置的特征是很自然的。具体而言,CircuitNet将在卷积层用图像区域的表示初始化网格排列的CMU中的神经元状态后开始信号传输。
以前的MLP在小型数据集上运行良好,但由于梯度消失问题,很难扩大规模。相应地,我们也采用了类似的想法,以帮助CircuitNet在信号变换的CMU和迭代次数较大时表现得更好,包括权重共享、归一化和特征聚合。此外,当我们在大量迭代中叠加二次项时,为了稳定训练,我们提出了一个新的削波正弦激活函数ClipSin(x),如下所示
激活函数是[-3,3]内正弦函数的半个周期,并被剪裁为外部具有小斜率的线性函数,以防止零梯度。振幅由超参数a控制。实际上,我们设置了ε=0.01和a=3.388235。这样,在优化深度CircuitNet模型时,我们可以避免ReLU激活引起的梯度爆炸问题或Tanh激活引起的斜率消失问题。关于我们为什么假设它有效以及我们如何选择超参数的理论依据,可以在附录C中找到。
3. Time Series Forecasting:
作为一种通用的神经网络架构,CircuitNet也可以以自回归的方式应用于序列数据,就像递归神经网络(RNN)及其变体一样。为了演示如何实现这一点,我们将CircuitNet应用于几个时间序列预测任务。
将CircuitNet修改为自回归模型简单明了。首先,在每次迭代期间,特定CMU的状态将用来自所有CMU的信号和来自该时间步长的输入的信息来更新。第二,由于传输信号的迭代次数可能根据输入的长度而变化,因此在迭代之间共享参数。通过这种方式,我们将等式xi(k+1)改写为自回归形式
在这种形式的状态更新方程中,神经元状态将从两个来源更新:先前迭代fs,i(Xi(k))中的神经元状态和此时步骤fin,i(tk)的输入。win,i和bin,i是迭代不变的可学习参数,用于将序列中的第k个输入映射到第i组。在消耗了整个序列之后,CMU的最终状态被用于通过线性预测层来预测以下数据点。我们将这种形式的CircuitNet称为递归CircuitNet(R-CircuitNet)
Experiments and Analysis
1. Synthetic Experiments
由于回路基元单元能够对通用回路基元进行建模,我们希望我们的网络可以用来更好地近似一些具有与MLP相同数量神经元或参数的复杂函数。因此,我们设计了四种类型的函数,并生成了合成数据集,在此基础上进行了实验,以证明CMU的函数逼近能力。
1) 合成数据集上的结果
两个不同模型在合成数据集上的性能如表1所示。同一数据集的直接比较模型具有相似数量的参数。从表中可以看出,CMU在所有函数中获得的误差都明显低于MLP,这表明CMU通过对信号之间的复杂相互作用进行建模来执行通用函数逼近的能力更强。
表1. 合成数据集上的拟合错误。n表示神经元的数量。
2)损失的可视化
为了更深入地了解优化过程,我们在图3中用GradVis绘制了两个多变量数据集上MLP和CMU的损失,其中参数空间被投影到由Hessian矩阵最大两个特征值对应的特征向量形成的平面上
图3. 损失在MLP和CMU上前100个时期的优化轨迹。
从图中可以看出,MLP和CMU的景观相当平滑。在多元线性数据集上,两个模型都开始在几个时期内正确收敛到最低点。然而,在多元二次数据集上,CMU的行为不同于MLP。虽然CMU仍然能够在10个时期内找到正确的收敛方向,但MLP在最终收敛过程之前漂移了50多个时期。在这些点周围,Hessian矩阵的特征值接近零或为负,MLP模型难以摆脱相对平坦的鞍点。这表明,通过对不同类型的基序进行建模,CMU不仅可以更准确地近似函数,而且可以有利地塑造损失景观,从而更快地收敛。
2. Deep Reinforcement Learning
DRL算法的目标是实现更低的样本复杂度或更高的样本效率,即使用更少的与环境的交互来获得接近最优的策略。我们将CircuitNet和MLP在采用Soft Actor-Critic(SAC)策略下,对OpenAI中的几个具有挑战性的连续控制任务进行了比较。此外,为了比较不同类型的转换方法,我们使用我们模型的几个变体运行SAC策略。
这些连续控制基准的学习曲线如图4所示。 CircuitNet之后的L、P,A分别表示3种类型的变换(线性变换、神经元之间的乘积、神经元的注意)。
图4. CircuitNet和MLP在前三个连续控制基准上的学习曲线。
在这里显示的3个环境中,CircuitNet在2个基准测试中实现了明显优于MLP的性能,并且在第三个环境中具有可比性。值得注意的是,由于神经元之间的乘积,CircuitNet在DRL任务中失败。这可能是因为CMU中神经元数量过少(为了实现可比较数量的参数)反过来损害了网络的表现力
3. 图像分类
我们在MNIST、CIFAR10/100和ImageNet上对图像分类任务进行了实验
MNIST:我们设计了一个小型CircuitNet,在每个CMU中包含64个神经元和48个端口,并为每一批输入进行两次信号传输迭代。如表2所示,与两个MLP模型相比,CircuitNet在不到30%的参数下获得了更高的精度,因为它能够对特征之间的通用回路基元进行建模。
表2。MNIST的实验结果。MLP括号中的数字表示隐藏单元的数量。
CIFAR10/100:对于CIFAR数据集,我们设计了CircuitNet包含32个神经元,每个CMU中有24个端口具有9次信号传输迭代。如表所示3,我们将CircuitNet与一些现有的SOTA进行了比较图像分类模型,包括基于CNN的方法(ResNet)、基于变换器的方法(ViT和Swin-transformer)和基于MLP的方法(MLP-Mixer)
表3。CIFAR-10和CIFAR-100的实验结果。
ImageNet:如表4所示,通过将CircuitNet进一步扩展到12次传输迭代,在大规模ImageNet数据集上,CircuitNet实现了比现有最先进的方法(具有相当或更大数量的参数)更好的性能,包括基于CNN的方法(ResNet)、基于MLP的方法(ResMLP),基于变换器的方法(ViT-B/16、PVT-Tiny和Poolformer-S12)和最近的基于GNN的方法(Pyramid ViG-Ti)。
表4。ImageNet上的实验结果。基线结果来自(Han等人,2022)
时间序列预测结果如表5所示。统计方法(ARIMA(Box等人,2015)、GP(Roberts等人,2013)、基于CNN的模型(TCN(Lea等人,2017))、基于RNN的模型(GRU(Cho等人,2014))、变压器模型(Autoformer(Wu等人,2021)、Informer(Zhou等人,2021。至于R-CircuitNet,三种不同的变体表现相似,在大多数任务中都以相当大的优势超过了强基线,在其他任务中仍然获得了可比的数字
表5。在具有不同预测范围的时间序列数据集上的实验结果(6,24)
Conclusion
受神经回路结构的启发,本文提出了一种新型的神经网络,其中密集连接的神经元组,即回路基元,构成了建模通用回路基元的基本单元,并受大脑功能区域之间连接的启发,应用了局部密集和全局稀疏的高级网络结构。在合成和真实数据集上的实验表明,CircuitNet在各种机器学习任务中可以优于流行的神经网络架构,如MLP、CNN、RNN和transformer。
我们预计未来将探索两条道路。
一个方向是利用大脑连接组研究中更精细的知识来完善架构,另一个方向则是利用先进的机器学习技术进一步提高模型的能力
补充
激活函数的选择:
在图像分类任务中,信号将在CMU内传输几次迭代。当迭代次数变大时,可能会导致梯度消失或梯度爆炸问题,阻碍模型正确收敛。如果所有的运算都是线性的,那么这个问题已经通过整流线性单元(ReLU)得到了有效的解决(Krizhevsky等人,2012)。然而,当在方程(4)和(5)中引入二次项时,我们需要寻求另一种解决方案来解决这个问题。如第3.2节所述,我们使用削波正弦激活函数ClipSin(x)来代替传统的激活函数
我们设定了ε=0.01和A=3.388235。我们在这里为这个设计提供了一些理论依据。我们将首先研究ReLU如何防止梯度消失或爆炸,以及它为什么在二次情况下失败。
然后我们介绍了如何找到一个令人满意的函数,以及为什么所提出的ClipSin可能有用。最后,我们展示了如何确定参数
1. ReLU Activation in Linear Transmissions
具有激活函数的迭代k中信号的线性传输可以写成
或者如果我们关注一个特定的神经元
迭代之间神经元的导数为
根据链式规则,导数将与归一化引入的一些附加项和优化目标相乘。当激活函数σ(·)是ReLU函数时,σ′(·)为0或1。这意味着ReLU函数本质上是打开或关闭通过梯度的路径,而不会在梯度尺度上带来任何偏差。
2. Gradients in Quadratic Transmissions
当我们同时有线性项和二次项时,传输方程将改写为:
这里,X~是包含X=(x1,x2,…,xn)⊤∈Rn中每两个元素之间的乘积的向量,即X~=(x2 1,x1x2,……,xnxn−1,x2 n)T.∈R n 2。现在神经元在相邻迭代之间的导数是
如果我们应用链式规则一次,我们得到:
从方程(23)中,我们可以从激活函数中找到影响梯度尺度的3个因素:σ(x′(k)i)σ′(x′(k)l), σ(x′(k)l)σ′(x′(k)l), and σ′(x′(k)l),。然后我们可以分析不同激活函数的行为:
1> σ(x)=ReLU(x)。当x<0时,σ′(x)=0,它适当地关闭了梯度传播路径。然而,当x≥0,y≥0时,即使我们有σ′(x)=σ′(y)=1,σ(x)σ′(y)=σ(x)σ′(x)=x都是无界的。这将导致基于输入比例的梯度爆炸或梯度消失
2> σ(x)=tanh(x),则我们有|σ(x)| < 1, |σ ′ (x)| ≤ 1, 和 |σ(x)σ ′ (x)| ≤ (2 √ 3) /9 ≈ 0.385。梯度消失的发生是注定的
因此,我们必须提出一个新的激活函数,它可以正确地将所有|σ ′ (x)|, |σ(y)σ ′ (x)|, 和|σ(x)σ ′ (x)| .。
3. Clipped Sinusoidal Activation Function
我们发现最简单的令人满意的函数是正弦函数A sin(ωx)。设σ(x)=A sin(ωx),我们有
通过仔细选择A和ω,它们都可能是有界的和可缩放的
然而,有一件事让我们恼火,那就是sin(x)不是单调的,所以我们选择在[−π2ω,π2ω]中只使用函数的半个周期,并在这个区域之外使用具有小斜率的线性函数。削波正弦激活函数ClipSin(x)的完整格式为:
4. Choice of Parameters
选择参数的直觉是使方程(24)、(25)和(26)中的项的标度尽可能接近1,或者至少在期望的意义上接近1。
假设我们可以在激活函数之前有一个归一化层,将x′(k)l归一化为标准正态分布N(0,1),我们首先选择ω=π6,使得[−π2ω,π2ω],即[-3,3],包含x′(k)l的大部分。
此外,考虑到方程(23)中的大多数项是σ(x′(k)i)σ′(x′,k)l),我们强制:
求解方程并去掉负根,我们得到:
其中erfi(z)=−i·erf(iz)是虚误差函数。
这是我们在模型中使用的正弦函数的振幅。至于线性函数的斜率,我们遵循LeakyReLU中的设计,将其设置为0.01。