[论文解读] A Unified Hardware Architecture for Convolutions and Deconvolutions in CNN
本文提出了一种统一的基于FPGA的硬件加速器,该加速器在卷积神经网络(CNNs)中通过共享的处理单元阵列同时支持卷积和反卷积操作,消除了对独立硬件的需求。通过重用片上内存并优化数据流,该设计在Xilinx ZC706 FPGA上实现了151.5 GOPS的卷积性能和94.3 GOPS的反卷积性能,优于现有设计,同时在两种操作中均保持了均衡的资源效率。
In this paper, a scalable neural network hardware architecture for image segmentation is proposed. By sharing the same computing resources, both convolution and deconvolution operations are handled by the same process element array. In addition, access to on-chip and off-chip memories is optimized to alleviate the burden introduced by partial sum. As an example, SegNet-Basic has been implemented using the proposed unified architecture by targeting on Xilinx ZC706 FPGA, which achieves the performance of 151.5 GOPS and 94.3 GOPS for convolution and deconvolution respectively. This unified convolution/deconvolution design is applicable to other CNNs with deconvolution.
研究动机与目标
- 解决因CNN中反卷积未被加速而导致的性能瓶颈,特别是在语义分割任务中。
- 通过使单一架构支持卷积和反卷积操作,减少硬件冗余。
- 优化内存访问模式,以最小化片外带宽和中间存储开销。
- 在保持两种操作资源效率的同时,实现在FPGA上的高性能与可扩展性。
- 通过在Xilinx ZC706 FPGA上实现SegNet-Basic,验证设计的有效性。
提出的方法
- 提出一种统一的处理单元阵列,通过可配置的数据流和计算调度机制,同时支持卷积与反卷积操作。
- 采用循环展开、循环分块和循环交换技术,优化数据重用并减少内存带宽需求。
- 实施一种混合内存访问策略,结合行缓冲和移位寄存器,以管理特征图流并减少片外内存访问。
- 将系统控制器实现为有限状态机(FSM),用于管理数据流、填充模式以及激活/池化单元的旁路。
- 采用双缓冲技术隐藏数据传输延迟,并平衡计算与内存访问。
- 在处理单元内直接实现批量归一化和激活函数(ReLU/LeakyReLU),以减少外部数据移动。

实验结果
研究问题
- RQ1单一硬件架构能否在不使用专用硬件的情况下高效支持CNN中的卷积与反卷积操作?
- RQ2如何优化内存访问模式,以减少反卷积中的片外带宽和中间存储开销?
- RQ3通过在卷积与反卷积之间共享片上资源,能够实现多大的性能与资源效率提升?
- RQ4与现有FPGA加速器相比,该统一设计在反卷积密集型网络中的吞吐量和延迟方面表现如何?
- RQ5通过增加处理单元阵列的数量,该架构在多大程度上可扩展以实现更高性能?
主要发现
- 所提出的统一架构在Xilinx ZC706 FPGA上实现了151.5 GOPS的卷积性能和94.3 GOPS的反卷积性能,优于大多数现有基于FPGA的CNN加速器。
- 反卷积操作在单步内完成,无需存储中间部分和,从而降低了内存压力与延迟。
- 该设计仅使用了ZC706 FPGA上8%的LUTs、6%的寄存器、99%的BRAMs和64%的DSPs,表明具有很高的资源效率。
- 系统控制器FSM支持动态配置数据流与处理模式,实现运行时的灵活重构。
- 由于优化的缓冲与数据流设计,反卷积处理时间相比卷积加最大池化与ReLU的组合减少了约3.2%。
- 该架构展现出良好的可扩展性,通过增加处理单元阵列数量可提升性能,以应对更高的数据带宽需求。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。