没有合适的资源?快使用搜索试试~ 我知道了~
ReSprop:重用稀疏反向传播对CNN训练加速、准确度损失较小的研究
正倒向ReSprop:重用稀疏反向传播Negar Goli,Tor M.不列颠哥伦比亚Aamodt大学加拿大温哥华{negargoli93,aamodt}@ ece.ubc.ca摘要卷积神经网络(CNN)在各种应用中的成功伴随着计算和训练时间的显着增加。 在这项工作中,我们通过观察到大约90%的梯度在训练期间是可重用的来集中于加速训练。利用这一观察,我们提出了一种新的算法,重用稀疏反向传播(ReSprop),作为一种方法来稀疏梯度,百分百百分之九十百分之八十百分之七十百分之六十百分之五十百分之四十百分之三十百分之二十百分之十0%的百分比ResNet18ResNet34ResNet50WRN-50-2 VGG16 VGG19在 CNN 训练 期间 输入向 量。ReSprop在 CIFAR-10、CIFAR-100和Ima-geNet数据集上保持最先进的精度,精度小于1。1%的精度损失,同时使反向传播计算减少10倍,导致2。7倍的整体训练加速。 作为由Re引入的计算减少,Sprop是通过引入细粒度稀疏性来实现的,这会降低GPU上的计算效率,我们引入了一个通用的稀疏卷积神经网络加速器(GSCN),它旨在加速稀疏卷积神经网络。传播卷积当与ReSprop结合时,GSCN达到8。0 × 7。在ResNet34和VGG16上的反向传递速度是GTX 1080 TiGPU的2倍1. 介绍卷积神经网络(CNN)在许多现代机器学习应用中取得了巨大的成功[8,15,29,53,56,57]。之前的工作采用了两种主要策略来加速CNN训练:(1)减少每个计算节点所需的迭代次数使用批量归一化[23]、数据或模型并行化[10,31]和重要性采样[27,28]等技术进行收敛;(2)使用随机深度等技术减少每次迭代的计算量,以在训练期间删除层[22],随机哈希以减少乘法次数[54],量化[6,5 8,62]和稀疏的火车-接受培训的计划生育业务(%)28.49%71.51%30.76%69.24%百分之二十八点零七71.93%30.36%69.64%33.39%66.61%33.38%66.62%1图1.在训练不同的体系结构时,向后和向前传递期间浮点操作的百分比在训练期间稀疏卷积计算1.稀疏卷积通过减少乘法和加法运算的数量来降低计算成本。最近的相关工作[20,37,38,40,42]研究了稀疏化推理的不同方法,许多研究[1,2,9,16,46]设计了加速器来利用推理中的稀疏性;然而,在稀疏训练方面的工作有限[13,35,44,55,59]。我们的测量结果如图1所示,表明反向传播在训练过程中消耗了大约70%的时间。MeProp [55,59]和DSG[35]使用不同的稀疏化方法加速反向传播卷积然而,我们观察到me-Prop在训练更深的网络或使用大型数据集时无法收敛(第3节和第5节),与ReSprop相比,DSG失去了更多的准确性,并且实现了更少的训练加速ReSprop通过重用梯度来稀疏反向传播卷积来减少反向传播的计算开销。ReSprop克服了这些限制,并且可以通过类似于最近提出的推理加速器的硬件来加速[1,2,9,16,46]。我们的观察(在第3.2节中)表明,每次迭代更新一小部分梯度分量,并用前一次迭代的梯度分量值替换其余部分,足以保持最先进的ReSprop算法(第4节)开发了梯度可重用性,并稀疏了ing [13,35,55,59].我们探索第二种策略,我提出了一种新的方法--ReSparse Backprop(ReSprop),可以在https://github.com/negargoli/ReSprop上获得源代码。15481549阿吉勒反向传播卷积高达90%,ImageNet数据集的准确性损失 小 于 1.1% 。 ReSprop 在 训 练 批 量 大 小 大 于 128 的ImageNet数据集时,计算开销小于2%,内存占用开销小于16%。对于90%稀疏性,我们计算ReSprop理论加速比,9 .第九条。3×和9。8×用于反向传递计算,并且作为Amdahl定律[ 4 ]的结果,在2. 5 × 2。9倍,用于不同架构的整体培训过程。 此外,我们估计,在定制硬件加速器上实现。具体来说,我们提出了一种新的通用稀疏卷积神经网络(GSCN)加速器硬件架构(第5.4节)。GSCN旨在加速稀疏反向传播卷积,并基于SCNN [46],这是NVIDIA提出的用于稀疏卷积的加速器。我们的结果(第5.4节)显示GSCN上的ReSprop实现了8. 在ResNet34的反向传递上,与GPU相比,加速倍数为0倍。2. 相关工作通过权重修剪实现密集到稀疏网络:通过消除权重来创建稀疏网络有着广泛的历史。LeCun等. [33];Karnin [26]; Hassibi和Stork [18]提出了使用二阶导数作为修剪标准的网络修剪的早期工作。Han等人[17]提出了参数幅度作为修剪标准,并介绍了训练,修剪和微调的管道。还有具有不同修剪标准的修剪方法[37,38,42]和去除的方法信道和滤波器[20,34,36,40,43,60]。这些通常涉及到重新训练阶段,这与我们的动机相反,增加了训练时间。稀疏训练:最近的研究试图在训练过程中通过prune,redis来找到稀疏网络,致敬和再生周期 Bellec等人[7]; Mocanuet更深的网络。重用渐变:主要的随机方差缩减(SVR)技术,包括SVRG [24],SAGA [11]及其变体,重新使用梯度来更新光滑强凸优化问题的权重。最近的工作探索了SVR方法对一般非凸问题的扩展[3,50]。然而,更快的理论收敛速度的支持向量回归方法是不是在深度神经网络中保证更好的经验性能[12]。ReSprop以与SVR不同的方式重用渐变。ReSprop重用连续小批量之间的梯度,以稀疏反向传播计算。ReSprop的目标是减少计算,而不是方差。我们表明,我们的方法达到了最先进的精度具有最小的损耗,同时对于不同的网络架构具有10倍的反向传播计算减少,不同的宽度和深度。3. 梯度复用在本节中,我们将讨论Re-Sprop背后的动机.我们将重用梯度与稀疏化梯度(meProp)进行比较。3.1. 符号和预备卷积是CNN中的主要操作CNN的前向传播中的第lyl+1=wlal(1)其中,al和wl分别表示层l处的激活和权重,并且m是卷积运算。在反向传播中,第l层接收第l+1层的输出梯度输出梯度是损失(L)相对于层输出+1个梯度用于计算输入活动的梯度权值的梯度(gradient of weights,简称gradient)。 后面-拉·卢·卢al. [41]; Mostafa and Wanget al. [44]第四十四话通过训练使网络稀疏化的增长方法Dettmers等人[13]通过稀疏表示更快的训练用于计算输入第l层的权重可以定义为[32]:动量,它使用指数平滑梯度,联系我们=⊗wt联系我们(2)=阿瓜特(三)作为修剪和再生权重的标准。另一种加速训练的方法是稀疏化活动,al100升+1升阿格夫l100升+1升vations. Liu等[35]介绍了一种动态稀疏图(DSG)结构,它通过降维在每次迭代时仅激活少量神经元,并加速向前和向后传递。在整个训练过程中保持稀疏梯度的方法与我们的工作密切相关。Sun等人[55] Weietal.[59]介绍meProp,这是一种通过稀疏化梯度来减少训练中计算量的算法。他们证明了meProp收敛,同时在MNIST数据集上以95%的梯度稀疏度训练具有两个卷积层但是,它们不分析较大的数据集小批量训练应用上述方程,并向上-在每次迭代(小批处理)时确定模型参数的日期。在这项研究中,小批量训练允许我们利用连续迭代的输出梯度分量之间的相关性,并有助于重用输出梯度分量。我们使用3.2. 方法和关键见解我们加速训练的方法是修改反向传播计算。输出梯度向量和1550阿吉勒转动依赖于它的矢量(等式2和3)在后向传递中被更新。本质上,ReSprop预先计算输出梯度向量的一部分,这反过来又能够预先计算反向传播值的一部分。我们推测训练样本之间存在大量相似特征,这促使我们探索在小批量之间重用输出梯度。我们专注于重复使用的连续迭代之间的输出梯度的子集的可行性 我们提出了一种重用策略,利用预先计算的输出梯度从以前的迭代,同时执行计算,只有显着改变的输出梯度在当前的迭代(小批量)。我们将重用策略定义如下:如果输出梯度的分量与其先前迭代相比改变超过自适应阈值,那么我们使用当前(第i)迭代值;否则,我们重用上一次迭代的值。我们引入一个向量,我们称之为混合输出梯度(HG)。我们定义HG,使得它包含前一次迭代的梯度的x%在这里,x%被称为重用百分比。迭代i处的层1的HG被定义为:Anderson等人在高维空间37中,θ是两个向量之间的相对小的角度,使得两个向量具有相似的方向。θ= HG,原始梯度> θ= meProp,原始梯度>θ= 37°10080604020030% 50% 60% 70% 80% 90%稀疏百分比(meProp)/重用百分比(HG)图2. HG和meProp角度分别用于不同的重用百分比和稀疏度。该角度是通过在CIFAR-10上训练ResNet-18进行100次迭代(批量大小=128)时找到所有层的平均角度来L(HG)=()L+Th[(L)−()(4)lil+1i−1lyl+1i1+ 1i−1表1.meProp和重复使用策略(HG)的验证准确性我们使用符号(al)i来表示向量a在层l和迭代i。每一层都有自己的自适应广告,调整阈值(T1),其满足重用百分比。在层1处应用于输出梯度向量V的函数Th1(V)(其中Th代表.分别具有不同的稀疏度和重用百分比。在CIFAR-10上训练ResNet-1830个epoch(批量大小= 128,lr =0.1优化器= SGD)。图2展示了原始输出梯度向量和HG向量(深绿色)乌斯季夫一世 ∈V:ui=vi|vi|> Tl0|vi|≤Tl(五)条)和meProp梯度(浅蓝色条)。如1处所示,连续迭代的输出梯度向量之间的角度接近90°。这表明,连续出-其中,u,i表示输出向量Th1(V)的元素,T1是每层自适应阈值。在第4节中,我们解释了如何使用(HG1)i来稀疏化使用ReSprop的反向传播。在这里,我们凭经验表明,HGl是原始输出梯度(WGL)的良好近似,并且+1个用HG向量训练网络是可行的为了研究HG和原始输出梯度之间的相关性,我们使用余弦相似性来研究角度保持根据高维计算理论[25],从高维空间d中随机选取的两个独立的各向同性向量近似正交。 如果HG vec之间没有相关性,tor和原始输出梯度,它们将形成大约90°的角度。另一方面,Andersonet al. [5]证明了在高维空间d(d→∞)中对随机向量进行二值化,以最小的变化保持向量方向,并且随机向量及其二值化版本形成约37°的角度。根据放置梯度近似正交。 但我们观察到,通过HG重用策略,在连续迭代中重用输出梯度的子集将原始输出梯度和HG向量之间的角度减小到小于37°。我们通过研究角度保持特性和有效性将此策略与meProp [55]进行比较。这些算法的精度。meProp算法将未按幅度排名在Top-K中的输出梯度图3和图2具有稀疏输出梯度。图2显示了原始输出梯度和meProp之间的角度。由于余弦相似性对于零向量是未定义的,因此不呈现100%稀疏meProp的角度我们可以看到HG比meProp的稀疏输出梯度更好地保留了原始的输出梯度方向表1进一步验证了重用梯度时的网络收敛。该表显示了与设置小幅度相比,重复使用具有小幅度变化的输出梯度(HG ValAcc)1角度重用HG Val Acc稀疏性meProp Val Acc百分之五十84. 21 ±0。09百分之五十84. 14 ±0。08百分之六十84. 11 ±0。06百分之六十六十四29 ±0。071551层参数(wl)i(al)i向前传球(Y1 +1)i前向卷积ReSprop前(al+1) i兰德(Rand)单核苷酸l+1i-1(al)i (wl)i兰德( NL)单核苷酸l+1i-1保存向后传递的参数(比利时刘丽(稀疏的)Li(利比里n+1(利比里L+1(利比里al(sparsesparse)(稀疏的)i向后传递(α L)i=(前βwl)i+(SpHGi,lβ(αt)i)阿格夫lL1+ 1阿格夫lal1+ 1联系我们层L算法1在迭代i处针对第l个1:对于l=1到层,2:接收:随机样本(RNL)i−13:(yl+1)i=(wl)i<$(al)iLt4:(预随机)i=(随机(预随机)il+1 )i−1)平均值(al)i5:(pre-random(random(random)i−1)L第六章: 端1+ 1算法2在迭代i处针对第l个卷积层的ReSprop反向传递1:for1=Layersto 1do2:接收:(mL),随机样本(mL)伊里1+ 1 i−1图3.在迭代i使用ReSprop对层l进行训练。梯度为零(meProp Val Acc)。MeProp在30次训练后的验证准确性明显低于HG。HG和meProp验证准确性之间的差距在更高的稀疏百分比下更明显。此外,表2示出了ReSprop的准确度(使用HG)。3:计算(SpHG1)i4:从向前传递接收:(前向l)i第五章:6:从向前传递接收:(前向l)i第七章:8:用(wl)i更新(wl)i9:将(cnL)i发送到上一层经过200次训练CIFAR-10后进一步提高4. ReSprop:Reuse-Sparse-Backprop本节介绍ReSprop,一种高效的反向传播算法,我们开发它来利用梯度的可重用性。我们基于HG向量重新制定了反向传播卷积,这导致了稀疏卷积和训练加速。等式2中的HG向量4在迭代i可以分为两个单独的部分:一,ReHG(上一次迭代的导数(L)i−1,并计算在当前迭代之前存储;二,SpHG(HGSpHG是10:结束在反向传播卷积中使用ReHG+SpHG,如等式2所示。7和8允许我们将计算分为两部分,分别标记为1和2。部分1表示预先计算的部分,并且可以在当前迭代的反向传播开始之前与正向传播并行计算我们将上述算法命名为ReSprop。我们将用于计算部分1的过程称为 pre-ReSprop ( Alg.1 ) 和 用 于 计 算 部 分 2 back-ReSprop(Alg. 2)。1+ 11+ 1不同的重复使用百分比会导致不同级别的备件-由于阈值函数而稀疏使用这些定义当量4可以重写如下:(HG1)i=(ReHG1)i+(SpHG1)i(6)通过替换等式中的输出梯度图3和图2中所示的HG向量与等式2中所定义的HG向量的比较。6反向传播卷积可以重写为:在back-ReSprop中的sity因此,我们的算法产生的稀疏如图所示,Alg。2(第5行和第7行),在ReSprop中,反向传播卷积是稀疏的,并且RS百分比是定义计算减少量的主要因素。在第5节中,我们分析了ReSprop的准确性,并表明在90% RS时,它对不同数据集的准确性损失可以忽略不计(小于1.1%),并且与DSG相比具有更高的准确性,L()=((ReHG)(at))+((SpHG)(at))meProp稀疏训练算法。刘丽`lilix预处理ll ili稀疏稀疏矩阵(七)4.1. 随机输出梯度将整个小批处理的输出梯度存储在L()=((ReHG)(wt))+((SpHG)(wt))每次迭代由Eq. 4到8创造了一个巨大的∂aliL i“我的天预处理lix `lil疏花Ix(八)1212(PGL)i=(前PGL)i+((wt)i)(SpHGl)i)alL层L-1(Pre(i)(Pre(a)i反向反射(稀疏卷阈值Ff层L+11552内存开销。我们将全模式呼吸定义为一个变量,在ReSprop中存储输出梯度,所有样品都在一个小批次中。一个简单的方法来减少-1553l+1iC伊伊伊减少存储器开销并减少pre-ReSprop中的计算是使用前一个小批量的平均输出梯度我们称这种变体为平均模式Re-Sprop。在平均模式中,我们添加了计算迷你批次上梯度平均值的额外步骤为了避免额外的L()i-1L+1重量=(前)i随机L()i-1L+1重量=(Pre(a)i平均的步骤,先前迭代的输出梯度的随机采样(a) 在完全模式下计算预处理器(b)计算普雷纳在随机模式中我们称这种变体为随机模式ReSprop。我们的研究结果表明,使用随机采样的输出梯度不降低精度的ReSprop相比,平均或全模式。表2显示了验证AC-使用CIFAR-10训练ResNet-18的准确性结果L()下一页-1Input=(前一个月)i随机L()i-1L+1N个输入的平均值=Avg(前一个月)i200个epoch后ReSprop的完整、平均和随机模式变体在每次迭代时存储和使用随机样本的输出梯度向量下面我们使用ReSprop作为随机模式ReSprop的简写。Rs完整(HG)Avg随机百分之五十94 54 ±0。0494 71 ±0。0694 69 ±0。04百分之六十94 38 ±0。0894 58 ±0。0394 66 ±0。07百分之七十94 36 ±0。0394 52 ±0。0494 53 ±0。09百分之八十九十三18±0。16九十三28±0。12九十三51±0。12百分之九十91. 10 ±0。1191. 82 ±0。0791. 43 ±0。11基线:94。42 ±0。08表2. CIFAR-10数据集上ResNet-18的完整、平均和随机Re-Sprop的200个epoch的验证准确性(批量大小= 128,lr =0.1,优化器= SGD,3次运行的平均值)。算法1和2分别示出了ReSprop的前向和后向图4(a)和图4(c)分别示出了在全模式下计算pre_tap和pre_tap_w所需的卷积。我们降低当我们使用随机或平均模式时,在pre-ReSprop中的卷积所需的存储器和计算开销是小批量大小的一个因子。的卷积,随机模式如图4(b)和4(d)所示。为了计算图4(b)中的pre-dropa,从N个样本中选择一个随机输出梯度(K×H×W),并与权重卷积,产生一个样本pre-dropa,然后对所有N个样本重复N类似地,为了计算图4(d)中的prew,从N个样本中选择一个随机输出梯度(K×H×W),并将其整形为所需的形状(K×1×H×W)。由于在随机模式下,我们使用随机样本的输出梯度输出梯度对于用于计算PreDww的所有卷积是相同的。因此,由于卷积的分布特性,我们可以平均输入,然后卷积平均输入与随机梯度样本(图- ure4(d))。图3演示了向前和向后传递的ReSprop。图中的Back-ReSprop框表示稀疏的反向卷积(Alg. 2)。计算机-AvgN(样品)N(样品)CKN(样品)KCCK1554(c) 在全模式下计算预处理时间(d)在随机模式下计算预处理时间-抽动模式图4.在迭代i时,层l的随机模式与全模式的反向传播卷积。前向传递计算的ReSprop开销(pre-ReSprop)如图6所示;对于大于128的批处理大小,此开销小于2%。4.2. 热身Narang等人[45] Zhuet al. [63]表明,与在训练期间保持恒定的稀疏率相比,随着训练的进行逐渐增加稀疏百分比会导致模型最终准确度的下降较小。我们采用相同的方法,并逐渐增加重用稀疏性。 我们将这种方法称为预热ReSprop(W-ReSprop)。在W-ResProp中,我们在第一个m(m×epochs数量)epochs中线性W- ReSprop帮助模型适应梯度重用,并在高重用时显著提高网络精度与基本ReSprop相比,W- ReSprop的结果在第5节中显示并与基础ReSprop进行比较。5. 评价在本节中,我们将介绍ReSprop和W-ReSprop算法的实验结果,这些算法适用于不同的数据集和架构。此外,我们量化了ReSprop的理论计算减少,并模拟了它在支持稀疏反向传播的通用硬件加速器上实现的加速比。5.1. 实验装置我们在PyTorch中实现了ReSprop和W-ReSprop算法[47]。为了评估我们的算法,我们在三个不同的数据集上训练了三种不同的广泛使用的最先进的架构;ResNet- 18,34,50 [19],Wide Residual Networks [61]和VGG- 16 [53]:CIFAR-10、CIFAR-1001555CIFAR-100CIFAR-10Rs算法ResNet34WRN-28-10VGG-16ResNet34WRN-28-10VGG-16百分之五十ReSpropW-ReSprop七十六。02±0. 15七十六。4±0. 1181. 45 ±0。1781. 78 ±0。16七十二58±0。23七十二79±0。21九十五85±0。06九十五91±0。05九十六。58±0。09九十六。93±0。11九十三35±0。18九十三28±0。19百分之六十ReSpropW-ReSprop75. 81 ±0。15七十六。01±0. 12八十44 ±0。1681. 34 ±0。15七十89 ±0。22七十二45±0。22九十五25±0。04九十五41±0。09九十五89±0。11九十六。79±0。07九十三18±0。14九十三26±0。15百分之七十ReSpropW-ReSprop七十三。92±0。1875. 60 ±0。1378岁34 ±0。1181. 09 ±0. 1569岁。76±0。19七十一98±0。23九十五01 ±0.07九十五23±0。09九十五68±0。08九十六。13±0。1592. 63 ±0。1692. 91 ±0。17百分之八十ReSpropW-ReSprop七十76 ±0。1575. 44 ±0。17七十六。87±0 . 01,P<0.05。13八十87 ±0 .01,P<0.05。1466岁。04 ±0.29七十一88±0。2394 17 ±0。0794 96 ±0。13九十三23±0。08九十五93±0。1291. 90 ±0。1892. 64 ±0。17百分之九十ReSpropW-ReSprop69岁。12±0。1375.14 ±0. 1675. 06 ±0. 1080.38 ±0. 17六十五32±0。2171.57 ±0. 2491. 61 ±0。0994.36 ±0. 07九十71 ±0。1595.67 ±0. 11九十01 ±0. 1892.43 ±0. 18基线75. 61 ±0。1681. 29 ±0。17七十二50±0。21九十五13±0。09九十六。30±0。11九十三25±0。15表3.ReSprop和W-ReSprop在CIFAR-10和CIFAR-100上不同重用稀疏约束下的验证准确性[30]和ImageNet ILSVRC 2012 [51]。对于训练,我们使用SGD优化器,动量为0.9,权重衰减为0.0001,初始学习率为0.1,W-ReSprop有5到8个预热阶段。基线是在没有稀疏性或重用的情况下训练的。CIFAR-10和CIFAR-100数据集在单个GPU上训练200个epoch,小批量大小为128。学习率在第80和120个历元处被退火(1/10)倍我们用三种不同的种子运行每个实验,并使用所有结果的平均值。ImageNet数据集在4个GPU(RTX 2080 Ti GPU)上训练了90个epoch,总小批量大小为256个样本。学习率在第30和60个历元处降低了(1/10)超参数的选择如下[19,21]。对于本节中的所有评估,我们使用上述设置,但第5.3节除外,在该节中,我们研究了批量大小影响和计算节点数量对准确度的影响5.2. 精度分析在本节中,我们将全面分析ReSprop和W-ReSprop算法,并评估各种模型的收敛性和鲁棒性。CIFAR 10和CIFAR 100的准确度:表3显示了ReSprop和W-ReSprop算法在CIFAR-10和CIFAR-100数据集上不同重用稀疏百分比下的准确性。 我们可以看到,ReSprop和W-Resprop算法实现了比基线更好的精度,分别具有50%和60%的重用稀疏性。CIFAR-10具有更少的分类类别,对重用梯度更虽然ReSprop算法中重用稀疏度高于70%的准确度下降相当大,但可以通过添加预热阶段来避免。对于CIFAR-10和CIFAR-100,在三种不同的 体 系 结 构 上, W-ReSprop算 法 在 90% 时 损 失 小 于0.95%的验证准确性,在80%的重用稀疏性时损失小于0.7%。Ac-1556ImageNet 上 的 curacy : 表 4 示 出 了 通 过 ResNet 34 、VGG-16和Wide-Resnet-50-2上的ReSprop和W-ReSprop获得的准确度。结果表明,与W-ReSprop和ReSprop算法在重用稀疏度低于70%时优于基线的CIFAR数据集不同,对于50%结果稀疏度的ImageNet数据集,ReSprop和W-ReSprop的准确性损失分别小于0.5%和0.15%。我们观察到,对于CIFAR-100数据集,与基本ReSprop相比,W-ReSprop算法在高重用稀疏度下具有更好的准确性;相同的趋势也适用于Imagenet数据集。W-ReSprop在90%的重用稀疏度下,在所有三个网络中的准确率损失都小于1.1%。为了与W-ReSprop进行公平比较,我们ReSprop-50%RS meProp-50%稀疏ReSprop-70%RS meProp-70%稀疏度W-ReSprop-70%RS W-meProp-70%稀疏基线807060504030201000 10 20 30 40 50 60 70 80时代图 5.ReSprop 、 W-ReSprop 、 me-Prop 和 W-meProp 算 法 在ImageNet数据集上训练ResNet-18的前1名验证精度基线是在没有稀疏性或重用的情况下训练的评估W-meProp,采用预热阶段的meProp算法的变体。图5展示了ReSprop、W-ReSprop、meProp和W-meProp算法在Resnet- 18架构的ImageNet数据集验证曲线表明,验证准确度-前1(%)1557batchSize3264128ReSprop 70%七十二94七十三。48七十三。92W-ReSprop 90%74岁9875.0975.14基线七十六。1275.8875.61表6. ResNet-34在CIFAR-100数据集上的验证准确性,不同批量为32、64和128。表4. ReSprop和W-ReSprop算法在ImageNet数据集上不同重用稀疏性约束下的前1名验证精度。meProp和W-meProp的准确度损失。MeProp在50%稀疏度下的验证准确度为32.56%,而Re-Sprop在50%重用稀疏度下的验证准确度为69.83%,比基线低0.03%。W-Resprop算法在50%的重用稀疏度下获得比基线高0.08%的准确度,并且在70%的重用稀疏度下损失0.7%的可忽略的准确度。5.3. 灵敏度研究深度和广度网络:以前的研究表明,网络深度和宽度影响网络收敛[39,52,48]。在这里,我们研究了深度和宽度对ReSprop算法的影响。 表5示出了在90%重用百 分比下在 CI-FAR 100上的W-Resprop算法的ResNet-18、34和50的准确度。我们从结果中观察到,W-ReSprop收敛到最先进的精度,深度网络的精度损失最小。在90%的重用稀疏性W-ReSprop算法有一个准确性损失为0。17%为ResNet-50。类似地,表3中所示的WRN-28-10的结果显示了使用W-ReSprop算法训练宽网络的轻微准确性损失。ResNet18ResNet34ResNet50W-ReSprop 90%七十三。2675. 15七十六。67基线74岁8475. 61七十六。84表5. ResNet-18、34和50在CIFAR-100数据集上以90%重用稀疏性的验证准确性。批 量 的 影 响 : 在 这 里 , 我 们 探 索 批 量 大 小 对ReSprop准确性的影响。表6表明,ReSprop收敛,不同批量的准确度损失可忽略不计。ReSprop和W-ReSprop算法在较大的批量大小下实现了更高的准确性。这种不确定性可能是包括更多样本的结果,增加了类似特征存在的可能性,从而导致与下一次迭代的梯度的更高相关性跨多个计算节点分发培训:数据并行是一种流行的加速训练的方法[31、49]。为了探索分布式训练对准确性的影响,并且仍然忽略加速,我们对ReSprop进行了评估。Rs算法ResNet34WRN-50-2VGG16百分之五十ReSpropW-ReSprop七十三。08七十三。2178岁6978岁81七十09七十41百分之七十ReSpropW-ReSprop67岁12七十二73七十三。3478岁2568岁73七十011558多个GPU计算梯度更新,然后聚集这些本地计算的更新。下面,我们将重点介绍在一台机器上使用多个GPU进行训练,方法是将输入拆分到指定的GPU上。The ReSprop al-出租(Alg.1和2)在每个GPU上的训练 期 间 独 立 地 应 用 表 7 显 示 了 在 ImageNet 上 训 练ResNet-18的准确性结果由于ReSprop算法应用于每个GPU,因此GPU的数量不会影响使用ReSprop算法训练的模型GPU总数248总批量128256512W-ReSprop 90%68岁7368岁8168岁61基线69岁。2169岁。4569岁。47表7.ResNet-18在2、4和8个节点上训练的ImageNet数据集上的前1名验证准确性5.4. 加速比在本节中,我们将量化ReSprop算法的计算减少、开销和加速。由于我们使用整个训练的5到8个epoch(90-200 epoch)用于预热阶段,因此W-ReSprop的加速将与ReSprop算法相同。自适应阈值:算法复杂度为O(n)。对于每一层,如果(SpHG1)i的重用稀疏性变得小于目标重用稀疏性,则我们将T1减半(等式(5))以强制更多的元素并将更新后的T1值用于下一次迭代。另一方面,如果(SpHG1)i的稀疏性大于目标重用稀疏性,则通过将其加倍来增加T1。为了加速向所需的Tl移动的过程,我们根据CIFAR数据集上ResNet-18、34和50上的输出梯度分布,为所有实验中的所有层选择了10 −7的初始值。我们实验发现,对于给定的层和固定的重用稀疏度,阈值在训练过程中几乎是恒定的。因此,可以在特定次数的迭代之后更新阈值,这减少了计算开销。ReSprop算法中的自适应阈值、矩阵加法和减法的总计算开销对于Imagenet和CIFAR数据集都小于2.5%。ReSprop前开销:如第4节所示,ReSprop算法由pre-ReSprop和back-ReSprop组成。15593.52.51.5ReSprop。Pre-ReSprop可以与原始前向通卷积并行计算。图6绘制了ReSprop在不同批量大小下向前向传递添加的计算开销(根据浮点运算测量)。对于大于128的批大小,此开销小于2%。我们从理论上分析记忆3.5210百分之五十百分之七十百分之九十通过计算需要存储和获取的ReSprop参数来计算足迹前ReSprop计算的结果和前一次迭代的输出梯度的随机样本被存储并用于后ReSprop。我们计算ReSprop内存占用的开销考虑- ING自适应阈值,前ReSprop,和后ReSprop 开 销 。 对 于 批 量 大 小 大 于 128 的 CIFAR 和ImageNet数据集,与不同架构(ResNet 18,34,50和VGG-16)的总模型参数和输入激活的980ResNet18 ResNet34 ResNet50WRN-50-2 VGG16 VGG19图7. ReSprop训练(前向+后向)加速与三个重用稀疏百分比的架构(ImageNet)。ResNet-18WRN-8-2算法加速比加速度↓加速比加速度↓DSG二、23 .第三章。百分之八十八二、3二、百分之七十四W-ReSprop二、70的情况。百分之五十一二、80的情况。百分之四十三表8.与密集训练(CIFAR-10数据集)相比,在90%稀疏度下的验证准确性和训练加速。732656443210ResNet18ResNet34ResNet50WRN-50-2VGG16VGG19128256表9.反向计算的理论和GSCN加速比,结果稀疏度为90%(ImageNet)。ReSprop的演变为了模拟GSCN的性能,我们图6.针对不同批量大小(ImageNet数据集)的前向传递(pre-ReSprop)的ReSprop的计算开销理论加速比:我们通过比较使用和不使用ReSprop的浮点运算的数量,评估了向前和向后传递的计算成本 的 理 论 改 进 。 表 9 的 第 一 行 示 出 了 反 向 传 递 的ReSprop的理论加速。由于ReSprop仅加速向后传递,因此可以使用Amdahl定律[ 4 ]计算理论训练(向前+向后)加速比图7显示了考虑pre-ReSprop开销的总训练加速和阈值化。该分析表明,在90%的重用稀疏度下,ImageNet可以被训练2。5× 3。0×(平均2。7×)使用ReSprop更快。在稀疏训练算法中,DSG使反向传播卷积稀疏化(等式10)。第2和第3段)。表8显示了DSG和W-ReSprop的精度和加速比。W-ReSprop算法在相同稀疏度下具有更高的精度和加速比。降低稀疏梯度和输入的维数是DSG在高稀疏度下精度损失的主要原因。稀疏反向传播加速器:我们修改了SCNN [46]以支持反向传播卷积,并将由此产生的架构称为通用稀疏卷积加速器(GSCN)。我们给GSCN提供稀疏的信号正向传递中的ReSProp开销(%)加速比ResNet18ResNet34VGG-16理论9 .第九条。839 .第九条。689 .第九条。34GSCN+基线1 .一、321 .一、811 .一、271560主要依赖于DNNsim周期级模拟器[14]。我们扩展这个模拟器,以支持GSCN。表9显示了通过在GSCN上运 行 标 准 训 练 ( 第 二 行 ) 和 ReSprop 算 法 ( 第 三行),与GTX 1080 ti GPU相比,我们可以在GSCN加速器上获得的加速比。6. 结论这项工作提出了Reuse-Sparsified Backpropagation,通过在训练过程中重用梯度来实现更快的训练。ReSprop使反向卷积稀疏化,同时向正向传递添加最小的计算开销。Re-Sprop和W-ReSprop可用于训练常见的网络架构,达到平均2. 7倍的整体训练加速,模型精度当运行在通用卷积加速器上时致谢我们感谢Mohammad Jafari的讨论和评论,以及Aamir Raihan 、 Francois De-moulin 、 Deval Shah 和Dave Evans的反馈。这项研究部分由加拿大国家科学与工程研究委员会(NSERC)战略网络资助的新兴智能传感应用计算硬件(COHESA)项目资助,资助号为NETGP 485577 -15。1561引用[1] JorrgeAlbericio , AlbertoDelma's , PatrickJudd ,SayehShar-ify,Gerard比特实用深度神经网络计算。第50届IEEE/ACM国际微体系结构研讨会论文集,第382-394页。ACM,2017。1[2] Jorge Albericio,Patrick Judd,Tayler Hetherington,TorAamodt ,Natalie Enright Jerger 和Andreas Moshovos。Cn- vlutin:无无效神经元的深度神经网络计算。在2016年IEEE。在ACM/IEEE计算机体系结构国际会议,第10卷,2016年。1[3] Zeyuan Allen-
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功