
深度卷积网络 (CNN) 是现代计算机视觉革命的基石,它赋予了机器前所未有的解释视觉世界的能力。虽然神经网络的概念并不新鲜,但创建一个能够处理包含数百万像素的高分辨率图像的系统,在计算和理论上都构成了巨大的挑战。一个简单、全连接的方法会变得异常庞大,并且无法从真实世界的数据中学习有意义的模式。CNN 的成功在于一系列优雅的设计原则,这些原则通过融入关于视觉信息结构的基本假设来解决这个问题。
本文将对这些强大的模型进行全面探讨。我们将首先解构其核心组件,以从根本上理解它们的工作原理。然后,我们将遍历它们多样化和变革性的应用,揭示它们不仅是工程工具,也是科学发现的强大框架。第一章“原理与机制”将阐释归纳偏置、卷积机制以及实现真正深度网络的关键架构创新等基本概念。随后,关于“应用与跨学科联系”的章节将展示 CNN 如何重塑从医学到计算神经科学的各个领域,在以往看似毫不相关的知识领域之间建立起意想不到的联系。
机器是如何学会“看”的?如果我们从零开始设计一个视觉系统,一个简单的方法可能是将输入图像的每个像素连接到一个神经元,然后再将这层神经元连接到另一层,以此类推。这是经典多层感知机 (MLP) 背后的思想。但是,对于一张尺寸适中的图像,比如 像素,连接数量将变得天文数字。这样的模型不仅大到不可能实现,而且需要同样不可能获得的大量数据才能学到任何有意义的东西。这就像要求一个学生在不学习“词”这个概念的情况下,通过记住所有可能的字母组合来理解一个句子。
卷积网络的突破源于一个简单而深刻的认识:视觉世界是有结构的。与一个随机的数字向量不同,图像具有重要的空间排列。使我们能够构建如此高效且强大的视觉模型的特性被称为归纳偏置——它们是融入网络架构中、指导其学习过程的假设。对于视觉而言,有两个偏置至关重要。
首先,世界受局部性支配。一个物体的决定性特征——咖啡杯的边缘、树皮的纹理、组织样本中细胞的排列——都包含在小的局部空间区域内。CNN 通过使用小的滤波器(或称卷积核)来利用这一点,这些滤波器一次只观察图像的一小块区域。它不是从一开始就学习全局关系,而是被迫首先学习识别像边缘、角落和纹理这样的简单局部模式。
其次,视觉的规则与位置无关。一只猫无论出现在图片的左上角还是右下角,它仍然是一只猫。定义癌细胞的特征,无论其在显微镜载玻片上的绝对坐标如何,都是相同的。CNN 通过一种名为权重共享的优雅机制来捕捉这一原则。同一个卷积核,带着同一组学习到的权重,在输入图像的每个位置上滑动。这个共享的“模板”被应用到各处,构建出一个特征图,告诉我们某个特定模式在哪里被发现。
这个属性被称为平移等变性。如果输入图像被移动(平移),产生的特征图也会被移动相同的量,但其他方面是相同的。将此与不变性区分开来至关重要。一个等变系统的输出会随着输入位置的变化而可预测地改变,而一个不变系统的输出则完全不改变。一个原始的卷积层是等变的。要实现真正的不变性——即知道图像中有一只猫,而不管它在哪里——通常需要后续步骤,比如池化,我们将会看到这是这些架构中的一个共同主题。这两个偏置,局部性和平移等变性,是所有深度卷积网络构建其上的基本支柱。它们使得 CNN 能够从有限的数据中学习,并泛化到视觉世界无限的多样性中。
在确定了为什么我们通过一个局部的、滑动的窗口来观察世界之后,让我们来研究一下那个窗口内部发生了什么。CNN 的核心操作被称为卷积,但如果你是数学家或信号处理工程师,你可能会发现这个术语使用得稍有不当。
这个操作非常简单。想象你有一个小的卷积核,比如一个 的数字网格(权重)。你将这个卷积核放在输入图像的一个 的区域上。然后你执行一个加权和:将卷积核中的每个权重乘以其下方的图像像素值,并将所有九个乘积相加。结果是一个单一的数字,它成为输出特征图中的一个像素。现在,你将卷积核移动一个像素并重复这个过程。这个“滑动加权和”,或滑动点积,在整个图像上执行,以生成一个完整的特征图,突显出由卷积核编码的模式被发现的位置。
这里有一个微妙而具有历史和数学美感的点。在正式的信号处理中,卷积要求你在滑动卷积核之前,先将其水平和垂直翻转。而深度学习库几乎普遍实现的是技术上的互相关,它在不进行初始翻转的情况下执行滑动点积。这个差异重要吗?对于一个学习系统来说,一点也不重要!如果最优的滤波器需要某种模式,网络在训练期间同样可以轻松地学习该模式的翻转版本。但认识到这一区别,将现代人工智能的实用工程与丰富的数学遗产联系起来,提醒我们这些思想在系统和信号研究中有着深厚的根源。
单个卷积层可以找到简单的模式。深度学习的魔力在于堆叠这些层,使网络能够构建一个特征的层次结构:第一层找到边缘,第二层结合边缘找到纹理和物体的部分(如眼睛和鼻子),而后来的层则结合这些部分来识别整个物体。然而,将网络从几层扩展到成百上千层,需要一系列卓越的架构创新。
图像不是一个平坦的二维数字网格。一张彩色图像有三个通道(红、绿、蓝)。同样,卷积层的输出,即特征图,可以有很多通道,每个通道专门用于检测不同的模式。因此,卷积实际上是一个三维操作,在高度和宽度上滑动,同时处理所有通道。
这把我们引向了现代 CNN 中最强大且看似矛盾的构建块之一: 卷积。一个大小为 的卷积核?它看不到任何空间上的邻居!它的天才之处不在于空间,而在于深度。一个 卷积观察单个像素,并对其所有输入通道进行加权和以产生一个输出值。由于这是用一组学习到的权重完成的,它等同于一个应用于每个像素的微型全连接神经网络。它允许网络学习跨通道维度组合和重映射信息的最佳方式。它是一个强大的工具,用于增加模型的非线性,并且至关重要的是,用于改变通道的数量——既可以减少它们以节省计算,也可以扩展它们以创建更复杂的表示。
随着网络的增长,其计算需求也随之增加。一个在多通道上进行的标准 卷积可能非常昂贵。这催生了更高效操作的发明,其中最著名的是可分离卷积。
这个想法来自一个简单的观察:一些二维操作可以被分解或“分离”为两个一维操作。例如,应用一个 的模糊效果,可以通过先应用一个 的水平模糊,然后再对结果应用一个 的垂直模糊来实现。标准卷积的成本与卷积核面积 成正比,而可分离版本的成本与边长 成正比——对于较大的卷积核来说,这是一个显著的节省。
现代网络通过深度可分离卷积将这一思想更进一步。该操作巧妙地将标准卷积分为两个独立的步骤。首先,深度卷积执行空间滤波。它对每个输入通道独立地应用一个单独的 滤波器,而不混合它们之间的信息。这会产生一个与输入具有相同通道数的中间特征图。其次,使用逐点卷积——也就是我们的老朋友 卷积——来线性组合深度步骤的输出。这种分解非常高效。它将空间滤波的任务与通道混合的任务分开,极大地减少了参数和计算量,通常能减少 8 或 9 倍,而准确率损失很小。
网络如何能在不使用巨大且计算昂贵的卷积核的情况下看到大尺度结构?一个聪明的解决方案是空洞卷积,也称为 atrous 卷积。想象一个标准的 卷积核。现在,你不是将它应用于相邻的像素,而是应用于相隔一个位置的像素,实际上是在卷积核中插入了“孔洞”。这个卷积核现在覆盖了输入的 区域,但仍然只有 9 个参数。通过增加空洞率,卷积核的感受野——它能“看到”的输入区域——可以指数级增长,而没有任何额外的计算成本。这是一种廉价地获得更广阔、更具上下文视图的方法。
另一种在多个尺度上观察世界的方法是并行进行。这就是 Inception 模块的哲学。Inception 模块不是强迫单个层选择一种卷积核大小,而是通过多个分支同时处理输入:一个分支可能使用 卷积,另一个使用 ,第三个使用 。所有这些分支的输出随后被简单地沿着通道维度连接起来。这让网络能够自己学习局部细节和更广阔上下文的何种组合对于手头的任务最有用。这就像同时用几个不同放大倍率的放大镜观察一个场景,并将这些视图结合起来。
多年来,一个令人沮丧的悖论一直困扰着这个领域:让网络更深应该使其更强大,但在实践中,超过某个点后,性能反而会变得更差。这个“退化问题”的出现是因为当信号——无论是前向激活还是反向传播的梯度——穿过越来越多的层时,它会趋于消失或爆炸。
在残差网络 (ResNet) 中引入的解决方案,既惊人地简单又深刻。我们不是强迫一堆层去学习一个目标映射 ,而是让它学习一个残差映射,。最终的输出然后通过一个跳跃连接形成:。其直觉是,对于一个网络来说,学习对一个恒等映射做一个小的修正(残差)远比从头开始重新创建这个恒等映射要容易得多。如果一个层块是不需要的,网络可以很容易地学会将其输出设为零,而输入将无变化地通过。
然而,真正的魔力在于反向传播过程。通过精心设计层块,使得跳跃连接是一个纯粹、干净的恒等映射——没有诸如归一化或激活函数之类的操作来干扰——梯度就可以无阻碍地反向流过网络。这种预激活设计创建了一条“梯度高速公路”,允许错误信号即使通过成百上千层也能传播回去,从而有效地解决了梯度消失问题,并为我们今天使用的真正深度网络铺平了道路。
一个拥有数百万参数的深度网络是一台极其强大的机器。但强大的力量也伴随着巨大的责任——以及过拟合的巨大风险。一个过于复杂的模型可以轻易地记住训练数据中的噪声和怪癖,从而无法泛化到新的、未见过的数据上。当处理有限的数据集时,这是一个尤其严重的危险,这在医学影像等领域很常见。
为了应对这个问题,我们使用正则化:即抑制模型复杂度的技术。最常见且最有效的方法之一是权重衰减,也称为 正则化。从算法上讲,它非常简单:在训练过程的每一步,我们从每个权重中减去其自身的一小部分,导致权重随着时间的推移向零“衰减”。
这似乎只是一个工程上的技巧,但它有一个优美而深刻的统计学解释。在我们的优化目标中加入这个惩罚项,在数学上等同于在假设权重服从高斯先验的情况下进行最大后验 (MAP) 估计。这听起来很拗口,但思想很简单。在我们查看数据之前,我们先声明一个“信念”或先验:我们相信更简单的模型更有可能。我们通过假设网络的权重可能很小,就好像它们是从一个以零为中心的钟形曲线中抽取的一样,来形式化这一点。然后,训练过程必须平衡两个目标:拟合数据和保持权重较小。模型只有在数据提供非常强的证据表明大权重是必要的情况下,才被允许使用它们。
这是对奥卡姆剃刀原则——“如无必要,勿增实体”——的一个惊人的形式化。通过偏好较小的权重,我们鼓励网络学习更平滑、更简单的函数,这些函数不太可能被单个数据点的噪声所动摇。这是以数学编码的科学谦逊的一课,帮助我们强大的模型从已知优雅地泛化到未知。
我们已经花时间学习了深度卷积网络的语法——卷积的基本操作、池化的澄清作用以及非线性激活的决定性火花。我们已经看到,当这些简单的元素被堆叠成高耸的层塔时,如何能够以惊人的保真度学会识别模式。但这仅仅是语法。诗意何在?这些抽象的数学结构在何处焕发生机,它们又能告诉我们关于世界的什么?
你可能会惊讶地发现,它们的应用远远超出了简单地标记猫和狗的图片。在本章中,我们将踏上一段旅程,去看看这些网络不仅是工具,更是强大的透镜,它们正在彻底改变医学,在看似不相关的科学领域之间建立起意想不到的联系,甚至挑战我们自己对智能的理解。我们将看到,当赋予数据和目标时,简单的卷积如何成为一个非常多功能的发现引擎。
也许在任何领域中,卷积网络的影响都没有在医学中来得如此直接和深远。几个世纪以来,疾病的诊断一直是一种感知艺术,依赖于训练有素的医生解读他们所看到的一切,无论是在病理切片上、X光片上,还是在病人的皮肤上。现在,我们有了一种新的眼睛,它正在改变这门艺术的本质。
想象一下病理学家在显微镜下检查组织样本时面临的挑战。他们必须在一片良性细胞的海洋中识别出恶性细胞。我们可以训练一个 CNN 来完成同样的任务,向其输入数千张标记过的组织病理学图像。网络通过端到端的方式学会区分癌变区域和健康区域。但这引出了一个关键问题:这种新方法与之前的方法相比如何?
在深度学习之前,“传统”方法需要大量的人工指导。领域专家,如放射科医生或工程师,必须首先假设图像中的哪些特征可能是重要的。这些被称为“手工制作”或“影像组学”特征。对于一个肿瘤,人们可能会决定测量其大小、使用灰度共生矩阵等工具测量其表面纹理,或其形状的紧凑性。然后,一个经典的机器学习模型,如支持向量机,会在这些预先提取的特征上进行训练。智能被分成了两部分:一部分是人类的直觉(选择特征),另一部分是算法(学习分类器)。
深度卷积网络代表了一种根本性的哲学转变。我们不再告诉机器要寻找什么。我们只是向它展示图像的原始像素和最终的标签(例如,“恶性”或“良性”)。网络通过其层次化的层,为自己发现相关的特征。第一层可能学会检测简单的边缘和颜色梯度。更深的层将这些组合起来,找到纹理和简单的形状。再深一些的层则将这些组装成与疾病的视觉标志相对应的复杂、抽象的模式。网络从数据中学习自己的“影像组学”,常常发现人类专家可能从未想过要测量的预测性模式。
当然,强大的能力也需要巨大的责任。我们如何知道一个模型是否真正有效,尤其是在一个错误代价极高的临床环境中?想象一个用于筛查与 1 型神经纤维瘤病等遗传性疾病相关的罕见皮肤病的工具。它看到的大多数图像都是正常皮肤。一个每次都简单猜测“正常”的模型可以达到超过 的准确率,但在临床上却毫无用处,因为它从未发现任何一个疾病案例。这是在“不平衡”数据集中使用简单评估指标的陷阱。我们必须转向更细致的衡量标准。我们关心敏感性(也称为召回率),它问的是:“在所有真正患病的患者中,我们找到了多少比例?”我们还关心*精确率*,它问的是:“在我们标记为患病的所有患者中,有多少比例是真的患病?”F1 分数在这两者之间提供了一个平衡,而精确率-召回率曲线下的面积比简单的准确率更能全面地反映性能。评估这些模型本身就是一门科学。
CNN 的力量并不仅限于替代或增强人类的感知能力。当它们充当桥梁,连接起曾经看似遥远的科学领域时,它们真正的美才得以显现。
思考一下影像组学领域,它试图将医学成像的宏观世界与遗传学的微观世界联系起来。我们可以获取一张医学图像——例如,一张肺部肿瘤的 CT 扫描图——并使用 CNN 不是对其进行分类,而是预测其潜在的基因组构成。某个特定的致癌基因,如 EGFR,是否发生了突变?该肿瘤是否表现出特定的基因表达特征?令人惊讶的是,答案往往是肯定的。网络学会了看到肿瘤形状、纹理和生长模式中的微妙特征——即肿瘤的表型——这些特征对人眼来说是不可见的,但与其潜在的基因型高度相关。这就创造了一种非侵入性的“虚拟活检”,使我们能够直接从标准的扫描中推断遗传信息,为个性化医疗开辟了新的途径。
为了实现这一点,我们有时需要的不仅仅是一个监督式 CNN。例如,一个自编码器可以以无监督的方式进行训练,通过简单地尝试重建其自身的输入来学习图像数据的压缩表示。自编码器的中心“瓶颈”迫使它学习数据中最显著的特征。然后,我们可以将这个学习到的表示作为输入,用于预测基因组标签的第二个模型。这个两步过程可能很强大,但一个纯粹无监督的自编码器可能会学到表示图像中的变异(如扫描仪噪声),而这些变异与生物学无关。一种更复杂的方法是将无监督的重建损失与监督的分类损失相结合,引导网络学习那些不仅有利于重建图像,而且对基因组目标具有预测性的特征。
也许最令人惊叹的桥梁是连接这些人工网络与我们头脑中生物网络的那一座。几十年来,神经科学家已经绘制出灵长类动物的视觉系统,识别出两条主要的通路。沿着颞叶延伸的*腹侧通路是“什么”通路,负责识别物体,而不论其位置、大小或光照如何。向上延伸至顶叶的背侧通路*是“哪里/如何”通路,负责理解空间关系和指导动作,如伸手取物。
事实证明,我们的深度学习架构为这些生物通路提供了惊人有效的计算模拟。一个深度卷积网络,凭借其建立空间不变性的分层结构,是腹侧通路的一个卓越模型。它在物体识别任务中表现出色,就像它的生物对应物一样。另一方面,一个具有内部状态或记忆的循环网络,是背侧通路的一个优秀模型。它可以随时间整合信息以跟踪移动的物体,预测它们的未来位置以补偿神经处理延迟,并即使在物体暂时被遮挡时也能维持对其位置的估计——所有这些都是视觉引导动作的关键功能 [@problem-id:5013680]。这种并行并非偶然;它表明在解决视觉问题上,不同系统在基本架构原则上有着深刻而根本的趋同。
深度学习与经典科学之间的关系并不总是一种替代关系;它也可以是一种深刻的综合。以计算机断层扫描 (CT) 为例,这是医学成像的基石。CT 扫描仪的原始数据是一组称为正弦图的投影。数学问题是从这些一维投影中重建一个二维横截面图像。几十年来,解决这个问题的黄金标准是一种名为滤波反投影 (FBP) 的优雅解析算法。
人们可能认为深度学习会简单地抛弃 FBP,试图从头开始学习整个重建过程。一种更优美的方法是视两者为合作伙伴。我们可以将整个 FBP 算法构建为一个神经网络内部的单个、固定的、不可训练的层。该层的输出是一个重建的图像,但可能带有噪声和伪影。然后,我们可以将这个不完美的图像通过一系列可训练的卷积层。这个 CNN 随后学会成为一个专业的“清理”艺术家,去除 FBP 已知会产生的特定类型的伪影。
这种联系甚至更深。如果这个后处理 CNN 由一个简单的线性卷积层堆栈组成,一个有趣的特性就会出现。一连串的卷积在数学上等同于一个单一的、更复杂的卷积。这个等效滤波器的傅里叶变换就是各个滤波器傅里叶变换的乘积。这意味着整个学习层堆栈塌缩成一个单一的、等效的线性滤波器。这揭示了一种优雅的统一性:数据驱动、学习驱动的深度网络世界和原则性、解析性的经典信号处理世界正在使用同一种数学语言。
旅程并未在此结束。卷积网络的原理正在被推向新的前沿,迫使我们应对在创造、解释以及智能系统本身的设计方面的挑战。
到目前为止,我们讨论的都是能“看”的网络。但是,网络能学会创造吗?生成对抗网络 (GAN) 提供了一个绝妙的答案。一个 GAN 由两个陷入“猫捉老鼠”游戏中的网络组成。生成器试图从随机噪声中创造出逼真的图像,而*判别器*(通常是一个 CNN)则试图区分这些伪造图像和真实图像。随着它们一起训练,生成器在愚弄判别器方面变得越来越好,而判别器在识破伪造方面也越来越强。其结果是一个能够产生惊人逼真和新颖图像的生成器。
然而,训练这些对抗性系统是一门精细的艺术。可能会出现奇怪的不稳定性。例如,一个名为批量归一化的标准组件,在普通 CNN 中有助于稳定训练,但在 GAN 中却可能反常地破坏稳定性。因为它在一个包含真实和伪造样本的小批量数据上进行归一化,它可能会无意中向判别器“泄露”关于该批量构成的信息。判别器可能会学会通过感知批量的整体统计数据来作弊,而不是学习真实性的内在特征,从而导致训练崩溃。这促使研究人员开发替代的归一化技术,如层归一化或实例归一化,这些技术按样本计算统计数据,避免了这种信息泄露。这表明,随着我们构建更复杂的系统,我们必须对信息如何在其中流动和相互作用有更深的直觉。
随着这些模型进入像医学这样的高风险领域,“它得到正确答案了吗?”这个问题已经不再足够。我们还必须问:“它是如何得出那个答案的?”这就是可解释性的挑战。对于 CNN 来说,一种流行的技术是类激活图 (CAM),它会生成一个热图,突出显示输入图像中对给定分类影响最大的区域。
但是,热图是真正的解释吗?让我们将其与一个来自完全不同领域的方法进行对比:合作博弈论。SHapley 加性解释 (SHAP) 使用一个名为夏普利值的概念,将预测的功劳分配给每个输入特征(例如,每个像素)。这种方法带有优美的公理保证:效率(特征贡献总和等于总预测值)、对称性(对称的特征获得相等的功劳)和虚拟性(没有效果的特征获得零功劳)。标准的 CAM 作为一种更启发式的方法,不提供这样的数学保证。它的热图不一定总和为预测值,并且在处理等效或不相关特征时可能不一致。通过转向博弈论的形式化方法,我们可以为我们网络的决策构建更可靠和值得信赖的解释。
最后,重要的是要记住,科学永不静止。多年来,卷积网络一直是计算机视觉领域无可争议的王者。但它的统治地位现在正受到一种新架构的挑战:Vision Transformer (ViT)。CNN 有一个强大的内置归纳偏置,称为局部性:其小卷积核假设像素的局部组合是最先需要处理的最重要的事情。而 ViT 则使用一种更通用的机制,称为*自注意力*,这使得它原则上可以从一开始就将任何像素与任何其他像素关联起来。
这导致了一个有趣的权衡。CNN 的局部性偏置对于自然图像是一个非常好的假设,使其数据效率很高。而 ViT 缺乏这种内置的先验知识,虽然更灵活,但需要海量数据才能从头开始学习局部性的重要性。对于较小的数据集,例如在许多专业的医疗应用中,CNN 通常仍然是更实际的选择。这种架构之间的持续对话提醒我们,在发现机器智能的基本原理方面,我们仍处于早期阶段。
从诊所到宇宙,从我们细胞内的基因到我们大脑中的神经元,深度卷积网络不仅仅是一种算法。它是一个统一的框架,一种提出问题的强大新方式,也是连接信息世界的惊人而美丽联系的证明。