CNN vs. Transformer:全局上下文与NVIDIA DLSS
CNN vs. Transformer:AI图像处理的关键区别
人工智能彻底改变了计算机理解图像的方式。两种最重要的架构是卷积神经网络(CNN)和Transformer。虽然CNN多年来一直是计算机视觉的标准,但Transformer正在迅速崛起——包括在NVIDIA的DLSS技术中。本文解释了根本区别,以及为什么Transformer能提供更优越的全局上下文。
CNN:局部视角
卷积神经网络(CNN)使用在图像上滑动的滤波器(卷积核)。它们只分析相邻的小块像素区域。在早期层中,它们检测简单的特征,如边缘或纹理。只有通过许多堆叠的层,才能组合出更复杂的物体。缺点:CNN难以捕捉图像中远距离区域之间的关系。左上角的物体和右下角的物体除非网络非常深,否则不会直接关联。这种局部视角限制了上下文理解。
Transformer:全局上下文
Transformer最初是为自然语言处理而开发的,它改变了范式。它不是逐像素扫描图像,而是将图像分割成小块(例如16×16像素),并将它们视为句子中的单词。关键机制是自注意力(self-attention)。每个块与整个图像中的所有其他块进行比较。模型为每一对计算一个注意力分数,表示相关性。这样,左上角的块可以直接从右下角的块接收信息——无论空间距离如何。这创建了对图像的全局理解。
为什么Transformer拥有更好的上下文
Transformer的关键优势在于它能够将所有元素放在其他所有元素的上下文中进行加权。在CNN中,权重由局部邻域决定。而在Transformer中,每个词(或块)被表示为所有其他词的加权和。这意味着:当模型需要重建一个细节时,它确切知道图像的哪些其他部分是相关的。这种上下文加权导致了更连贯、更详细的表示。特别是在超分辨率或去噪等任务中,这一优势尤为明显。
CNN vs. Transformer对比
| 特征 | CNN | Transformer |
|---|---|---|
| 感受野 | 局部(相邻像素) | 全局(所有块) |
| 上下文理解 | 有限,逐层构建 | 直接,通过自注意力 |
| 可扩展性 | 低分辨率下高效 | 计算密集但可并行化 |
| 应用 | 经典图像识别、物体检测 | 现代视觉、语言模型、DLSS |
| DLSS示例 | DLSS 1–3(基于CNN) | DLSS 4(基于Transformer) |
NVIDIA DLSS:从CNN到Transformer的转变
NVIDIA开发了深度学习超级采样(DLSS),用于以较低分辨率渲染游戏,并通过AI将其升级到更高分辨率。早期版本(DLSS 1、2和3)基于CNN。它们分析局部像素簇来估计缺失的细节。随着时间的推移,CNN达到了极限:出现了鬼影(运动物体后的拖影)和闪烁等伪影,因为帧之间的时间一致性没有得到很好的维持。
在DLSS 4中,NVIDIA引入了基于Transformer的模型。它不仅考虑当前帧,还全局考虑连续帧之间的关系。自注意力使得运动和纹理在时间上保持一致。结果:图像更清晰,伪影更少,快速相机移动时的稳定性显著提高。尽管Transformer计算需求更高,但NVIDIA优化了架构(例如减少VRAM使用),使性能影响最小化。这一转变表明全局上下文对图像质量的重要性。
结论
CNN和Transformer在方法上根本不同:CNN专注于局部模式,Transformer专注于全局关系。Transformer的自注意力能够对图像的所有元素进行上下文感知加权,从而带来卓越的图像质量。NVIDIA已经认识到这一优势,并在游戏DLSS中采用Transformer。随着对逼真流畅图形需求的增长,这一趋势将持续下去。对于开发者和用户来说,这意味着:Transformer不仅适用于语言,也适用于图像——它们是未来。
