大家好,感谢邀请,今天来为大家分享一下CCNN: 超越CNN瓶颈,实现多项SOTA性能的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
在VGG、U-Net、TCN 网络中……CNN 虽然功能强大,但必须针对特定问题、数据类型、长度和分辨率进行定制才能发挥作用。我们不禁要问,能否设计出一个在所有这些网络上都能良好运行的CNN?
1998 年,LeCun 等人。提出了卷积神经网络(CNN),一种广泛应用于机器学习的深度学习模型。由于其高性能和高效率,CNN 在跨序列、视觉和高维数据的多个应用中实现了SOTA 性能。然而,CNN(以及一般的神经网络)的一个严重缺点是,这些架构必须针对特定应用进行定制,以便处理不同的数据长度、分辨率和维度。这反过来又导致了大量特定任务的CNN 架构的出现。
数据可以有多种不同的长度,例如图像可以是32x32 或1024x1024。标准CNN 的问题在于它们的卷积核是局部的,这需要为每个长度定制精心选择的步幅和池化层,以捕获整个上下文定制架构。此外,许多数据本质上是连续的,并且在不同的分辨率下具有相同的语义。例如,图像可以以任何分辨率捕获并具有相同的语义内容,音频可以以16kHz 或44.1kHz 采样,但人耳听起来仍然相同。
然而,由于卷积核的离散性,传统的CNN无法跨分辨率使用。当使用相同的CNN 考虑不同维度的数据时,例如序列(1D)、视觉(2D)和高维数据(3D、4D),这两个问题会进一步加剧,因为不同的维度具有不同的特征长度和分辨率。例如,一秒音频的长度很容易达到16000,这与基准数据集中的图像大小形成鲜明对比。
因此,为了构建通用的CNN 架构,开发一个与分辨率无关的卷积层是关键,该层能够以参数有效的方式对远程依赖关系进行建模。该研究入选ICML 2022。
论文地址: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)。将坐标为的K个向量通过G_Kernel,可以构造出一个等大小的卷积核K,即。随后,在输入信号和生成的卷积核之间进行卷积运算,以构造输出特征表示,即。
任意数据维度的一般操作。通过改变输入坐标c_i的维度D,可以使用核生成网络G_Kernel构造任意维度的卷积核。因此,相同的操作可用于处理序列D=1、视觉D=2 和更高维数据D3。
不同输入分辨率的等效响应。如果输入信号输入子集。另一方面,连续内核与分辨率无关,因此无论其分辨率如何,它都能够识别输入。
当输入以不同的分辨率(例如更高分辨率)呈现时,通过内核生成器网络传递更精细的坐标网格就足以在相应的分辨率下构造相同的内核。对于以分辨率r (1) 和r (2) 采样的信号x 和连续卷积核K,两个分辨率下的卷积近似等于与分辨率变化成比例的因子:
CCNN:在 ND 中建模远程依赖关系
通过连续内核卷积进行残差块改进。该研究用类似于S4网络的块组成的残差网络修改了FlexNet架构。 CCNN架构如下图2所示。
基于这些观察结果,本研究构建了FlexConv 的深度可分离版本,其中使用内核生成器网络生成的内核来计算通道卷积,然后由N_in 到N_out 执行逐点卷积。这一更改允许构建更广泛的CCNN——(从30 到110 个隐藏通道),而无需增加网络参数或计算复杂性。
正确初始化内核生成器网络G_Kernel。这项研究发现,在之前的研究中,内核生成器网络没有正确初始化。在初始化之前,我们希望卷积层的输入和输出的方差保持相等,以避免梯度爆炸和消失,即Var(x)=Var(y)。因此,卷积核被初始化为具有Var (K)=gain^2 /(通道 核大小)形式的方差,增益取决于所使用的非线性。
然而,神经网络被初始化,以便输入的单位方差保留在输出中。因此,当用作内核生成器网络时,标准初始化方法会产生具有单一方差的内核,即Var (K)=1。因此,使用神经网络作为内核生成器网络的CNN 的特征表示方差与通道·内核大小成正比,逐层增长。例如,研究人员观察到CKCNN 和FlexNet 在初始化时的logits 约为1e^19。这是不可取的,因为它可能导致训练不稳定并且需要低学习率。
为了解决这个问题,研究要求G_Kernel输出方差等于gain^2/(in_channelskernel_size)而不是1。他们通过了,重新加权内核生成器网络的最后一层。因此,核生成器网络输出的方差遵循传统卷积核的初始化,而CCNN 的Logits 在初始化时表现出单一方差。
实验结果
如下表1-4所示,CCNN模型在所有任务中都表现良好。
第一个是一维图像分类CCNN,在多个连续基准测试中实现了SOTA,例如Long Range Arena、语音识别、一维图像分类,所有这些都在单一架构中实现。与其他方法相比,CCNN 通常具有更小、更简单的模型架构。
然后是2D 图像分类:使用单一架构,CCNN 可以匹配并超越更深的CNN。
为ND 建立远程依赖关系建模的重要性。原则上,所有任务都可以被视为序列任务,而不考虑二维结构。本研究只需改变进入核生成器网络的坐标维度,就可以轻松定义多维空间中的CCNN。有趣的是,研究发现,通过考虑LRA 基准中图像的2D 性质和探路者任务,可以获得更好的结果(上表3)。
在2D图像的PathFinder中,最大的CCNN达到了96.00%的准确率,比之前的SOTA高出近10个点,并且在平面图像上的表现明显优于CCNN。
此外,在原始2D 数据上训练的模型比序列模型表现出更快的收敛速度(图3)。由于中间池化层缺乏细粒度的全局上下文建模,具有小卷积核的2D CNN(例如ResNet-18)无法解决Pathfinder。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7949.html
用户评论
终于看到能超过传统CNN的模型了!
有7位网友表示赞同!
CCNN的架构设计是不是很巧妙?
有5位网友表示赞同!
这样改进的话,未来的计算机视觉应用会更加强大吧?
有8位网友表示赞同!
SOTA-cnn based 是什么意思呢?
有16位网友表示赞同!
这篇文章值得一看啊,希望能详细了解CCNN的原理。
有16位网友表示赞同!
多项SOTA成绩可不是闹着玩的好成绩啊!
有20位网友表示赞同!
单一架构实现多种功能,科技进步太快了!
有7位网友表示赞同!
感觉CNN的发展有了新的方向了。
有10位网友表示赞同!
期待CCNN应用在更多的领域,带来更酷炫的效果。
有9位网友表示赞同!
以前一直觉得CNN的局限性很大,现在终于有解决办法了。
有17位网友表示赞同!
这么强的模型肯定会被广泛使用的吧?
有17位网友表示赞同!
这篇文章是深度学习研究的重大进展吗?
有12位网友表示赞同!
希望能看到CCNN在实际应用中的演示视频。
有15位网友表示赞同!
我很好奇CCNN的训练过程是怎么样的?
有8位网友表示赞同!
有了CCNN,很多传统图像处理方法可能会被取代吧?
有17位网友表示赞同!
这篇文章应该要被推荐给更多的人看!
有12位网友表示赞同!
感觉CCNN的技术有点像未来科技感的产物。
有13位网友表示赞同!
学习一下CCNN的知识能提升我的编程能力吗?
有15位网友表示赞同!
希望有一天我可以自己使用CCNN来做一些有趣的事情。
有20位网友表示赞同!