TinyTL: Reduce Activations, Not Trainable Parameters for Efficient On-Device Learning

本文提出TinyTL,一种针对高效设备学习的微转移学习方法,通过冻结预训练特征提取器的权重,仅更新偏差来减少内存占用。文章详细探讨了如何通过LiteResidualLearning精细化中间特征图,以在保持模型容量的同时降低内存消耗。研究还涉及了归一化层的选择和特征提取器的自适应性应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TinyTL: Reduce Activations, Not Trainable Parameters for Efficient On-Device Learning

  • 论文链接:https://arxiv.org/pdf/2007.11622.pdf
  • 源码链接:https://hub.yzuu.cf/mit-han-lab/tinyml/blob/master/tinytl/README.md

简介

具有丰富传感器的智能边缘设备在日常生活中无处不在。这些设备每天都通过传感器不断收集新的敏感数据,同时有望在不牺牲的隐私的情况下提供高质量定制服务。这些对高效的人工智能系统提出了新的挑战,这些系统不仅可以运行推理,还可以根据新收集的数据不断微调预训练的模型(即设备训练)。

有很多有效的推理技术可以减少可训练参数数量和计算FLOPs,然而参数有效或FLOPs有效技术并不能直接节省训练内存。制约训练内存的是激活层,而不是参数。例如如图1右比较了ResNet-50和MobileNetV2-1.4。就参数大小而言,MobileNetV2-14比ResNet-50小4.3倍。然而,对于训练激活大小,MobileNetV2-1.4与ResNet-50几乎相同(仅小1.1倍),导致内存减少很少。减少反向传播所需的中间激活大小是至关重要的,这是高效设备上训练关键内存瓶颈。

本文提出了微小迁移学习(Tiny-Transfer-Learning,TinyTL)解决这一挑战。通过分析反向过程中的内存占用,注意到只有更新权重时才需要中间激活(主要瓶颈),而不是偏差。受此启发,本文提出冻结预训练的特征提取器的权重,只更新偏差以减少内存占用(如图2b所示)。为了补偿容量损失,本文引入了一种称为lite residual module的存储高效偏差模块,该模块通过细化特征提取器的中间特征图提高模型容量(如图2c所示)。同时积极缩小lite residual module的分辨率和宽度,以获得较小的内存开销(仅3.8%)。
在这里插入图片描述

本文方法

理解后向传播的内存占用

不失一般性的,考虑由一系列层组成的神经网络 M \mathcal{M} M
M ( ⋅ ) = F w n ( F w n − 1 ( … F w 2 ( F w 1 ( ⋅ ) ) … ) ) \mathcal{M}(\cdot)=\mathcal{F}_{\mathbf{w}_{n}}(\mathcal{F}_{\mathbf{w}_{n-1}}( \ldots\mathcal{F}_{\mathbf{w}_{2}}(\mathcal{F}_{\mathbf{w}_{1}}(\cdot))\ldots)) M()=Fwn(Fwn1(Fw2(Fw1())))
w i \mathbf{w}_{i} wi是第i层的参数。 a i , a i + 1 \mathbf{a}_{i},\mathbf{a}_{i+1} ai,ai+1是第i层的输入和输出激活。后向传播时,给定 ∂ L ∂ a i + 1 \frac{\partial \mathcal{L}}{\partial \mathcal{a}_{i+1}} ai+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qgh1223

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

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

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

打赏作者

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

抵扣说明:

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

余额充值