什么是扩张卷积?

2025年4月2日 | 阅读 5 分钟

膨胀”一词指的是在多层卷积核中添加间隙或“孔”,这使得它可以在不增加参数数量的情况下拥有更大的感受野。

膨胀卷积,也称为空洞卷积,是神经网络和信号处理应用中标准卷积技术的一种变体。

优点

i) 膨胀卷积在不要求更大卷积核或额外参数的情况下扩展了感受野。这对于捕获数据集中的长期依赖关系非常有用。

ii) 稀疏采样:膨胀卷积在卷积核中创建了间隙,与全连接的感受野相比,这最大限度地减少了所需的计算量。这可以带来更有效的处理,尤其是在内存和计算需求方面。

iii) 多尺度信息:为了捕获多尺度信息,请使用具有不同膨胀率的膨胀卷积。通过堆叠具有不同膨胀率的层,网络可以同时记录局部和全局特征。

iv) 空间分辨率保持:与降低空间分辨率的池化过程不同,膨胀卷积可以保持输入尺寸。

缺点

i) 有限的局部细节:虽然膨胀卷积在捕获全局信息方面表现良好,但与标准卷积相比,它们在捕获细粒度局部细节方面可能效果较差,尤其是在需要高水平细节的情况下。

ii) 不适用于所有操作:膨胀卷积可能不适用于所有数据或操作。在某些情况下,传统的卷积或其他架构选择可能更有效,尤其是在相邻片段之间的交互至关重要的情况下。

iii) 潜在的过拟合:根据架构和应用,膨胀卷积可能会增加过拟合的风险,尤其是在膨胀率未仔细调整的情况下。这是因为更宽的感受野可能会检测到数据中的噪声。

iv) 学习曲线:实现和调整膨胀卷积层可能需要对架构及其超参数有更深入的了解,这对于不熟悉这些概念的从业者来说可能很困难。

方面

i) 一维和三维膨胀卷积

虽然上述示例使用了二维图像,但膨胀卷积也可以应用于一维信号(例如,时间序列数据)和三维体(例如,视频数据、医学成像)。概念保持不变,膨胀率会影响多维度的感受野。

ii) 空洞空间金字塔池化 (ASPP)

ASPP 是一种语义分割技术,它使用具有不同膨胀率的膨胀卷积。它使网络能够以多种尺度捕获数据,提高了模型理解局部和全局上下文的能力。

iii) WaveNet 架构

WaveNet 工程,一个由 DeepMind 开发的用于语音合成的深度生成模型,使用了膨胀卷积。WaveNet 以因果方式使用膨胀卷积来显示音频源中的长程条件。

iv) 有效的内存使用

与使用大卷积核的典型卷积层相比,膨胀卷积更节省内存。这对于涉及大量输入数据或图像的任务尤其重要。

v) 点云的膨胀卷积

在计算机图形学和计算机辅助设计 (CAD) 中,已研究膨胀卷积用于分析三维点云。它们提供了一种有效捕获稀疏采样数据中空间相关性的方法。

应用

i) 语义分割

膨胀卷积经常用于语义分割任务,这些任务旨在为图像中的每个像素分配语义标签。膨胀卷积可以捕获局部特征和全局上下文,这对于分割对象和情况非常有用。

ii) 图像生成

膨胀卷积可以在图像生成任务(例如,创建高分辨率图像或修复缺失部分)中捕获空间关系并提供逼真的内容,同时保留细粒度特征。

iii) 对象识别

膨胀卷积用于对象识别任务,这些任务旨在识别和分类图像中的对象。通过允许模型检查更宽的感受野而不进行下采样,膨胀卷积可以提高跨尺度的对象识别能力。

iv) 医学成像

在医学图像分析中,膨胀卷积用于图像分割等任务,这些任务需要精确识别解剖结构。它们允许模型考虑更大的上下文,同时保持医学图像的空间分辨率。

v) 自然语言处理 (NLP)

膨胀卷积在文本分类和情感分析等基于序列的 NLP 任务中表现出色。将文本视为一维序列,膨胀卷积可以捕获长程语言依赖关系。

膨胀率

膨胀率是与膨胀卷积相关的参数,它控制卷积核中元素(或“孔”)之间的间距。此参数决定了卷积滤波器在输入数据上“跳过”多少。

在正常(非膨胀)卷积中,卷积滤波器的每个元素都应用于输入特征图中的相邻元素。但是,在膨胀卷积中,膨胀率会在元素之间产生间隙,从而在不引入更多参数的情况下扩展感受野。

膨胀率通常由单个整数或整数元组表示。它是这样工作的。

i) 膨胀率为一对应于正常卷积,其中滤波器的元素是相邻的。

ii) 膨胀率大于一会产生间隙;膨胀率越高,元素之间的空间越大。例如

- 膨胀率为二表示滤波器元素之间存在一个间隙。

- 膨胀率为三表示元素之间有两个空隙。

依此类推。

膨胀率决定了卷积操作的有效感受野。更高的膨胀率会吸收更广泛的空间信息,帮助模型学习数据中的长期依赖关系。这对于需要理解全局上下文的任务(例如,图像分割)尤为重要。

使用简单 Python 代码的示例

执行一维膨胀卷积的基本 NumPy 示例。例如,在实践中,TensorFlow 或 PyTorch 等深度学习工具更适合处理神经网络结构内的卷积操作。

输出

What is Dilated Convolution

在此示例中,`dilated_convolution_1d` 是一个基本函数,它使用指定的核和膨胀率在输入信号上应用一维膨胀卷积。最后打印输出以供说明。由于其效率和易于部署,建议在更复杂的情况下使用深度学习框架。

结论

膨胀卷积在卷积核中引入了间隙,通过在保持空间分辨率的同时增加感受野,为深度学习提供了一种令人信服的解决方案。它们捕获局部细节和全局上下文的能力,使其在语义分割、对象识别和场景理解等各种应用中不可或缺。将膨胀卷积应用于从计算机视觉到自然语言处理的各个领域,证明了其灵活性。显著的优点包括高效的内存使用、与前沿架构的兼容性以及对实时应用的适应性。然而,膨胀率的选择仍然是一个关键的超参数,这凸显了仔细调整的重要性。总而言之,膨胀卷积是一种强大的工具,它极大地促进了神经网络拓扑及其在各种任务中的性能的进步。