# 深度展开式的Transformer

其实发了好多了啊 清华也来一直卷他 就又发了

该工作提出了首个深度展开式的Transformer,在使用更低参数量和更少计算量的前提之下,性能大幅度地超过了前人的方法。

文章:https://arxiv.org/abs/2205.10102

代码:https://github.com/caiyuanhao1998/MST

这个github仓库是一个针对 Snapshot Compressive Imaging 重建的工具包,集成了超过12种深度学习算法。我们之前的工作如 MST, CST, MST++, HDNet 也都在这个github仓库中开源。本文也是我们做的 Transformer in SCI 系列的第三个工作。

MST:https://arxiv.org/abs/2111.07910

CST:https://arxiv.org/abs/2203.04845

MST++:https://arxiv.org/abs/2204.07908

HDNet:https://arxiv.org/abs/2203.02149

单曝光快照压缩成像(Snapshot Compressive Imaging,SCI)的任务是将一个三维的数据立方块如视频(H×W×T)或高光谱图像(H×W×λ)通过预先设计好的光学系统压缩成一个二维的快照估计图(H×W)从而大幅度地降低数据存储和传输的开销。常见的单曝光快照压缩成像系统有 Coded Aperture Snapshot Spectral Compressive Imaging (CASSI),如下图所示

Transformer~合集4_人工智能

 单曝光快照压缩成像光学系统

那么在 SCI 中一个至关重要的问题就是如何从被压缩过后的二维快照估计图重建出原始的三维数据,当前主流的方法大都基于深度学习,可以分为两类:端到端(End-to-end)的方法和深度展开式(Deep Unfolding)的方法。端到端的方法直接采用一个深度学习模型,去拟合一个从 2D 快照压缩估计图到 3D 高光谱数据的映射。这种方法比较暴力,确实可解释性。深度展开式方法将神经网络嵌入到最大后验概率(Maximum A Posteriori,MAP)模型中来迭代地重建出高光谱图像,能更好地和光学硬件系统适配。因此,本文主要研究深度展开式算法。当前这些方法主要有两大问题:

  • 当前的深度展开式框架大都没有从 CASSI 中估计出信息参数用于引导后续的迭代,而是直接简单地将这些所需要的参数设置为常数或者可学习参数。这就导致后续的迭代学习缺乏蕴含 CASSI 退化模式和病态度信息指导。
  • 当前的 Transformer 中全局的 Transformer 计算复杂度与输入的图像尺寸的平方成正比,导致其计算开销非常大。而局部 Transformer 的感受野又受限于位置固定的小窗口当中,一些高度相关的 token 之间无法match。

为了解决上述两个问题,我们提出了首个深度展开式的Transformer。我们贡献可以概括为:

  • 首先,我们推导出了一个能够感知 CASSI 退化模式与病态度的深度展开框架,它从压缩估计图和编码掩膜中估计出信息参数来引导后续的迭代学习。
  • 接着,我们设计了一个能够同时捕获局部和全局依赖关系的 Transformer 并且计算复杂度相较于全局的Transformer而言,大幅减低。
  • 最终,我们将我们设计的 Transformer 嵌入到我们推导的深度展开框架中来极大提升光谱图像重建的效果。我们的算法在使用更低参数量和更少计算量的前提之下,性能大幅度地超过了前人的方法。

方法

CASSI 压缩退化的数学模型

我们定义向量化后的压缩估计图为 y , 被偏移后的输入数据为 x, 传感矩阵为 φ ,则 CASSI 的退化数学模型为

Transformer~合集4_数据集_02

其中的 n 表示成像时产生的随机噪声,同样地,它也经过了向量化。

 退化可感知的深度展开框架

Transformer~合集4_拟合_03

 我们首先推导出一个 CASSI 退化模式和病态度可感知的深度展开框架,Degradation-Aware Unfolding Framework (DAUF),如图 2 所示。它以最大后验概率为理论基础来进行推导。结合公式(1),我们可以得到 CASSI 的最大后验概率能量优化函数为:

