模型优化算法——AutoSlim

AutoSlim是一种one-shot模型优化方法,通过训练slimmable model确定每一层通道数以达到最佳精度。它基于nonuniform US-Net,解决了网络slimming问题,降低了使用剪枝技术的复杂度。在ImageNet上,AutoSlim能在保持精度的同时优化FLOPs或latency。
摘要由CSDN通过智能技术生成

概述

AutoSlim是一种one-shot模型优化方法,只要给定网络类型(如MobileNet-v1,ResNet50),给定限制条件(如Flops、latency等),就能自动决定每一层的通道数,以达到最优的模型精度。该优化方法打破了人工设计模型的“half size, double channel”的假设,解决了需要人为评估模型每一层敏感度,人为设置剪枝层/剪枝层类型的痛点,降低了使用剪枝技术的门槛和学习成本。

AutoSlim的算法流程图如下:

628ec65255800c0b4a4c362c6ccae2db.png

  1. 需要给出一个网络结构

  2. 训练一个slimmable model作为supernet,这里的slimmable model是指nonuniform universally slimmable networks,即所有层的通道不是通过一个统一的width ratio来进行调节。训练的epochs数大约为常规训练的20%-50%。

  3. 在验证集上,采用贪婪的方式,使用已训练好的supernet进行前向推理,迭代评估,最后找到满足限制条件,同时精度降低最小的网络,这个网络成为子网。更具体的说,greedily slim是指在一次迭代中,将每一层的通道进行分组,每一组是一个channel bin,尝试剪去每一层的最后一个channel bin,查看前向推理精度,精度最高的那层剪去最后一个channel bin,如此循环,直到满足限制条件。通过分组的方式可以减小搜索空间。

  4. 重新训练一个或多个子网。

该算法基于一个假设:作为supernet的slimmable model可以作为已知通道配置的独立训练的网络的精度评估器。

slimmable networks原理

AutoSlim在slimmable networks的基础上发展起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux基金会AI&Data基金会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值