Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • 参数隔离

  • 样本回放

  • 正则化

    • Survey
    • LwF
      • Abstract
      • Introduction
      • Related Work
      • Method
      • Experiments
      • Conclusion
      • Reference
  • 混合

  • Prompt

  • PaperNotes
  • 正则化
Geeks_Z
2022-12-27
目录

LwF

Learning without Forgetting

Paper: arxiv (opens new window) | 2016 ECCV

Code: github

Abstract

Introduction

Related Work

Method

图片

上图展示了一个具有多头网络结构的模型学习新任务的不同策略,其中(a)为已经训练好的基于 CNN 的原始模型, θs表示不同任务共享的 CNN 参数,θo表示与原始任务相关的 MLP 参数,当加入一个新的分类任务时,我们可以增加一个随机初始化的 MLP 参数θn 。基于$\theta_s $ θo 来学习θn的方法包括如下几类:

  • 微调(Fine-tuning):微调没有旧任务参数和样本的指导,因此模型在旧任务上的表现几乎一定会变差,也就是发生灾难性遗忘。
  • 联合训练(Joint Training):联合训练相当于在所有已知数据上重新训练模型,效果最好,因此通常被认为是**「增量学习的性能上界」**,但训练成本太高。
  • 特征抽取(Feature Extraction):特征抽取只训练 θn,共享参数θs没有得到更新,虽然不影响模型在旧任务上的表现,但不能有效捕获新任务独有的特征表示,在新任务上的表现通常不如人意。

LwF 算法是介于联合训练和微调训练之间的训练方式,LwF 的特点是它不需要使用旧任务的数据也能够更新 。LwF 算法的主要思想来自于 knowledge distillation,也就是使新模型在新任务上的预测和旧模型在新任务上的预测相近。

具体来说,LwF 算法先得到旧模型在新任务上的预测值,在损失函数中引入新模型输出的蒸馏损失,然后用微调的方法在新任务上训练模型,从而避免新任务的训练过分调整旧模型的参数而导致新模型在旧任务上性能的下降。算法流程如下图所示,其中λ0用于权衡模型的稳定性和可塑性。

图片

但是,这种方法的缺点是高度依赖于新旧任务之间的相关性,当任务差异太大时会出现任务混淆的现象(inter-task confusion),并且一个任务的训练时间会随着学习任务的数量线性增长,同时引入的正则项常常不能有效地约束模型在新任务上的优化过程。

Experiments

Conclusion

Reference

  • PPT (opens new window)
上次更新: 2024/07/05, 15:24:13
Survey
Survey

← Survey Survey→

最近更新
01
LLM_架构
06-26
02
Transformer_FFN
06-26
03
LoRA变体
06-24
更多文章>
Theme by Vdoing | Copyright © 2022-2024 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式