当前位置: 首页 > news >正文

零基础学网站建设 知乎ps做图下载网站有哪些

零基础学网站建设 知乎,ps做图下载网站有哪些,做钢丝绳外贸的网站,58网站一起做网店文章目录摘要1、简介2、相关工作3、方法3.1、神经网络中的依赖关系3.2、依赖关系图3.3、使用依赖图剪枝4、实验4.1、设置。4.2、CIFAR的结果4.3、消融实验4.4、适用任何结构剪枝5、结论摘要 论文链接#xff1a;https://arxiv.org/abs/2301.12900 源码#xff1a;https://gi… 文章目录摘要1、简介2、相关工作3、方法3.1、神经网络中的依赖关系3.2、依赖关系图3.3、使用依赖图剪枝4、实验4.1、设置。4.2、CIFAR的结果4.3、消融实验4.4、适用任何结构剪枝5、结论摘要 论文链接https://arxiv.org/abs/2301.12900 源码https://github.com/VainF/Torch-Pruning 结构剪枝通过从神经网络中去除结构分组参数来实现模型加速。然而参数分组模式在不同的模型之间差异很大这使得依赖于手动设计的分组方案的特定于体系结构的剪枝器对新的体系结构无法通用。在这项工作中我们研究了一个极具挑战性但很少探索的任务任何结构剪枝以解决任意架构的一般结构剪枝如cnn, rnn, gnn和变形金刚。实现这一雄心勃勃的目标最突出的障碍在于结构耦合它不仅迫使不同的层同时被剪枝而且还期望被删除的组中的所有参数始终不重要从而避免剪枝后的显著性能下降。为了解决这一问题我们提出了一种通用的全自动方法——依赖图(DepGraph)以显式地建模层之间的相互依赖关系和全面的组耦合参数。在这项工作中我们在几个架构和任务上广泛评估了我们的方法包括用于图像的ResNe(X)t, DenseNet, MobileNet和Vision transformer用于图形的GAT用于3D点云的DGCNN以及用于语言的LSTM并证明即使使用简单的L1 norm准则所提出的方法也始终产生令人满意的性能。 1、简介 近年来边缘计算应用的出现要求对深度神经网络进行压缩[16,22,57]而压缩深度神经网络的良好效果往往是以繁琐的网络架构为代价的[10,17,48]。在众多的网络压缩范式中剪枝被证明是非常有效和实用的[7,11,29,30,41,54,55,66]。网络剪枝的目标是从给定的网络中去除冗余参数以减轻其规模并可能加快推断。主流的剪枝方法大致可以分为两种方案结构剪枝[4,28,63]和非结构剪枝[8,13,41]。两者的核心区别在于结构剪枝通过物理去除分组参数来改变神经网络的结构而非结构剪枝在不修改网络结构的情况下对部分权重进行归零。与非结构剪枝相比结构剪枝不依赖于特定的AI加速器或软件来减少内存消耗和计算成本从而在实践中找到了更广泛的应用领域[35,61]。 然而结构剪枝本身的性质使其本身成为一项具有挑战性的任务特别是对于具有耦合和复杂内部结构的现代深度神经网络。其基本原理在于深度神经网络建立在大量的基本模块上如卷积、归一化或激活而这些模块无论是否参数化都通过复杂的连接内在耦合[17,23]。因此即使我们试图从CNN中删除一个频道(如图1(a)所示)我们也必须不可避免地同时考虑它与所有层的相互依赖性否则我们最终会得到一个破碎的网络。准确地说剩余连接要求两个卷积层的输出共享相同数量的通道从而迫使它们被剪枝在一起[20,37,63]。如图1(b-d)所示在变形金刚、rnn和gnn等其他体系结构中描述的其他网络体系结构上的结构剪枝也是如此。 不幸的是依赖性不仅出现在剩余结构中在现代模型中可能是无限复杂的[23,43]。现有的结构方法很大程度上依赖于个案分析来处理网络中的依赖关系[28,37]。尽管取得了有希望的结果但这种特定于网络的剪枝方法是费时的。此外这些方法不能直接推广这意味着手工设计的分组方案不能转移到其他网络族甚至同一家族的网络架构中这反过来又极大地限制了其在野外条件下的工业应用。 在本文中我们努力为任何结构剪枝提供一个通用方案其中任意网络架构上的结构剪枝以自动方式执行。我们方法的核心是估计依赖图(DepGraph)它显式地模拟神经网络中配对层之间的相互依赖关系。我们引入DepGraph进行结构剪枝的动机来自于观察到在一层的结构剪枝有效地“触发”了相邻层的剪枝这进一步导致了如图1(a)所示的链式效应{BN2←Conv⁡2→BN1→Conv⁡1}\left\{\mathrm{BN}_{2} \leftarrow \operatorname{Conv}_{2} \rightarrow \mathrm{BN}_{1} \rightarrow \operatorname{Conv}_{1}\right\}{BN2​←Conv2​→BN1​→Conv1​}。因此为了跟踪不同层之间的相互依赖关系我们可以将依赖关系链分解为一个递归过程这个递归过程自然可以归结为在图中寻找最大连接组件的过程通过图遍历可以以O(N)复杂度求解。具体来说对于网络中的待剪枝层我们可以将其作为根来触发相邻耦合层上的剪枝然后继续以被触发层为起点递归地重复触发过程。通过这样做可以全面收集所有耦合层以进行剪枝。 另外值得注意的是在结构剪枝中对分组的层同时进行剪枝这就要求被移除的组中的参数始终不重要这就给现有的针对单个层设计的重要性标准带来了一定的困难[20,26,28,39]。确切地说单个层中的参数重要性由于与其他参数化层的纠缠而不再显示正确的重要性。在不同层上估计的重要性可能是不可加的有时甚至是自相矛盾的这使得很难选择真正不重要的组进行剪枝。为了解决这个问题我们充分利用了由DepGraph支持的依赖项建模的综合能力来学习组内一致的稀疏性因此可以安全地删除那些归零的稀疏性而不会对性能造成太大的影响。通过依赖模型我们在实验中表明一个简单的L1范数准则可以达到与现代方法相当的性能。 为了验证DepGraph的有效性我们将所提出的方法应用于几个流行的架构包括cnn[23,37]、transformer[10]、RNNs[12,50]和GNNs[52]与最先进的方法[7,31,54,63]相比在这些架构中实现了具有竞争力的性能。对于CNN剪枝该方法在CIFAR上得到2:57×加速ResNet-56模型准确率为93.64%优于原模型的93.53%。在ImageNet-1k上我们的算法在ResNet-50上达到了比2×speed-up更多的性能只有0.32%的性能损失。更重要的是我们的方法可以很容易地移植到各种流行的网络包括ResNe(X)t [37,59]DenseNet [23] VGG [48] MobileNet [45] GoogleNet[51]和Vision Transformer[10]并展示了令人满意的结果。此外我们还对非图像神经网络进行了进一步的实验包括用于文本分类的LSTM[12]用于3D点云的DGCNN[56]用于图形数据的GAT[52]我们的方法实现了8 ~ 16倍的加速性能没有明显下降。 总之我们的贡献是针对任何结构剪枝的通用剪枝方案称为依赖图(DepGraph)它允许自动参数分组并有效地提高了结构剪枝在各种网络架构(包括cnn, rnn, gnn和视觉变形器)上的通用性。 2、相关工作 结构和非结构剪枝。剪枝在网络加速领域取得了巨大的进展[2,19 - 21,28,32,36]。根据剪枝方案主流的剪枝方法可以分为两种结构剪枝[4,28,31,63,63]和非结构剪枝[8,27,41,46]。结构剪枝去除结构分组的参数以降低神经网络的维数而非结构剪枝在不修改网络结构的情况下对部分权重进行归零。具体来说非结构化剪枝易于实现并且自然地可以推广到各种网络。但它通常依赖于特定的AI加速器或软件来实现模型加速。另一方面结构剪枝技术通过从网络中去除结构参数来减少模型规模和推理成本但受到结构约束的限制[28,35]。在文献中剪枝算法的设计空间包括但不限于剪枝方案[21,36]、参数选择[20,40,41]、层稀疏性[26,46]和训练协议[44,54]。其中参数选择是最重要的课题之一。在过去几年中人们提出了大量技术上合理的标准如基于幅度的标准[20,26,62]或基于梯度的标准[31,34]。另一种方法是通过稀疏训练来区分不重要的参数[7,32]将一些参数推到零进行剪枝。与静态准则相比稀疏训练更容易找到不重要的参数但由于需要网络训练因此需要消耗更多的计算资源。 剪枝分组参数。依赖关系建模是任何结构剪枝的关键和前提步骤因为它涉及同时删除由于复杂的网络架构而在结构上相互耦合的参数[28,31,35,63,68]。剪枝分组参数的概念早在结构剪枝的早期就被研究了[28,32,36]。例如当剪枝两个连续的卷积层时剪枝第一层内的过滤器会导致删除后续层[28]中与该过滤器相关的内核。一旦网络架构被提出参数的分组是确定的并且可以单独分析每个参数就像在以前的大多数工作中所做的那样[28,35,63]。然而这种人工设计的方案不可避免地不能转移到新的架构上这限制了结构剪枝在野外条件下的应用。最近一些试点工作被提出以解决层之间的复杂关系并利用分组特性来提高结构剪枝性能[31,63]。不幸的是现有的技术仍然依赖于经验规则或强大的体系结构假设这对于任何结构剪枝来说都不够普遍。作为这项研究的一部分我们提出了一个解决这个问题的一般框架并证明了寻址参数分组可以为剪枝带来显著的好处。 3、方法 3.1、神经网络中的依赖关系 在这项工作中我们专注于在参数依赖限制下的任何神经网络的结构剪枝。在不丧失通用性的情况下我们在全连接(FC)层上开发了我们的方法。让我们从图2 (a)所示的由三个连续层组成的线性神经网络开始分别由2- d权重矩阵wlw_{l}wl​, wl1w_{l1}wl1​和wl2w_{l2}wl2​参数化。这个简单的神经网络可以通过去除神经元进行结构剪枝而变得纤细。在这种情况下很容易发现参数之间出现了一些依赖关系表示为wl⇔wl1w_{l} \Leftrightarrow w_{l1}wl​⇔wl1​这迫使wlw_{l}wl​和w_{l1}同时被剪枝。具体来说剪枝连接wlw_{l}wl​和w_{l1}的第k个神经元两者都是wl[k,:]w_{l}[k,:]wl​[k,:]和wl1[:,k]w_{l1}[:, k]wl1​[:,k]将被裁减。 在文献中研究人员使用手工设计和模型特定的方案处理层依赖性并在深度神经网络上实现结构剪枝[21,28]。然而有许多种类的依赖关系如图2 (b-d)所示。在某种程度上以逐案的方式手动分析所有这些依赖关系是难以处理的更不用说可以嵌套或组合简单的依赖关系来形成更复杂的模式了。为了解决结构剪枝中的依赖关系问题本文引入了依赖关系图它提供了一种通用的、全自动的依赖关系建模机制。 3.2、依赖关系图 分组。为了实现结构剪枝我们首先需要根据相互依赖性对不同的层进行分组。形式上我们的目标是找到一个分组矩阵G∈RL×LG \in R^{L \times L}G∈RL×L其中L表示待剪枝网络的深度Gij1G_{i j}1Gij​1表示第i层和第j层之间存在依赖关系。为了方便我们让Diag⁡(G)11×L\operatorname{Diag}(G)\mathbf{1}^{1 \times L}Diag(G)11×L来实现自我依赖。利用分组矩阵很容易找到那些与第i层相互依赖的耦合层即找到组g(i)g(i)g(i): g(i){j∣Gij1}(1)g(i)\left\{j \mid G_{i j}1\right\} \tag{1} g(i){j∣Gij​1}(1) 然而从神经网络中估计群体通常不是简单的因为现代深度网络可能由数千个具有复杂连接的层组成导致一个大而密集的分组矩阵g。在这个矩阵中GijG_{ij}Gij​不仅由第i层和第j层决定而且还受到连接它们的中间层的影响。这种非局部关系不显式大多数情况下不能用简单的规则处理。在这方面我们没有直接估计分组矩阵G并提出了一种等效但易于估计的方法即依赖图从中可以有效地推导出G。 依赖图。首先让我们考虑一个组g{w1,w2,w3}g \left\{w_{1}, w_{2}, w_{3}\right\}g{w1​,w2​,w3​}有依赖关系w1⇔w2,w2⇔w3w_{1} \Leftrightarrow w_{2}, w_{2} \Leftrightarrow w_{3}w1​⇔w2​,w2​⇔w3​和w1⇔w3w_{1} \Leftrightarrow w_{3}w1​⇔w3​。在这个依赖关系建模中很容易发现一些冗余即依赖关系w1⇔w3w_{1} \Leftrightarrow w_{3}w1​⇔w3​可以从w1⇔w2w_{1} \Leftrightarrow w_{2}w1​⇔w2​和w2⇔w3w_{2} \Leftrightarrow w_{3}w2​⇔w3​推导出来。具体来说我们可以将此推导建模为一个递归过程:我们可以将w1作为起点并检查它对其他层(例如w1⇔w2w_{1} \Leftrightarrow w_{2}w1​⇔w2​)的依赖关系。此外w2提供了递归扩展依赖项的新起点这将进一步“触发”w2⇔w3w_{2} \Leftrightarrow w_{3}w2​⇔w3​。这个递归过程最终以一个传递关系w1⇔w2⇔w3w_{1} \Leftrightarrow w_{2}\Leftrightarrow w_{3}w1​⇔w2​⇔w3​结束。在这种情况下我们只需要两个依赖项来描述g组中的关系。同样第3.2节中讨论的分组矩阵也包含大量冗余可以压缩成一个更紧凑的矩阵具有更少的边但关于层依赖项的信息相同。在这项工作中我们证明了测量相邻层之间的局部相互依赖关系的图D称为依赖图可以有效地约简分组矩阵G。D与G的不同之处在于它只记录具有直接连接的相邻层之间的依赖关系。实际上依赖图可以看作是G的传递约简[1]G包含相同的顶点但从G的边尽可能少以至于当Gij1G_{ij} 1Gij​1时D中i到j之间存在一条路径。因此可以通过检查D中顶点i和j之间是否存在路径来推导GijG_{ij}Gij​。 网络分解。然而我们发现在层级别上构建依赖关系图是有问题的因为一些基本层如全连接层有两种剪枝方案就像第3.1节提到的那样。除了这些参数化的层神经网络还包含诸如跳过连接等非参数化操作这也会影响层之间的依赖关系[37]。我们表明这些问题可以通过开发一个新的符号来描述网络来补救。具体来说我们分解一个网络F(x;w)\mathcal{F}(x ; w)F(x;w)先进入基本层记为F{f1,f2,…,fL}\mathcal{F}\left\{f_{1}, f_{2}, \ldots, f_{L}\right\}F{f1​,f2​,…,fL​}其中每个f指一个参数化层(如卷积)或一个非参数化层(如ReLU)。我们不再对层级关系建模而是将重点放在层输入和输出之间的细粒度关系上。具体地说我们将fif_{i}fi​的输入和输出分别称为fi−f_{i}^{-}fi−​和fif_{i}^{}fi​。对于任何网络我们都可以得到网络的精细-大分解即F{f1−,f1,…,fL−,fL−}\mathcal{F}\left\{f_{1}^{-}, f_{1}^{}, \ldots, f_{L}^{-}, f_{L}^{-}\right\}F{f1−​,f1​,…,fL−​,fL−​}。使用这种符号依赖关系建模将变得更容易因为它允许我们用不同的方案剪枝输入fi−f_{i}^{-}fi−​和输出fif_{i}^{}fi​。 依赖关系建模。利用这一符号我们将神经网络重新绘制为公式2从中我们可以发现两种一般依赖关系即层间依赖关系和层内依赖关系如下所示: (f1−,f1)↔(f2−⏟Inter-later Dep ,f2)⋯↔(fL−,fL)⏟Intra-layer Dep (2)(f_{1}^{-}, \underbrace{\left.f_{1}^{}\right) \leftrightarrow\left(f_{2}^{-}\right.}_{\text {Inter-later Dep }}, f_{2}^{}) \cdots \leftrightarrow \underbrace{\left(f_{L}^{-}, f_{L}^{}\right)}_{\text {Intra-layer Dep }} \tag{2} (f1−​,Inter-later Dep f1​)↔(f2−​​​,f2​)⋯↔Intra-layer Dep (fL−​,fL​)​​(2) 其中↔\leftrightarrow↔表示相邻两层之间的连通性。我们可以用非常简单的规则来检测这些依赖关系: 层间依赖:依赖fi−⇔fjf_{i}^{-} \Leftrightarrow f_{j}^{}fi−​⇔fj​总是出现在fi−↔fjf_{i}^{-} \leftrightarrow f_{j}^{}fi−​↔fj​的连接层中。层内依赖:依赖fi−⇔fif_{i}^{-} \Leftrightarrow f_{i}^{}fi−​⇔fi​当且仅当fi−f_{i}^{-}fi−​和fif_{i}^{}fi​共享相同的剪枝方案时存在记为sch⁡(fi−)sch⁡(fi)\operatorname{sch}\left(f_{i}^{-}\right)\operatorname{sch}\left(f_{i}^{}\right)sch(fi−​)sch(fi​)。 如果已知网络的拓扑结构层间依赖关系就很容易估计。对于连接的fi−↔fjf_{i}^{-} \leftrightarrow f_{j}^{}fi−​↔fj​层依赖关系始终存在因为fi−f_{i}^{-}fi−​和fjf_{j}^{}fj​在这种情况下对应于网络的相同中间特征。下一步是阐明层内依赖关系。层内依赖关系要求同时剪枝单个层的输入和输出。网络中有许多层满足这个条件例如批处理规范化或按元素划分的操作其输入和输出被剪枝在一起。这种现象主要是由于输入和输出之间的共享剪枝方案即sch⁡(fi−)sch⁡(fi)\operatorname{sch}\left(f_{i}^{-}\right)\operatorname{sch}\left(f_{i}^{}\right)sch(fi−​)sch(fi​)。如图3所示批处理归一化是逐个元素的操作其输出和输入具有相同的剪枝方案。当涉及到卷积等层时它们的输入和输出会以不同的方式剪枝即w[:,k,:,:]w[:, k,:,:]w[:,k,:,:]和w[k,:,:,:]w[k,:,:,:]w[k,:,:,:]如图3所示得到sch⁡(fi−)≠sch⁡(fi)\operatorname{sch}\left(f_{i}^{-}\right) \neq \operatorname{sch}\left(f_{i}^{}\right)sch(fi−​)​sch(fi​)。在这种情况下像卷积这样的层的输入和输出之间不存在依赖关系 使用上述规则我们可以形式化依赖关系建模如下: D(fi−,fj)1[fi−↔fj]⏟Inter-layer Dep ∨1[ij∧sch(fi−)sch⁡(fj)]⏟Intra-layer Dep (3)D\left(f_{i}^{-}, f_{j}^{}\right)\underbrace{1\left[f_{i}^{-} \leftrightarrow f_{j}^{}\right]}_{\text {Inter-layer Dep }} \vee \underbrace{1\left[ij \wedge s c h\left(f_{i}^{-}\right)\operatorname{sch}\left(f_{j}^{}\right)\right]}_{\text {Intra-layer Dep }} \tag{3} D(fi−​,fj​)Inter-layer Dep 1[fi−​↔fj​]​​∨Intra-layer Dep 1[ij∧sch(fi−​)sch(fj​)]​​(3) 其中∨\vee∨和∧\wedge∧表示逻辑“或”和“与”操作1是一个指示函数如果条件成立则返回“True”。第一项研究了网络连接引起的层间依赖关系第二项研究了层内依赖关系这是由共享剪枝方案在层输入和输出之间引入的。值得注意的是DepGraph是一个具有D(fi−,fj)D(fj,fi−)D(f_{i}^{-},f_{j}^{})\,\,D(f_{j}^{},f_{i}^{-})D(fi−​,fj​)D(fj​,fi−​)。因此我们可以检查所有输入和输出对来估计依赖关系图。作为结论我们在图3中可视化了一个DepGraph示例。公式1和2总结了图构造和参数分组的算法。 3.3、使用依赖图剪枝 在前面的章节中我们建立了一个分析神经网络依赖关系的通用方法产生了几个组{g1,g2,…,gL}\left\{g_{1}, g_{2}, \ldots, g_{L}\right\}{g1​,g2​,…,gL​}与不同的小组规模。估计分组参数的重要性是一项具有挑战性的任务。给定一个预先定义的标准如LpL_pLp​ Norm KaTeX parse error: Undefined control sequence: \cal at position 2: {\̲c̲a̲l̲ ̲I}(w)\,||w||_{… 一个自然的解决方案是将聚合分数I(g) Pw2g I(w)忽略不同层之间的分布差异。不幸的是在单个层上独立估计的重要性分数很可能是不可靠的有时还会相互冲突因为经过剪枝的组可能同时包含重要的和不重要的权重。为了解决这个问题我们引入了一种简单但足够通用的方法它利用DepGraph的分组能力来全面稀疏每个组内的所有参数化层包括但不限于卷积、批量归一化和全连接层。如图4 ©所示我们的目标是在所有分组层上学习一致的稀疏性同时将一些维度归零。我们将分组参数平化并合并为一个大参数矩阵wg其中wg [k]检索属于第k个可重构维的所有参数如CNN块的第k个通道。现在一致的稀疏性可以通过简单的加权收缩来提升: R(g,k)∑w∈wg[k]γk∥w∥22(4)\mathcal{R}(g, k)\sum_{w \in w_{g}[k]} \gamma_{k}\|w\|_{2}^{2} \tag{4} R(g,k)w∈wg​[k]∑​γk​∥w∥22​(4) 其中γk\gamma_{k}γk​对不同的尺寸赋予不同的收缩强度。我们使用一个简单而可控的指数策略来确定γ\gammaγ如下: γk2α(Igmax⁡−Ig,k)/(Igmax⁡−Igmin⁡)(4)\gamma_{k}2^{\alpha\left(I_{g}^{\max }-I_{g, k}\right) /\left(I_{g}^{\max }-I_{g}^{\min }\right)} \tag{4} γk​2α(Igmax​−Ig,k​)/(Igmax​−Igmin​)(4) 其中Ig,kI_{g, k}Ig,k​为k维的总得分IgI_{g}Ig​为各组的重要性得分向量。超参数α控制收缩强度范围从[20,2α]\left[2^{0}, 2^{\alpha}\right][20,2α]。在这项工作中我们使用α4\alpha4α4的所有实验。值得注意的是强收缩将被分配给那些不重要的维度以迫使一致的稀疏性。在稀疏训练后我们使用归一化分数I^gk×Ig/∑{top−k(Ig)}\hat{I}_{g} k \times I_{g} / \sum\left\{\right. top-k \left.\left(I_{g}\right)\right\}I^g​k×Ig​/∑{top−k(Ig​)}来去除参数这揭示了这些重要维度的相对分数。在这项工作中我们展示了这样一个简单的剪枝方法当与依赖关系建模相结合时可以达到与现代方法相当的性能。 4、实验 4.1、设置。 本文以基础分类任务为重点使用CIFAR[25]和ImageNet[3]进行图像分类PPI[14]进行图形分类ModelNet[58]进行3D点云分类AGNews[67]进行文本分类等多种数据集进行了大量实验。对于每个数据集我们使用最具代表性的架构来评估我们的方法包括ResNe(X)t [37,59] VGG [48] DenseNet [23] MobileNet [45] GoogleNet [51] Vision transformer [10]LSTM [12] DGCNNs[56]和Graph Attention Networks[52]。为了进行ImageNet实验我们使用Torchvision[38]的现成模型并为其他数据集预训练我们自己的模型。剪枝后模型按照与预训练类似的配置进行微调但学习率更小迭代次数更少。关于超参数的详细信息可以在补充材料中找到。 4.2、CIFAR的结果 性能。CIFAR[25]是一个微型图像数据集广泛用于验证剪枝算法的有效性。我们根据已有工作[7,54]在CIFAR-10上剪枝一个ResNet-56在CIFAR-100上剪枝一个VGG网络如表1所示。我们比较了剪枝模型的精度以及剪枝前原始模型的精度和理论估计的加速比()。注意像ResRep [7] GReg[54]这样的基线也部署稀疏训练进行剪枝。我们的算法与现有基于稀疏性的算法之间的一个关键区别是我们在所有分组层上一致地促进稀疏包括我们实验中的卷积、批量归一化和全连接层。通过这种改进我们能够充分利用分组结构来学习更好的稀疏模型从而提高剪枝精度。 组稀疏。如前所述一致的稀疏群对于剪枝很重要。我们可视化了使用我们的方法和基线方法学习到的不同组的稀疏性基线方法在不考虑层的分组特征的情况下独立地稀疏层。分组参数的L2范数如图5所示。很容易发现我们的方法在组层面产生了很强的稀疏性而基线方法并没有产生一致的重要性尽管每一层都已经局部稀疏化了。特别是组#0包含两种算法都难以稀疏的浅层因此不会进行严格的剪枝。值得注意的是我们的算法能够与更强大的稀疏学习技术相结合如增长正则化[54]或重新参数化[7]但在本文中我们只考虑简单的范数剪枝器以使我们的方法尽可能一般地处理不同的网络。 4.3、消融实验 分组策略。为了进一步验证分组的有效性我们在各种卷积网络上评估了不同的分组策略。策略主要包括: 1)不分组:在单个卷积层上独立执行稀疏学习和重要性评估; 2)纯卷积分组:组内所有卷积层以一致的方式稀疏化。 3)全分组:一个组内的所有可训练层如卷积、批处理归一化和全连接层一致地稀疏化。 如表2所示当我们忽略神经网络中的分组信息孤立地稀疏每一层时我们的方法的性能会显著下降在某些情况下甚至会因为过度剪枝而崩溃。从convononly分组的结果来看在组中加入更多的参数有利于最终的性能但是组中一些有用的信息仍然被忽略了。采用全分组策略可以进一步提高剪枝精度。 层稀疏。在剪枝方面层稀疏性被认为是一个重要的设计空间它决定了剪枝神经网络的结构。表2还提供了一些关于层稀疏性的有用结果。这项工作主要集中在两种类型的稀疏性:均匀稀疏性和学习稀疏性。使用均匀稀疏性神经网络被均匀缩放假设冗余分布均匀。然而图5中先前的实验表明不同的层并不具有相同的可重构性。在大多数情况下习得稀疏性优于均匀稀疏性如表2所示。因此我们允许稀疏性学习算法自己确定层的稀疏性。 DepGraph的泛化性。表2中的结果也证明了我们的框架的可泛化性它能够处理各种卷积神经网络。此外我们强调了我们的方法与DenseNet和GoogleNet兼容这是一种包含密集连接和并行结构的网络。在下面的小节中我们将进一步演示我们的框架适用于更多的体系结构。 4.4、适用任何结构剪枝 可视化的DepGraph。由于分组参数的复杂性剪枝大型神经网络可能具有挑战性。然而使用依赖关系图所有这些组都很容易获得不需要任何额外的人力。我们在图6中可视化了DenseNet-121[23]、ResNet-18和Vision transformer[10]的依赖关系图以及派生分组。这个分组矩阵是由方法中描述的依赖关系图导出的其中G[i;J] 1表示第i层和第J层在同一组。DenseNet-121表现出来自同一致密块的层之间的高度相关性这导致在结构剪枝过程中出现大的耦合组。当涉及复杂网络时所提出的依赖关系图将是非常重要的因为很难分析这些网络中的所有依赖关系。 ImageNet。表3展示了在ImageNet上对几种架构的剪枝结果包括ResNet、DenseNet、MobileNet、ResNeXt和Vision transformer。这项工作的目的不是为各种模型提供最先进的结果因此我们没有在稀疏学习和重要性估计中引入太多强大的技术。相反我们展示了一个简单的L1范数当与依赖模型相结合时可以实现与使用强大标准[31,63]或更好的训练技术[54]的现代方法相当的性能。此外我们的方法对于实际应用中的各种网络具有足够的通用性。 文本3D点云图形和更多。除了cnn和Transformer我们的方法也很容易适用于其他架构。这部分包括对文本、图形、3D点云等多种数据的实验如表4所示。我们利用LSTM进行文本分类通过研究DepGraph在递归结构上的有效性其中参数化层由于元素级操作而耦合。DepGraph还在包含3D点云耦合聚合操作的动态图cnn上进行了测试。此外我们用图形数据进行实验这需要完全不同于用于其他任务的架构。在这个实验中我们专注于图注意网络的加速每个GNN层中都有几个耦合层。考虑到在这些数据集上剪枝工作的不足我们将DepGraph与cnn中的一些经典剪枝方法结合起来建立所有基线。我们的结果表明我们的方法确实可以推广到各种各样的体系结构。 5、结论 在这项工作中我们引入了依赖图来实现各种神经网络上的任何结构剪枝。据我们所知我们的工作是第一次尝试开发一种通用算法可以应用于各种架构包括cnn、rnn、gnn和transformer。虽然我们的方法可以处理大多数深度学习结构但也有一些异常情况例如ShuffleNet中的洗牌操作需要在未来进一步研究。
http://www.hkea.cn/news/14487577/

