论文部分内容阅读
深度学习逐渐在各个领域中发挥出重要作用,而深度卷积神经网络(Deep Conv olution Neural Network,DCNN)是深度学习中的关键技术。DCNN以多层级卷积层为核心,构成可以提取图像特征的神经网络,于目标检测、目标分类、语义分割等领域都被广泛应用。随着硬件算力的发展,复杂的神经网络结构也逐渐可以实现于各种设备中,于是精度逐渐成为神经网络的最重要性能指标。因此以精度高为主要优势的DCNN备受研究者青睐。但是,由于DCNN的网络模型尺寸较大并且计算量和参数量较多,高效实现DCN N还存在许多困难。比如,DCNN的网络结构过于复杂时,训练的过程中容易出现过拟合问题,使DCNN的精度难以达到需求。另外,实现在硬件中的DCNN所占用的运算资源和存储空间庞大,难以应用于处理速度较快、运行设备规模较小的场景中。为了解决上述技术难点,本文从网络结构优化和硬件实现优化两个角度出发,对现有的DCNN实现方法进行了学习、总结以及改进,提出了几种新的DCNN实现优化方法。并且采用网络结构优化方法,搭建、训练并测试了一个轻量级DCNN——Agile Net;采用硬件实现优化方法,在现场可编程门阵列(Field Programmable Gate Arrays,FPGA)中实现了基于Agile Net的分类器,并测试其正确性和重要参数。最终对软硬件的测试结果分别进行了分析,验证了所提出DCNN实现优化方法的有效性。本文的主要工作和贡献如下:1)针对DCNN的各个组成部分进行了优化设计方法研究,搭建并训练了轻量级DCNN网络—Agile Net。该网络精度与经典网络Inception-v3相比精度相近但网络模型规模更小,网络结构更加合理。2)使用C++语言,在Vivado HLS中应用流水线、并行化等硬件优化技术,完成了Agile Net图像分类器的FPGA硬件实现。测试表明该分类器在资源使用率和处理速度方面优于GPU和CPU的实现方式。