• [NLP]—sparse neural network代表性工作简述


    前言

    ICLR 2019 best paper《THE LOTTERY TICKET HYPOTHESIS: FINDING SPARSE, TRAINABLE NEURAL NETWORKS》提出了彩票假设(lottery ticket hypothesis):“dense, randomly-initialized, feed-forward networks contain subnetworks (winning tickets) that—when trained in isolationreach test accuracy comparable to the original network in a similar number of iterations.”

    而笔者在[文献阅读] Sparsity in Deep Learning: Pruning and growth for efficient inference and training in NN也(稀烂地)记录了这方面的工作。

    本文打算进一步简述一些代表性的工作。另外,按照“when to sparsify”,这方面工作可被分为:Sparsify after training、Sparsify during training、Sparse training,而笔者更为关注后两者(因为是end2end的),所以本文(可能)会更加关注这两个子类别的工作。

    《THE LOTTERY TICKET HYPOTHESIS: FINDING SPARSE, TRAINABLE NEURAL NETWORKS》ICLR 19

    在这里插入图片描述

    步骤:

    • 初始化完全连接的神经网络θ,并确定裁剪率p
    • 训练一定步数,得到θ1
    • 从θ1中根据参数权重的数量级大小,裁剪掉p的数量级小的权重,并将剩下的权重重置成原来的初始化权重
    • 继续训练

    代码

    • tf:https://github.com/google-research/lottery-ticket-hypothesis
    • pt:https://github.com/rahulvigneswaran/Lottery-Ticket-Hypothesis-in-Pytorch

    《Rigging the Lottery: Making All Tickets Winners》ICML 20

    在这里插入图片描述
    步骤:

    • 初始化神经网络,并预先进行裁剪。预先裁剪的方式考虑:
      • uniform:每一层的稀疏率相同;
      • 其它方式:层中参数越多,稀疏程度越高,使得不同层剩下的参数量总体均衡;
    • 在训练过程中,每ΔT步,更新稀疏参数的分布。考虑drop和grow两种更新操作:
      • drop:裁剪掉一定比例的数量级小的权重
      • grow:从被裁剪的权重中,恢复相同比例梯度数量级大的权重
      • drop\grow比例的变化策略:
        在这里插入图片描述
        其中,α是初始的更新比例,一般设为0.3。

    特点:

    • 端到端
    • 支持grow

    代码

    • tf:https://github.com/google-research/rigl
    • pt:https://github.com/varun19299/rigl-reproducibility

    《Do We Actually Need Dense Over-Parameterization? In-Time Over-Parameterization in Sparse Training》ICML 21

    提出了In-Time Over-Parameterization指标:
    在这里插入图片描述
    认为,在可靠的探索的前提下,上述指标越高,也就是模型在训练过程中探索了更多的参数,最终的性能越好。
    所以训练步骤应该和《Rigging the Lottery: Making All Tickets Winners》类似,不过具体使用的Sparse Evolutionary Training (SET)——《A. Scalable training of artificial neural networks with adaptive sparse connectivity inspired by network science》,它的grow是随机的。这样选择是因为:

    SET activates new weights in a random fashion which naturally considers all possible parameters to explore. It also helps to avoid the dense over-parameterization bias introduced by the gradient-based methods e.g., The Rigged Lottery (RigL) (Evci et al., 2020a) and Sparse Networks from Scratch (SNFS) (Dettmers & Zettlemoyer, 2019), as the latter utilize dense gradients in the backward pass to explore new weights

    特点:

    • 探索度

    代码:https://github.com/Shiweiliuiiiiiii/In-Time-Over-Parameterization

    《EFFECTIVE MODEL SPARSIFICATION BY SCHEDULED GROW-AND-PRUNE METHODS》ICLR 2022

    做法:

    • CYCLIC GAP:
      在这里插入图片描述

      • 把模型分成k份,每一份(?)都按照r的比例随机稀疏化。
      • 初始时,把其中一份变为稠密
      • 持续k步,步间隔为T个epoch。每一步将稠密的那一份稀疏化(magnitude-based),把那一份的下一份变为稠密。
      • k步以后,将剩下的那一份稠密的稀疏化,然后微调。
    • PARALLEL GAP:k份,k节点,每一份在不同节点上都是稠密的。

    特点:

    • 扩大了探索空间
    • 做了wmt14 de-en translation的实验

    代码:https://github.com/Shiweiliuiiiiiii/In-Time-Over-Parameterization

    《LEARNING PRUNING-FRIENDLY NETWORKS VIA FRANK-WOLFE: ONE-SHOT, ANY-SPARSITY, AND NO RETRAINING》ICLR 2022

  • 相关阅读:
    运维面试k8s 问道一个k8s工作节点有啥
    网络安全大厂面试真题库(求职必备!)
    [SpringBoot系列]NoSQL数据层解决方案
    图片水印怎么加?图片加水印方法分享
    JVM 基础篇:类加载器
    深度学习的数学基础
    SD3403/SS928 视频采集调试记录
    使用VC++设计程序使用邻域平均平滑算法、中值滤波算法、K近邻均值滤波器(KNNF)进行滤波
    PHP代码审计DVWA[XSS (DOM)]
    NP3 格式化输出(一)
  • 原文地址:https://blog.csdn.net/jokerxsy/article/details/125525575