SpinalNet:带有渐进输入的深度神经网络.

0. TL; DR

本文研究了人类的体感神经系统,并设计了一种名为SpinalNet的新型神经网络,旨在以更少的计算量实现更高的准确性。在SpinalNet中,每一层被分为三个部分:输入部分、中间部分和输出部分。输入部分接收一部分原始输入数据,中间部分接收来自前一层中间部分的输出和当前层输入部分的输出,输出层汇集所有中间部分的加权输出。

实验结果表明,在大多数DNN中,使用SpinalNet可以显著减少误差并降低计算成本。使用SpinalNet作为分类层的VGG-5网络,在QMNISTKuzushiji-MNISTEMNIST等多个手写字符识别数据集上通过传统学习方式取得了SOTA的性能。而在STL-10Fruits 360Bird225Caltech-101等数据集上,结合ImageNet预训练权重的SpinalNet也取得了SOTA性能。

1. 背景介绍

深度神经网络(DNN)在各个科学和工程领域都取得了顶尖的性能。DNN 通常具有大量的输入特征,因为考虑更多的参数通常可以提高预测的准确性。然而,这带来了一些挑战。第一个隐藏层的规模至关重要:一个太小的隐藏层无法有效传播所有输入特征,而一个太大的隐藏层会急剧增加网络中的权重数量,导致计算成本过高。此外,传统DNN 还面临“梯度消失”(vanishing gradient)的问题。当网络层数很深时,靠近输出层的参数梯度很大,而靠近输入层的参数梯度则变得微不足道,这使得DNN的训练变得困难。

人类大脑通过体感神经系统从皮肤接收大量信息,例如触觉、热量、振动等。这个系统通过复杂的神经丛和脊髓将信号传递给大脑。受到这种“渐进式”和分布式信息处理方式的启发,以及卷积神经网络(CNN)模仿猫的视觉皮层并取得巨大成功的先例,作者旨在开发一种具有渐进式输入的神经网络。

现有的解决方案,如ResNetDenseNet,通过引入快捷连接(shortcut connections)来缓解梯度消失问题,但它们也存在各自的局限性,如特征重用递减或计算成本过高。AdaNet虽然可以在训练中自适应地调整网络结构,但对于深度网络来说计算量巨大。

本文提出的SpinalNet通过模仿人类脊髓的几个特征,旨在以更少的参数和计算开销来提升性能,特别是作为大型CNN模型中的全连接层。

2. SpinalNet 网络

SpinalNet的设计灵感来源于人类体感神经系统,特别是脊髓处理信息的方式。

2.1 与人类体感系统的类比

SpinalNet模仿了人类脊髓的以下几个特点:

2.2 SpinalNet的结构

一个典型的SpinalNet由多个“脊髓层”(spinal layer)组成,每一层都包含三个部分:

由于每一层的中间神经元只接收一部分原始输入和前一层的输出,其输入的维度远小于传统全连接层中神经元的输入维度。这大大减少了网络所需的乘法运算次数和参数量。

2.3 SpinalNet的通用近似性证明

为了证明SpinalNet作为一个新的网络架构具有通用近似能力(即能够拟合任何连续函数),作者采用了一种直观的等价性证明方法,而非复杂的数学推导。

证明思路:一个具有足够宽度的单隐藏层神经网络是通用近似器。如果可以证明一个足够深的SpinalNet等价于一个足够宽的单隐藏层神经网络,那么SpinalNet也是通用近似器。

证明过程:一个简化的两层SpinalNet(图a),如果将其第一层的激活函数设为线性(或近似为线性),并且切断某些连接(通过将权重设为0),那么这个两层的SpinalNet可以等价地看作一个包含两个隐藏神经元的单隐藏层网络(图b)。同理,一个四层的SpinalNet(图d)可以等价于一个包含四个隐藏神经元的单隐藏层网络(图c)。以此类推,一个足够深的SpinalNet就可以等价于一个足够宽的单隐藏层神经网络。由于后者是通用近似器,因此SpinalNet也具有通用近似能力。

3. 实验分析

作者在回归和分类任务上对SpinalNet的有效性进行了验证。

3.1 回归任务

在一个8变量的回归问题上,比较SpinalNet与一个传统的两层前馈神经网络的性能。两个网络具有相同的总神经元数,但SpinalNet的乘法运算次数和参数量都减少了约35%。

在四种不同的回归函数(如$\sum x$和$\sin(\prod x)$)上,SpinalNet在8个比较场景中的6个场景里取得了更低的均方误差(MSE)。这表明SpinalNet在回归任务上可以用更少的计算成本达到相当或更好的性能。

3.2 分类任务:从随机初始化开始学习

作者在多个图像分类数据集上,将SpinalNet作为CNN的全连接(FC)层,并与使用传统FC层的CNN进行比较。

2.3 分类任务:使用迁移初始化学习

为了解决SpinalNetResNet上表现不佳的问题,作者采用了“迁移初始化”(Transferred Initialization)策略。即使用在ImageNet上预训练好的VGG-19Wide-ResNet-101模型作为初始权重,然后用SpinalNet替换其FC层,并在目标数据集上对整个网络进行端到端训练(不冻结任何层)。

迁移初始化策略成功地发挥了SpinalNet的优势,使其在多个具有挑战性的彩色图像数据集上与强大的CNN骨干网络结合,取得了顶尖的性能。