QUICK REVIEW
[论文解读] Fast Image Scanning with Deep Max-Pooling Convolutional Neural Networks
Alessandro Giusti, Dan Cireşan|arXiv (Cornell University)|Feb 7, 2013
Image and Signal Denoising Methods参考文献 3被引用 53
一句话总结
本文提出一种基于动态规划的图像扫描方法,通过在滑动窗口推理过程中消除冗余卷积,加速深度最大池化卷积神经网络。通过分割最大池化层输出以保留完整的空间覆盖,该方法实现了在整个图像上高效、非冗余的前向传播,实际应用中相比优化的GPU分块处理方法最高可实现32倍加速,理论上在大型网络上接近三个数量级的加速。
ABSTRACT
Deep Neural Networks now excel at image classification, detection and segmentation. When used to scan images by means of a sliding window, however, their high computational complexity can bring even the most powerful hardware to its knees. We show how dynamic programming can speedup the process by orders of magnitude, even when max-pooling layers are present.
研究动机与目标
- 解决深度卷积神经网络在图像分割和目标检测中滑动窗口推理带来的高计算成本问题。
- 克服朴素分块评估方法的低效性,该方法在重叠图像块之间冗余地重新计算卷积。
- 设计一种通用方法,可处理卷积层与最大池化层任意交错的架构,且不损失精度。
- 通过在整个图像范围内计算特征图以最小化冗余计算,实现在大图像上的实时或近实时推理。
- 在CPU分块方法和高度优化的GPU分块实现之间,展示显著的加速效果。
提出的方法
- 提出一种新型基于图像的前向传播策略,仅对每张输入图像计算一次卷积,而非对每个重叠块分别计算。
- 引入最大池化层输出的分割技术,以确保输入图像中所有块在扩展特征图中均有表示。
- 将每个最大池化特征图的片段视为独立子图,保留所有可能块位置的空间信息。
- 确保所有最大池化层中所有片段的并集,包含输入图像中所有可能块的完整信息。
- 通过单次遍历整个输入图像,将特征图无重复地传播通过所有卷积层和最大池化层。
- 应用动态规划原理,系统性地计算并传播整个图像的特征图,避免冗余操作。
实验结果
研究问题
- RQ1如何在使用滑动窗口对大图像进行深度CNN扫描时,消除冗余的卷积计算?
- RQ2在滑动窗口设置下,如何高效处理最大池化层而不丢失对所有可能块的信息?
- RQ3能否为任意交错的卷积层与最大池化层架构,设计一种通用的、非分块的前向传播方法?
- RQ4与分块方法相比,图像级计算在减少FLOPS和推理时间方面能实现多大程度的优化?
- RQ5与高度优化的GPU分块实现相比,所提出方法在实际性能提升方面表现如何,尤其是在速度上的优势?
主要发现
- 在用于神经元膜分割的大规模网络上,所提出的基于图像的方法相比分块方法将FLOPS降低了779.8倍。
- 在512×512图像上,该方法的简单MATLAB实现相比高度优化的GPU分块实现实现了32.8倍的加速。
- 在大型网络(如ISBI电子显微镜分割挑战赛中使用的网络)上,该方法实现了接近理论极限的近三个数量级加速。
- 该方法是精确的,结果与分块方法完全一致,确保优化过程中无精度损失。
- 传统上阻碍图像级计算的最大池化层,通过基于片段的处理方式得到有效处理,保持了完整的空间覆盖。
- 即使在高级语言如MATLAB中,加速效果依然显著,表明性能提升源于算法效率而非底层优化。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。