模型压缩剪枝蒸馏量化

开源项目与资源

  • PaddleSlim是百度提出的模型优化工具,包含在PaddlePaddle框架中,支持若干知识蒸馏算法,可以在teacher网络和student网络任意层添加组合loss,包括FSP loss,L2 loss,softmax with cross-entropy loss等。
    PaddleSlim Github
    PaddleSlim Docs

  • Distiller是Intel基于Pytorch开源的模型优化工具,支持Hinton等人提出的Knowledge distillation算法。
    Intel Distiller Docs
    Intel Distiller Github

  • 目标检测开源项目
    mmdetection

  • 百度多目标追踪开源项目
    Paddle Multi Object Tracking

  • 百度目标检测开源项目
    PaddlleDetection

  • 模型压缩资源集合

  • 知识蒸馏综述Github

  • 二值、量化综述Github

剪枝

  • L1NormFilterPruner

paper: https://arxiv.org/abs/1608.08710

该策略使用l1-norm统计量来表示一个卷积层内各个Filters的重要性,l1-norm越大的Filter越重要。

  • FPGMFilterPruner

论文: https://arxiv.org/abs/1811.00250

该策略通过统计Filters两两之间的几何距离来评估单个卷积内的Filters的重要性。直觉上理解,离其它Filters平均距离越远的Filter越重要。

  • SlimFilterPruner

论文: https://arxiv.org/pdf/1708.06519.pdf

该策略根据卷积之后的batch_normscales来评估当前卷积内各个Filters的重要性。scale越大,对应的Filter越重要。

  • OptSlimFilterPruner

论文: https://arxiv.org/pdf/1708.06519.pdf

蒸馏

  • 知识蒸馏综述项目,包括相关的论文合集,也包括一些开源算法的实现
    https://github.com/dkozlov/awesome-knowledge-distillation

  • Knowledge-Distillation-Zoo是GitHub用户AberHu蒸馏的知识蒸馏项目,支持fitnet等多个模型。
    https://github.com/AberHu/Knowledge-Distillation-Zoo

  • fitnet算法
    https://github.com/adri-romsor/FitNets

  • 针对目标检测的Paddle Distill

  • Tann et al., 2017, Mishra and Marr, 2018 and Polino et al., 2018 are some works that combine knowledge distillation with quantization.

  • Theis et al., 2018 and Ashok et al., 2018 combine distillation with pruning

    Hokchhay Tann, Soheil Hashemi, Iris Bahar and Sherief Reda. Hardware-Software Codesign of Accurate, Multiplier-free Deep Neural Networks. DAC, 2017

    Asit Mishra and Debbie Marr. Apprentice: Using Knowledge Distillation Techniques To Improve Low-Precision Network Accuracy. ICLR, 2018

    Antonio Polino, Razvan Pascanu and Dan Alistarh. Model compression via distillation and quantization. ICLR, 2018

    Anubhav Ashok, Nicholas Rhinehart, Fares Beainy and Kris M. Kitani. N2N learning: Network to Network Compression via Policy Gradient Reinforcement Learning. ICLR, 2018

    Lucas Theis, Iryna Korshunova, Alykhan Tejani and Ferenc Huszár. Faster gaze prediction with dense networks and Fisher pruning. arxiv:1801.05787

量化Quantization

  • 二值、量化综述Github

  • Post-training quantization of trained full-precision models, dynamic and static (statistics-based)

  • Automatic mechanism to transform existing models to quantized versions, with customizable bit-width configuration for different layers. No need to re-write the model for different quantization methods.

  • quantization-aware training

模型压缩

训练时: quantization-aware training + distillation
训练后: 剪枝 + 量化

Multi Object Tracking

当前主流的Tracking By Detecting方式的多目标追踪(Multi-Object Tracking, MOT)算法主要由两部分组成:Detection+Embedding。Detection部分即针对视频,检测出每一帧中的潜在目标。Embedding部分则将检出的目标分配和更新到已有的对应轨迹上(即ReID重识别任务)。根据这两部分实现的不同,又可以划分为SDE系列和JDE系列算法。

  • SDE(Separate Detection and Embedding)这类算法完全分离Detection和Embedding两个环节,最具代表性的就是DeepSORT算法。这样的设计可以使系统无差别的适配各类检测器,可以针对两个部分分别调优,但由于流程上是串联的导致速度慢耗时较长,在构建实时MOT系统中面临较大挑战。

  • JDE(Joint Detection and Embedding)这类算法完是在一个共享神经网络中同时学习Detection和Embedding,使用一个多任务学习的思路设置损失函数。代表性的算法有JDE和FairMOT。这样的设计兼顾精度和速度,可以实现高精度的实时多目标跟踪。

这两个系列的3种多目标跟踪算法,分别是SDE系列的DeepSORT和JDE系列的JDE与FairMOT。

你可能感兴趣的:(剪枝,深度学习,机器学习)