Transformer~合集4_人工智能_04

 将公式(7)插入到公式(6),我们可以得到:

Transformer~合集4_拟合_05

从左到右依次为参数估计,线性映射,先验去噪。

半交互式 Transformer

Transformer~合集4_数据_06

 半交互式 Transformer 的网络结构图

 网络整体结构

 我们半交互式 Transformer (Half-Shuffle Transformer,HST)的整体结构如图3 (a) 所示,采用一个 U 形网络,包含 一个 Encoder,Bottleneck,Decoder。其中基本单元是 Half-Shuffle Attention Block (HSAB)。HSAB中最重要的模块是 Half-Shuffle Multi-head Self-Attention (HS-MSA)。

Half-Shuffle Multi-head Self-Attention

Transformer~合集4_数据_07

最后将整个 HST 作为一个 stage 的去噪先验网络(不同 stage 的网络权重不共享)插入到 DAUF 当中便得到我们的 DAUHST。                           

实验

 定量实验对比

Transformer~合集4_数据集_08

 定量实验对比图

定量实验对比如表 1 所示,我们的 DAUHST 以更低的计算量和参数量显著超越了之前 16 种 state-of-the-art 方法。我们的方法比先前最好的方法 End-to-end 方法 CST-L 和 Deep Unfolding 方法 BIRNAT 要分别高出 2.24 和 0.78 dB。

Transformer~合集4_拟合_09

相较于先前的 Deep Unfolding 方法,我们绘制了 PSNR - FLOPS 坐标图比较 DAUHST 和其他 Deep Unfolding 方法的 性价比。如图4所示。我们的方法在消耗相同计算量的情况下比先前方法要高出 4 dB。

定性实验对比

Transformer~合集4_拟合_10

仿真数据集上的视觉对比结果

在仿真数据集上的定性结果对比如图所示。左上角是RGB图像和快照估计图(Measurement)。下方四行图像是不同方法重建的四个波长下的高光谱图像。右上角的图像是下方图像中黄色框框内的放大图。从重建的高光谱图像来看,我们的方法能更好地恢复出细节内容和纹理结构,请注意对比小立方块区域。a 和 b 曲线对应着 RGB 图像的两个绿色框的区域的光谱强度曲线,可以看出,我们的 DAUHST 与 Ground Truth 的曲线最为接近。

Transformer~合集4_数据_11

 真实数据集上的视觉对比图

图展示的是各类方法在真实数据集上的对比。可以看出只有我们的方法能够在各种波长的光谱上稳定地重建出小花并同时抑制噪声的生成。

# CNN一定比Transformer差吗

CNN一定比Transformer差吗?LeCun新作:神经网络在实践中的灵活性到底有多大?

神经网络拟合数据的能力受哪些因素影响?CNN一定比Transformer差吗?ReLU和SGD还有哪些神奇的作用?近日,LeCun参与的一项工作向我们展示了神经网络在实践中的灵活性。

人工智能在今天百花齐放,大模型靠规模称王,小模型则凭数据取胜。

当然我们也希望,可以付出更少的资源,并达到相同的效果。

很早之前,谷歌就有相关研究,探索了在固定算力的情况下,如何分配模型参数量和训练数据量,以达到最好的性能。

近日,LeCun参与的一项工作从另一个角度向我们展示了,神经网络在实践中的灵活性到底有多大?

论文地址:https://arxiv.org/pdf/2406.11463

这个灵活性指的是,神经网络拟合训练数据(样本数量)的能力,在实际应用中受到哪些因素的影响。

比如我们第一时间想到的可能就是模型的参数量。

Transformer~合集4_拟合_12

人们普遍认为,神经网络可以拟合至少与自身参数一样多的训练样本。

这就像是解一个线性方程组,有多少个参数(或者方程)、多少个未知数,从而判断解的数量。

