基于GPU深度网络的加速算法研究.pdf
摘要
近年来,在图像识别、语音识别等领域,深度学习的表现越来越突出,成为
业界内很多人的研究对象。而在一个的神经网络中,包含了大量的参数,在进行
网络训练时,参数量越大,单次训练需要的时间越来越长。其次,现有的深度网
络框架并不能满足任何环境下的网络运行。而近年来,图形处理器GPU(Graphic
ProcessorUnits)硬件设备得到了快速升级,通用计算技术因此而有了飞跃性的成长,
到如今已慢慢开始走向成熟。现在,很多功能强大的GPU的算力是CPU(Central
ProcessingUnit)的几十倍。因此,使用GPU的计算资源加速深度网络能够很好地
解决现如今深度网络训练时长的问题。
基于以上分析,本文对如今存在的并行加速算法研究后,基于CUDA(Compute
UnifiedDeviceArchitecture)的计算框架,对深度学习算法进行并行加速研究。本论
文的主要工作总结如下:
(1)GPU加速算法的方法研究。设计深度网络时,在计算的层面,研究了卷
积计算展开矩阵乘法的方法,减少网络计算乘法量与加法量;在网络的层面,研
究了网络部分参数化的方法,将网络中的权值偏置矩阵进行稀疏化矩阵操作;在
网络层面的并行上,研究了通道并行化的方法,对网络在线程块与线程这两个级
别上实现并行加速计算。
(2)VGG-16深度网络的构造与加速对比研究。在CUDA上,基于加速算法
的并行方法,构造出VGG-16深度神经网络,并基于数据集中的图片对网络VGG-16
网络进行训练,可视化网络运行时间,计算GPU的加速比。同时,在CPU上对
VGG-16网络的单核计算时间与7核计算时间进行了与GPU加速实验的对比研究。
最后与VGG-16网络在一些框架上运行的时间作比较,说明本文提出的方法在参
数量大的深度网络上应用的有效性。
(3)Alexnet深度网络的构造与加速对比研究。在GPU平台上,在单GPU上
实现Alexnet网络的构造,并基于本文中的方法,对Alexnet网络进行了网络优化,
对网络各层的优化时间进行了可视化,最后与CPU计算和原网络双GPU计算进
行了计算时间的对比,说明本文方法在参数量小的深度网络上应用的上有效性。
关键词:深度学习,GPU通用计算,CUDA,卷积展开,通道并行
ABSTRACT
Inrecentyears,inthefieldsofimagerecognitionandspeechrecognition,the
performanceofdeeplearninghasbecomemoreandmoreprominent,andithasbecome
theresearchobjectofmanypeopleintheindustry.Inaneuralnetwork,alargenumber
ofparametersareincluded,duringnetworktraining,thelargertheamountofparameters,
thelongerandlongerthetimerequiredforasingletraining.Secondly,theexistingdeep
networkframeworkcannotsatisfythenetworkoperationinanyenvironment.Inrecent
years,GPU(GraphicProcessorUnits)hardwareequipmenthasbeenrapidlyupgraded,
andgeneral-purposecomputingtechnologyhasthereforegrownbyleapsandbounds,
andnowithasslowlybeguntomature.Nowadays,thecomputingpowerofmany
powerfulGPUsisdozens