论文部分内容阅读
近年来以卷积神经网络为代表的深度学习技术,在许多任务上取得了优异的性能,显著超越了传统算法。但是,深度学习方法往往需要消耗大量的算力与存储资源,在模型训练阶段,其可以依赖于超算或高性能图形处理器以满足其算力要求;然而在移动端与边缘端应用的部署过程中,其仍面临着速度、精度与资源三方面的约束和权衡。更具体地来说,想要以较快的速度处理庞大的深度学习模型,需要强大的算力平台,然而在硬件/功耗资源受限的应用场景下,中央处理器与高性能图形处理器因算力限制或庞大的功耗,显然无法作为深度学习的部署平台。因此,设计针对深度学习算法优化的高效能硬件加速器架构变得十分重要,用以在受限的资源条件下达到和高性能平台相近的处理速度。同时,研究表明深度学习模型存在大量的参数冗余,所以可以通过模型压缩的方法来降低显著模型大小、提升模型推理速度,但模型压缩往往也伴随着模型精度的损失,如何同时优化模型压缩率和精度损失便成为该领域的研究热点之一。另外,随着深度学习方法在不同应用领域的拓展,主流的模型压缩方法可能不再普适地适用于不同领域,而通过结合特定领域的数据分布,提出优化算法弥合压缩方法带来的精度损失,也是未来深度学习进一步发展的特点。因而,本文在将聚焦在上述三个方面,针对这些领域所面临的一些关键问题和挑战,提出具有一定创新性的解决方案。首先,本文介绍了在模型压缩算法与硬件高效推理中的研究工作。目前比较主流的卷积神经网络往往包含百万到千万级的参数量,推理过程的算力需求将达到数十亿次乘累加操作,卷积操作更是占据了其中90%以上的乘累加操作。因此,本文首先在卷积神经网络中引入了用于卷积强度缩减的级联快速滤波算法,平均降低了41.5%的卷积运算复杂度。但是同时,我们注意到快速滤波算法的硬件架构设计往往只针对某一主流尺寸的卷积核进行支持和优化,而无法高效支持各种主流尺寸卷积核,导致基于该算法的硬件加速器往往不具备可重构性或者在不同工况下的平均硬件效率低下。所以本文提出了基于级联快速滤波算法的可重构卷积加速单元架构,可以高效支持不同尺寸的卷积核,在5种主流的尺寸上达到了76.4%的硬件利用效率,并可以支持从1×1到12×12的所有尺寸卷积核,同时,本文还提出了基于该卷积单元的高效数据流,实验结果显示该结构在可重构性和计算复杂度上显著优于其他业界先进的卷积加速器。为了更进一步提升卷积网络的部署效率,本文引入了在Winograd域中结合了剪枝稀疏化方法的稀疏化Winograd算法,可以大幅降低网络计算负载至原网络的8%,并基于该算法设计了一款低时延高效能的卷积网络加速器。该加速器架构创新性地针对稀疏化的权重和激活,设计了二进制掩码索引单元,跳过所有冗余乘法计算(含0操作数),达到有效降低卷积计算负载和节约时钟周期的优化效果;同时,该架构精心设计了基于异步访存的串行处理延迟同步数据流,可以有效缓解稀疏化的数据带来的负载不均衡问题。相较于其他最先进的Winograd加速器,我们的设计显著减少了硬件计算和存储资源消耗,分别节省了50%的DSP、29%的BRAM、41%的LUT和38%的寄存器资源,并达到了最高1.7倍至5.1倍的时延降低。此外,目前主流的模型压缩与硬件部署方案往往针对于二维卷积神经网络模型,而随着计算机视觉领域的深入发展,二维视觉任务逐渐走向成熟,更多的工作开始转向研究卷积神经网络在三维视觉任务中的应用。由于三维任务更高的计算量,三维轻量化模型的研究变得尤为重要,但其往往会带来模型精度上的显著衰减,所以本文更进一步地研究了三维卷积神经网络的算法精度和模型压缩的协同优化。在视频识别任务上,本文提出了一个轻量化的全分离卷积模块,可以大幅降低网络参数量,显著降低了网络的计算复杂度;而后在该轻量化模型的基础上,结合视频数据的分布特征,提出了一个时域特征增强模块,可以以很小的计算量达到大幅提升模型泛化性能的效果。实验结果显示,应用在最新的视频识别网络上,我们的方法可以带来2.3倍的模型压缩率,并且显著地恢复了7.9%的模型精度损失。综上,本文的工作以高效部署卷积神经网络为核心目标,结合算法优化、模型压缩和硬件架构设计的方法,在算法到硬件部署的全流程中提出了优化部署的方案,相较于其他学术界最新工作取得了一定程度的性能提升。