然而神经网络实际上要复杂的多,尽管在理论上能够进行通用函数逼近,但在实践中,我们训练的模型容量有限,不同优化器也会导致不同的效果。

所以,本文决定用实验的方法,分别考察数据本身的性质、模型架构、大小、优化器和正则化器等因素。

而模型拟合数据的能力(或者说学习信息的能力),由有效模型复杂性(EMC)来表示。

这个EMC是怎么算的呢?

一开始,在少量样本上训练模型。如果它在训练后达到100%的训练准确率,则将模型重新初始化并增大训练样本数量。

迭代执行此过程,每次逐步增加样本量,直到模型不再完全拟合所有训练样本,将模型能实现完美拟合的最大样本量作为网络的EMC。

——一直喂饭,直到吃撑,则得到饭量大小。

实证分析

为了全面剖析影响神经网络灵活性的因素,研究人员考虑了各种数据集、架构和优化器。

数据集

实验采用了包括MNIST、CIFAR-10、CIFAR-100和ImageNet等视觉数据集,以及Forest-Cover Type、Adult Income和Credit等表格数据集。

另外,实验还使用了更大规模的合成数据集,通过Min-SNR加权策略进行的高效扩散训练,生成分辨率为128×128的高质量图像数据集——ImageNet-20MS,包含10个类别的2000万个样本。

模型

实验评估了多层感知器(MLP)、CNN架构的ResNet和EfficientNet,以及Transformer架构的ViT。

Transformer~合集4_数据集_13

作者系统地调整了这些架构的宽度和深度:

比如对于MLP,通过每层添加神经元来增加宽度,同时保持层数不变,或者通过添加更多层来增加深度,同时保持每层神经元数量不变。

对于一般的CNN(多个卷积层,接一个恒定大小的全连接层),可以改变每层的kernel数量或者卷积层的总数。

对于ResNet,可以改变kernel的数量或者block的数量(深度)。

Transformer~合集4_数据_14

而对于ViT,可以改变编码器的数量(深度)、patch embedding的维度和自注意力(宽度)。

Transformer~合集4_人工智能_15

优化器

实验采用的优化器包括随机梯度下降(SGD)、Adam、AdamW、全批次梯度下降(full-batch Gradient Descent)和second-order Shampoo optimizer。

由此,研究人员可以测试随机性和预处理等特征如何影响最小值。同时。为了确保跨数据集和模型大小进行有效优化,研究人员仔细调整了每个设置的学习率和批量大小,并省略了权重衰减。

数据对EMC的影响

研究人员通过修改隐藏层的宽度来扩展一个2层的MLP,通过修改层数和通道数来扩展CNN,并在一系列图像(MNIST、CIFAR-10、CIFAR-100、ImageNet)和表格(CoverType、Income 和 Credit)数据集上训练模型。

结果显示,在不同数据类型上训练的网络在EMC方面存在显著差异:

Transformer~合集4_人工智能_16

在表格数据集上训练的网络表现出更高的容量;而在图像分类数据集中,测试精度和容量之间存在很强的相关性。

值得注意的是,MNIST(模型达到99%以上的测试准确度)产生的EMC最高,而ImageNet的EMC最低,这表明了泛化与数据拟合能力之间的关系。

输入和标签的作用

这里通过改变每层中的神经元或kernel的数量,来调整MLP和CNN的宽度,并在合成数据集ImageNet-20MS上进行训练。

实验测试了四种情况下的EMC:语义标签、随机标签、随机输入(高斯噪声)和固定随机排列下的输入。

分配随机标签(而非真实标签)的目的是探索过参数化(overparameterization)和欠参数化(underparameterization)之间的边界。

从上图的结果可以发现,与原始标签相比,当分配随机标签时,网络拟合的样本要少得多,此时神经网络的参数效率低于线性模型。而从整体上来看,模型的参数量与拟合的数据量大致呈线性关系。

分类数量对EMC的影响

