YAOTU INSIGHTS

FedViT: Federated continual learning ofvision transformer at edge文献阅读

FedViT: Federated continual learning ofvision transformer at edge文献阅读
IntroductionScalable client-side solution through the knowledge of signature tasks.通过签名任务k的知识实现可扩展的客户端解决方案High-accuracy model training via gradient integration.通过梯度积分进行高精度的模型训练。Convergence proof and evaluation.收敛证明和评价。灾难性遗忘。客户端进行持续学习的一个主要问题是灾难性遗忘当模型随时间学习新任务时它可能遗忘此前学到的任务信息模型在这些任务上的精度随之下降。负知识迁移。每个客户端拥有自己私有的任务序列。当所学习的任务彼此无关时其数据集是严重非独立同分布non-IID的。当某客户端的模型在联邦学习中与其他客户端的模型进行聚合时这种分歧构成了重大挑战。其他客户端模型中的不相似知识可能降低该模型在其专长本地数据上的性能。ViT is a computation-intensive and>ViT 是一种计算密集型且数据消耗巨大的模型。如果训练 ViT 时迭代次数不足或数据样本量不够会导致准确率相当低使其无法作为该任务的知识来源而值得信赖。此外存储大量样本或模型权重会显著增加客户端上 ViT 模型的训练成本。挑战一 — Limitedcomputational resourceslead to significant accuracy losses挑战二 — Preventing negative knowledge transfer causes highcommunication costsandprivacy leakageRelated workContinual learning. three categories:(1)memory rehearsaluses a memory cache to store the samples of previous tasks and use them in learning the new task to avoid forgetting. Hence their computational costs increase with the number of tasks.记忆回放方法缓存存储先前任务的样本在学习新任务时使用这些样本。(2)Regularization-based techniquesestimate different parameters/weights’ contributions to a model and maintain part of information in important weights when learning new tasks.基于正则化估计不同参数/权重对模型的贡献在学习新任务时于重要权重中保留部分信息。(3)Dynamic architectural techniquesdesign different models for different tasks and solve catastrophic forgetting by isolating part of the model parameters.动态架构为不同任务设计不同的模型隔离部分模型参数来解决灾难性遗忘。Vision Transformer (VIT)Data efficient ViTs either incorporate with convolutional operations to make ViTs training on small scale dataset or distill knowledge from a pretrained CNN teacher.数据高效的ViT要么与卷积操作相结合以便在小型数据集上训练ViT要么从预训练的CNN“教师”模型中蒸馏知识。Computational efficient ViTs adopt different space reduction methods to progressively shrink the dimension of features.计算效率高的ViT模型采用不同的维度缩减方法以逐步缩减特征的维度。FESTAMethodFedVIT作用于每个联邦客户端由三部分构成knowledge extractor 知识提取器存下能代表旧任务的那部分内容防止学新忘旧存下来的东西必须能快速变回可用于约束模型的方向能算出有意义的梯度gradient restorer 梯度恢复器利用提取出的知识在学习新任务时维持模型在旧任务上的精度gradient integrator 梯度积分器signature task knowledge 签名任务知识 为核心特色两阶段训练、只有body参与Suppose the knowledge of m previously learned tasks are retained (m≥1), FedViT trains ViT models using r aggregation rounds. Each round consists of two parts: local training with v training iterations and global aggregation with the central server. The v iterations contain two stages: (1) fine-tuning the ViTs head (classifier) weights by freezing the body (composed of tokenizer and transformer encoder), (2) training the body weights combined with m old tasks knowledge. When aggregating global model on server and updating local model on client, only the ViTs body participates.假设已保留 m 个先前学习任务的知识m≥1FedViT 使用r 个聚合轮次训练 ViT 模型。每一轮包含两部分v 次训练迭代的本地训练以及与中心服务器进行的全局聚合。这 v 次迭代包含两个阶段(1) 冻结body由patch tokenizer分词器和 Transformer 编码器组成微调ViT的head线性分类器权重(2)结合 m 个旧任务的知识训练 body 权重。在服务器上聚合全局模型、在客户端更新本地模型时只有 ViT 的 body 参与。该训练范式利用了 ViT 的可分解性以及其 Transformer 编码器对分布偏移的鲁棒性使得body 始终学习跨任务信息而head 只负责任务特定信息的提取。head学本任务特有的类别判别body学跨任务通用特征用被梯度积分器改造过的梯度 ĝ约束就是知识提取器存下的那些样本 M₁…M_m梯度恢复器把它们变成梯度 g₁…g_m再从中挑 k 个最不相似的作为约束。eg5.2 节 r 10 个通信轮次、v 6 次本地迭代轮次 r1──┬─ 本地迭代 1 ─ 阶段(1) 调 head├─ 本地迭代 1 ─ 阶段(2) 训 body├─ 本地迭代 2 ─ 阶段(1)(2)├─ ... 共 6 次└─ 上传 body 给服务器 → 聚合 → 下载新 body三个设计目标Lightweight and scalable method.轻量且可扩展的方法。知识提取器存储每个任务的知识即该任务训练样本的一个子集。梯度恢复器将每个任务的知识转换为一个梯度 g它可以帮助 ViT 模型在学习新任务时快速恢复从先前任务保留下来的知识。Catastrophic forgetting prevention.防止灾难性遗忘。输出一个与所有输入梯度都成锐角的积分梯度 ĝ。用几何语言来说这意味着使用梯度 ĝ 更新模型不会增大任何输入梯度所代表任务的损失。Negative knowledge transfer prevention.防止负知识迁移。以聚合前的梯度 gbm1,i 和聚合后的梯度 gam1,i 为输入输出与两者都成锐角的积分梯度 ĝm1,i。知识提取器图 3. 样本提取过程根据当前模型产生的损失值对每个类别 Ci 内的样本进行升序排序步骤 1然后在每个类别中选择损失值最低的 10%依据 δ样本予以保留步骤 2。最终提取的知识与完整样本集保持相同的类别分布。loss −log( p_correct )该方法构建的样本子集知识其类别分布与原数据集一致保留了该任务样本的多样性同时确保每个类别都包含最适应本任务模型的样本保证了样本对该任务的重要性。梯度恢复器该组件将保存的样本知识{M1, M2, ..., Mm} 转换为与旧任务相关的梯度即 {g1, g2, ..., gm}。由于这些样本最适应旧任务模型并保持了旧任务的类别分布在它们上计算出的梯度能够包含这些任务的隐含知识。随着任务数量增加FedViT 只选择与任务 tm1 的梯度最不相似的 k 个梯度夹角最大。也就是说这些梯度与 gm1 之间的距离例如Wasserstein 距离最大。在训练中只计算被选中的这 k 个梯度以节省计算开销。梯度积分器梯度积分器旨在找到一个旋转后的梯度 ĝ它能在降低当前任务 tm1 损失的同时不增大其签名任务最不相似任务/来自其他客户端的损失。在防止灾难性遗忘时这些任务是 tm1 最不相似的 k 个任务在防止负知识迁移时它们是来自其他客户端的任务。这要求 ĝ 与这些任务的任一梯度 gi 之间的夹角为锐角。如果 tm1 的原始梯度 gm1 不满足上述要求积分器就致力于最小化 ĝ 与 gm1 之间的旋转角从而最大化对任务 tm1 的学习。形式上设 G {g1 到 gk} 为先前梯度的集合积分器采用二次规划求解该优化问题时间复杂度为多项式级。Gĝ ‖G‖‖ĝ‖cos θ ≥ 0 G 中任一梯度与 ĝ 之间的夹角 θ 为锐角ĝ Gᵀv gm1积分梯度由历史梯度的非负线性组合与原梯度相加得到在第 2 轮的第 2 次迭代中梯度积分器计算 g4 与两个被选梯度之间的夹角发现 g4 与 g1 之间的夹角为钝角。这意味着直接按照梯度 g4 更新模型权重会增大任务 t1 的损失函数并降低该任务的精度。因此积分器求解二次规划问题找到最小的旋转角来调整 g4。在5 类异构边缘设备Jetson TX2、Nano、Xavier NX、AGX 以及Raspberry Pi上测试 FedViT结论结论关键数据防遗忘最好suffering from theleast catastrophic forgettingover all the evaluated baselines精度提升随任务数放大相对 11 个基线的平均精度提升从14.43% → 127.49%任务越多提升越大通信大幅降低reduces communication cost by61.55%带宽 100 KB/s 时最多省9.5 小时论文链接FedViT: Federated continual learning of vision transformer at edge - ScienceDirect备注联邦学习层技术原文依据FedAvg 聚合both our approach and other baseline methods employs thestandard FedAvg methodin federated learning客户端采样采样率 0.4网格搜索空间 {0.1, 0.2, 0.4, 0.6}FedRep 的数据划分方式We followed the setup ofFedRepto implement the federated continual learning dataset distribution分布知识保留机制而非集中式our approach employs adistributed knowledge retaining mechanismthat each client only uses its own knowledge to retain previous tasks模型与训练层技术说明ViT6 层标准架构trained on a6-layer ViT model, which has the same architecture design as the standard ViT model8 种 SOTA ViTDeiT、CaiT、CvT、LeViT、PvT、PiT、Swin、T2T为了适配小分辨率数据集改了参数如 DeiT 的 image size 224→32、patch size 16→4body/head 分解冻结 body 微调 head聚合时只有 body 参与AdamW 优化器lr 0.0005weight decay 0.05取自 DeiT 的搜索空间网格搜索调超参客户端采样率、通信轮次 {5,10,15}、本地迭代 {2,6,10,15}最终配置每任务10 个通信轮、采样率 0.4、6 次本地迭代数据集CIFAR100、FC100、CORe50、MiniImageNet、TinyImageNet切成 10~50 个任务。