相关文章:

  • 简单flash个人网站东莞市人力资源网官网
  • 网站开发费用算无形资产在线网页设计器
  • 三合一网站管理系统国美在线网站域名建设
  • 博罗中山网站建设南京正规小程序开发公司
  • 南昌建网站单位如何建设与维护网站
  • 响应式设计网站seo哪家公司好
  • 网站的宣传推广方式网站设计与开发培训
  • 百度给做网站公司wordpress 删除插件
  • 网站百度无排名sae 网站备案信息
  • 哪里可以做营销型网站施工企业安全生产管理体系案例
  • h5效果展示网站濮阳网站怎么做seo
  • 如何跑网站建设业务哪些网站可以做微课
  • 西安住房建设局网站首页合肥网站建设费用
  • 郑州陆港开发建设有限公司网站wordpress视频不全屏播放
  • 酒店类的电影网站模板网站建设招标需求
  • 制作网站网络科技公司网站建设 思路
  • 网站源码还可以做授权么wordpress the_content() 不显示
  • 邢台网站建设要多少钱深圳网络营销方法
  • 企业网站优化分为两个方向怎么样建设一个网上教学网站
  • 大丰做网站哪家公司好企业网站建设论文
  • wordpress中文建站深圳通信管理局网站
  • 网站建设客户定位wordpress修改功能小工具栏
  • 优质做网站公司网站建设与管理logo
  • 兼职python做网站有关大学生做兼职的网站有哪些
  • 交通运输局网站建设方案广州做手机网站信息
  • 网站首图怎么做常宁网站建设
  • 鲜花网站建设的总体目标建设银行征信中心个人信用查询官方网站
  • 网站建设报价单表格模板网站建设需要什么工具
  • 论文网站建设格式网站设计是不是会要用代码做
  • 郑州网站制作开发天津网站建设设计费用