本文提出了一种通用的CNN架构:CCNN,可用于任何分辨率、长度和维度的数据。在VGG、U-Net、TCN网络中……CNN功能强大,但必须针对特定问题、数据类型、长度和分辨率进行定制才能发挥作用。我们不禁要问,我们能否设计出一个在所有这些网络中都能正常工作的单一CNN?在这篇论文中,阿姆斯特丹自由大学、阿姆斯特丹大学、斯坦福大学的研究人员提出了CCNN,单个CNN可以在多个数据集(比如LRA)上实现SOTA!1998年,LeCun等人提出了卷积神经网络(CNN),这是一类广泛应用于机器学习的深度学习模型。由于其高性能和高效率,CNN在跨序列、视觉和高维数据的多个应用中实现了SOTA性能。然而,CNN(以及一般的神经网络)的一个严重缺点是这些架构必须针对特定应用进行定制,以处理不同的数据长度、分辨率和维度。这反过来又导致了大量特定于任务的CNN架构的出现。数据可以有许多不同的长度,例如图像可以是32x32或1024x1024。标准CNN的问题在于它们的卷积核是本地化的,需要一个自定义架构,每个长度都具有精心选择的步长和池化层,以捕获整个上下文。此外,许多数据本质上是连续的,并且在不同的分辨率下具有相同的语义,例如图像可以以任意分辨率捕获并具有相同的语义内容,音频可以以16kHz或44.1kHz采样,但人耳听起来仍然是一样的。然而,由于卷积核的离散性,传统的CNN不能跨分辨率使用。当使用相同的CNN考虑不同维度的数据时,这两个问题会进一步加剧,例如序列(1D)、视觉(2D)和高维数据(3D、4D),因为具有不同特征长度和分辨率的不同维度运行在一个高速率,例如一秒的音频长度可以轻松达到16000,这与基准数据集中的图像大小形成强烈对比。在这篇论文中,研究人员提出了朝着通用CNN架构迈出的一步。目标是构建一个单一的CNN架构,可用于任意分辨率、长度和维度的数据。标准CNN需要特定于任务的架构,因为它们的卷积核的离散性质将核绑定到特定的数据分辨率,并且由于构建大型离散卷积核所需的大量参数,它们不适合构建全局上下文。模具。因此,要构建一个通用的CNN架构,开发一个与分辨率无关的卷积层是至关重要的,它可以以参数有效的方式对远程依赖进行建模。该研究入选ICML2022。论文地址:https://arxiv.org/pdf/2206.03398.pdf代码地址:https://github.com/david-knigge/ccnn本文贡献如下:该研究提出了连续CNN(CCNN):一种简单的通用CNN,无需结构修改即可跨数据分辨率和维度使用。CCNN在序列(1D)、视觉(2D)任务以及具有不规则采样数据和测试时间分辨率变化的任务上优于SOTA;这项研究对现有的CCNN方法进行了多项改进,使它们能够与当前的SOTA方法(例如S4)相匹配。主要改进包括内核生成器网络的初始化、卷积层的修改以及CNN的整体结构。连续核卷积使用小型神经网络作为核生成网络,同时将卷积核参数化为连续函数。网络将坐标映射到该位置的内核值:(图1a)。通过G_Kernel传递一个K坐标的向量,可以构建一个大小相等的卷积核K,即。随后,在输入信号和生成的卷积核之间执行卷积运算以构造输出特征表示,即。任意数据维度的一般操作。通过改变输入坐标c_i的维度D,可以利用核生成网络G_Kernel构建任意维度的卷积核。所以相同的操作可以用于序列D=1,视觉D=2和更高维数据D≥3。不同输入分辨率的等效响应。如果输入信号x有分辨率变化,例如最初以8KHz观察到的音频现在以16KHz观察到,它与离散卷积核进行卷积以产生不同的响应,因为该核将覆盖不同的输入子集。另一方面,连续核与分辨率无关,因此无论分辨率如何,它都能识别输入。当输入以不同的分辨率(例如更高分辨率)呈现时,通过内核生成器网络传递更精细的坐标网格就足够了,以便在相应的分辨率下构建相同的内核。对于以分辨率r(1)和r(2)采样的信号x以及连续卷积核K,两种分辨率下的卷积近似等于一个与分辨率变化成正比的因子:CCNN:ModelinginNDResidualBlockImprovementwith远程依赖的连续内核卷积。该研究使用由类似于S4网络的块组成的残差网络修改了FlexNet架构。CCNN架构如下图2所示。基于这些观察,本研究构建了FlexConv的深度可分离版本,其中使用内核生成器网络生成的内核计算通道卷积,然后是从N_in到N_out点卷积的逐步卷积。这种变化允许在不增加网络参数或计算复杂性的情况下构建更广泛的CCNN——从30到110个隐藏通道。正确初始化内核生成器网络G_Kernel。该研究观察到内核生成器网络在之前的研究中没有正确初始化。在初始化之前,人们希望保持卷积层输入和输出的方差相等,以避免梯度爆炸和消失,即Var(x)=Var(y)。因此,卷积核被初始化为具有Var(K)=gain^2/(inchannels?kernelsize)形式的方差,其增益取决于所使用的非线性。然而,神经网络被初始化使得输入的单一方差在输出处被保留。因此,当用作内核生成器网络时,标准初始化方法会导致内核具有单一方差,即Var(K)=1。因此,使用神经网络作为内核生成器网络的CNN经历了与通道·内核大小成比例的特征表示方差的逐层增长。例如,研究人员观察到CKCNN和FlexNet在初始化时的对数约为1e^19。这是不可取的,因为它可能导致训练不稳定并且需要低学习率。为了解决这个问题,该研究要求G_Kernel输出方差等于gain^2/(in_channels?kernel_size)而不是1。它们通过并重新加权KernelGeneratorNetwork的最后一层。因此,核生成器网络的输出方差遵循传统卷积核的初始化,而CCNN的logits在初始化时表现出单一方差。实验结果如下表1-4所示,CCNN模型在所有任务中表现良好。首先是一维图像分类CCNN在多个连续基准测试中实现了SOTA,例如LongRangeArena、语音识别、一维图像分类,所有这些都在一个架构中。与其他方法相比,CCNN通常具有更小的模型和更简单的架构。然后是2D图像分类:使用单一架构,CCNN可以匹配并优于更深层的CNN。ND的远程依赖建模的重要性。原则上,所有任务都可以看作是不考虑二维结构的顺序任务。本研究只需改变核生成网络的坐标维度,即可轻松在多维空间定义CCNN。有趣的是,该研究观察到,通过考虑图像的2D性质和LRA基准中的Pathfinder任务可以获得更好的结果(上表3)。在PathFinderwith2Dimages中,最大的CCNN达到了96.00%的准确率,比之前的SOTA提高了近10个百分点,并且在扁平图像上明显优于CCNN。此外,在原始2D数据上训练的模型显示出比顺序模型更快的收敛速度(图3)。由于在中间池化层中缺乏细粒度的全局上下文建模,具有小内核的2DCNN(例如ResNet-18)无法解决Pathfinder。