作者随机合并了CIFAR-100中的类别(保留原始数据集的大小),在具有不同数量kernel的2层CNN上进行实验。

Transformer~合集4_数据集_17

结果如上图所示,随着类数量的增加,带有语义标签的数据变得越来越难以拟合,因为模型必须对其权重中的每个样本进行编码。

相比之下,随机标记的数据变得更容易拟合,因为模型不再被迫为语义上不同的样本分配相同的类标签。

预测泛化

神经网络偏向于拟合语义连贯的标签而不是随机标签,而且,与随机标签相比,网络拟合语义标签的熟练程度通常与其泛化能力相关。

这种泛化也使得CNN这种架构能够拟合比模型参数量更多的样本。

传统的机器学习观念认为,高容量模型往往会过度拟合,从而影响其对新数据的泛化,而PAC-贝叶斯理论则指出,模型更喜欢正确的数据标记。

而本文的实验将这两种理论联系在了一起。

Transformer~合集4_拟合_18

上图中,在正确标记和随机标记的数据上计算各种CNN和MLP的EMC,测量模型遇到语义标签与随机标签时EMC增加的百分比。

结果表明EMC增加的百分比与generalization gap之间存在显著的负相关关系,这不仅证实了泛化的理论基础,而且阐明了理论的实际意义。

模型架构对EMC的影响

关于CNN和ViT的效率和泛化能力一直存在争议。

实验表明,CNN以硬编码的归纳偏差为特征,在EMC中优于ViT和MLP。当对语义标记的数据进行评估时,这种优势在所有模型大小中都持续存在。

Transformer~合集4_拟合_19

CNN从具有空间结构的数据中获益匪浅,当空间结构通过排列被打破时,拟合的样本就会减少。而MLP缺乏这种对空间结构的偏好,因此它们拟合数据的能力是不变的。

Transformer~合集4_数据_20

另外,用高斯噪声代替输入可提高两种架构的容量,这可以解释为,在高维中,嘈杂的数据相距甚远,因此更容易分离。

Transformer~合集4_数据_21

值得注意的是,与随机输入相比,CNN可以拟合具有语义标签的样本数量要多得多,MLP却正好相反,这再次凸显了CNN在图像分类方面的卓越泛化能力。

扩展网络规模

下图展示了各种扩展配置下的EMC。

Transformer~合集4_人工智能_22

对于ResNet,扩展措施包括增加宽度(kernel数量)、增加深度。EfficientNet固定系数,同时缩放深度、宽度和分辨率。ResNet-RS根据模型大小、训练持续时间和数据集大小调整缩放。

对于ViT,使用SViT和SoViT方法,并尝试分别改变编码器块的数量(深度)和patch embedding的维度和自注意力(宽度)。

分析表明,缩放深度比缩放宽度更具参数效率。这个结论同时也适用于随机标记的数据,表明并不是泛化的产物。

激活函数

非线性激活函数对于神经网络容量至关重要,没有它们,神经网络只是大型因式分解线性模型。

研究结果表明,ReLU显著增强了模型的容量。虽然它最初的作用是为了减轻梯度的消失和爆炸,但ReLU还提高了网络的数据拟合能力。

Transformer~合集4_数据_23

相比之下,tanh虽然也是非线性的,但不能实现类似的效果。

优化在拟合数据中的作用

优化技术和正则化策略的选择在神经网络训练中至关重要。这种选择不仅影响训练收敛性,还影响所找到的解决方案的性质。

参与实验的优化器包括SGD、全批次梯度下降、Adam、AdamW和Shampoo。

Transformer~合集4_人工智能_24

以前的研究认为SGD具有很强的平坦度寻求正则化效应,但上图表明,SGD还能够比全批次(非随机)梯度下降训练拟合更多的数据。

不同优化器的EMC测量值表明,优化器不仅在收敛速率上有所不同,而且在发现的最小值类型上也有所不同。

参考资料:

 https://x.com/micahgoldblum/status/1803088886513496392