模型压缩(Model compression)

前言

深度神经网络(DNN)有个很大的缺点就是计算量太大。为克服这类问题,研究人员在两方面做了工作。
第一,使用高性能硬件加速;
第二,使用模型压缩(Model compression)。

我们这里讲的就是软件的方法,即模型压缩。

模型压缩的方法:

  • 网络剪枝(Network Pruning)
  • 量化(Quantization)
  • 低秩分解(Low-rank factorization)
  • 知识蒸馏(Knowledge distillation)

网络剪枝(Network Pruning)

研究的核心问题就是:如何有效地裁剪模型参数且最小化精度的损失

网络剪枝可以分为 结构化剪枝(Structured pruning)非结构化剪枝(Unstructured pruning) 两类。

目的:

  • 减小内存开销,提升运行速度
  • 减小模型文件大小

这位大佬讲得真的好!点击阅读


量化(Quantization)

模型量化的基本思想就是用更低精度来代替原浮点精度。

量化最核心的挑战是如何在减少表示精度的同时不让模型的准确度掉下来,即在压缩率与准确率损失间作trade-off。

同一位大佬的解读!点击阅读


低秩分解(Low-rank factorization)

秩可以度量相关性,而矩阵的相关性实际上就表示矩阵的结构信息。
如果矩阵之间各行的相关性很强,那么就表示这个矩阵实际可以投影到更低维的线性子空间,也就是用几个向量就可以完全表达,那么它就是低秩的。
特性:
1)在解决稀疏矩阵问题时可以通过矩阵分解发现数据的潜在结构
2)矩阵分解拥有优雅的概率解释
3)它可以轻易地结合特定领域的先验知识完成扩展,因此能适应现实世界中的各种问题
4)许多的优化算法能(如随机梯度下降方法)被应用于此去发现一个更好的解决方案。


知识蒸馏(Knowledge distillation)

基于“教师-学生网络思想”的训练方法,将已经训练好的模型包含的知识(”Knowledge”),蒸馏(“Distill”)提取到另一个模型里面去。

Teacher—Student模型,其中teacher是“知识”的输出者,student是“知识”的接受者。

知识蒸馏的过程分为2个阶段:

  • 原始模型训练: 训练"Teacher模型", 简称为Net-T,它的特点是模型相对复杂,也可以由多个分别训练的模型集成而成。我们对"Teacher模型"不作任何关于模型架构、参数量、是否集成方面的限制,唯一的要求就是,对于输入X, 其都能输出Y,其中Y经过softmax的映射,输出值对应相应类别的概率值。
  • 精简模型训练: 训练"Student模型", 简称为Net-S,它是参数量较小、模型结构相对简单的单模型。同样的,对于输入X,其都能输出Y,Y经过softmax映射后同样能输出对应相应类别的概率值。
  • 13
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模型压缩是指通过一系列技术手段来减小神经网络模型的尺寸和计算复杂度,以便在资源受限的设备上进行部署和推理。其中,知识蒸馏是一种常用的模型压缩方法之一。知识蒸馏的过程分为两个阶段:原始模型训练和精简模型训练。在原始模型训练阶段,训练一个复杂的"Teacher模型",它可以由多个分别训练的模型集成而成,对输入进行分类并输出相应类别的概率值。在精简模型训练阶段,训练一个参数量较小、模型结构相对简单的"Student模型",它同样可以对输入进行分类并输出相应类别的概率值。通过将"Teacher模型"的知识转移到"Student模型"中,"Student模型"可以在尺寸和计算复杂度上得到压缩,同时保持较高的性能。除了知识蒸馏,模型压缩的其他方法还包括网络剪枝、量化和低秩分解等。另外,神经网络二值化是一种更为极致的模型压缩方法,它将所有的权值用二进制数表示,从而大大减小模型尺寸。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [模型压缩Model compression)](https://blog.csdn.net/weixin_38072029/article/details/111357992)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [深度学习网络压缩模型方法总结(model compression)](https://blog.csdn.net/weixin_30617737/article/details/98228382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值