Generative Models from the perspective of Continual Learning【小白读论文】

news2024/11/15 19:31:42

在这里插入图片描述
摘要:
本文在持续学习情况下评估各种生成模型。
本文研究了几种模型如何学习和遗忘,并考虑了各种持续学习策略:回放、正则化、生成重放和微调。 我们使用两个定量指标来估计生成质量和记忆能力。 我们在三个常用的持续学习基准(MNIST、Fashion MNIST 和 CIFAR10)上对 sequential 任务进行了实验。 我们发现,在所有模型中,原始 GAN 表现最好,在持续学习策略中,生成重放优于所有其他方法。

相关工作:
从一项任务微调到下一项任务的简单方法会导致灾难性遗忘,即无法保持先前任务的初始性能。
相关的解决方法主要有四种

  1. 回放(rehearsal)。保留以前任务的样本,使用以前任务的样本以克服遗忘。不能用于无法获得先前任务数据的场景,且存储样本所需的内存随着任务数量线性增长。
  2. 正则化。正则化限制权重更新,以保留先前任务中的知识,从而避免遗忘。常用的正则化方法有EWC,EWC估计权重的重要性并相应地调整正则化,目前已有EWC的扩展,如在线EWC。另一种正则化方法是蒸馏,它将以前学到的知识转移到新模型中,使模型能够同时了解先前的任务和当前的任务。
  3. 使用动态架构来保留过去的知识并学习新知识。如渐进式神经网络、LWF(learning without forgetting)和 PathNet。
  4. 生成重放。使用生成模型用于先前任务的样本。也叫伪回放(pseudo-rehearsal)。

生成模型的持续学习(现有方法):
1、将EWC应用于条件GAN(仅适用于CGAN)。
2、变分持续学习(VCL),它使变分推理适应于持续学习。从一项任务到另一项任务在线更新。仅在 VAE 上进行实验。
3、在 VAE 上使用学生教师方法,学生学习当前任务,而教师保留知识。
4、VASE,也仅在VAE上进行了实验,它将备用表示能力分配给新知识,同时通过使用先前模型的权重来保护先前学习到的知识免遭灾难性遗忘。
5、生成重放方法。它适用于对抗性框架和变分框架。它使用两种生成模型:一种充当存储器,能够生成所有过去任务的数据,另一种学习从所有过去的任务和当前任务生成数据。它主要用作判别模型持续学习的方法。
6、记忆重放GAN(Memory Replay GANs),将先前知识从条件生成器转移到当前知识的蒸馏方案。然而这种方法会导致模式崩溃,因为它可能有利于学习生成少量的类实例而不是更广泛的类实例。

实验:
寻找最佳的生成模型和 CL 策略的组合。 在各种生成模型上比较了几种现有的 CL 策略,目的是找到最适合持续学习的生成模型。
评价指标:
①FID指标:真实样本和生成样本越相似,FID越低。
②拟合能力:生成器 G(GAN 或 VAE)生成的标记样本来训练分类器,然后根据实际数据对其进行评估。这种评估称为 G 的拟合能力,是测试 G 生成的样本训练的分类器的准确性。它衡量生成器训练出能够在测试集上泛化良好的分类器的能力,即生成器拟合测试集分布的能力。该方法旨在评估数据复杂特征的生成模型,而不仅仅是其特征分布。

实验中使用的生成模型有:GAN,CGAN,WGAN,WGAN-GP,VAE,CVAE
CL策略有:

  • 回放(rehearsal),为每个任务保留固定数量的样本,并将这些样本添加到当前生成模型的训练集中
  • EWC,对于GAN,仅对生成器的权重应用惩罚,对于 VAE,我们对编码器和解码器都应用惩罚。 当任务按顺序呈现时,将新矩阵累加到前一个矩阵来更新Fisher信息矩阵的对角线。
  • 生成重放(Generative replay),“冻结”生成模型 G t − 1 G_{t−1} Gt1 用于从先前学习的分布中进行采样,而“当前”生成模型 G t G_{t} Gt 用于学习当前分布和 G t − 1 G_{t−1} Gt1 分布。 当任务结束时, G t − 1 G_{t−1} Gt1 G t G_{t} Gt的副本替换,学习继续。

结论:
实验表明,在 MNIST 和 Fashion MNIST 上,原始 GAN 结合 Generative Replay 方法特别有效。该方法通过使用生成器作为存储器来从先前的任务中进行采样,从而保留过去的知识,从而避免灾难性遗忘。我们还发现,生成模型在 CIFAR10 上的表现不够好,无法持续学习。
方法局限性:依赖于任务边界是离散的并且由用户给出的设置。在未来的工作中,我们计划研究任务边界的自动检测,或者尝试任务之间更平滑的过渡,而不是不相交的任务设置。

如有错误,请多包涵!欢迎交流!!😀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2150506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ08_保证消息可靠性

保证消息可靠性 一、生产者可靠性1、生产者重连机制(防止网络波动)2、生产者确认机制Publisher Return 确认机制Publisher Confirm 确认机制 二、MQ 可靠性1、数据持久化交换机、队列持久化消息持久化 2、Lazy Queue 惰性队列 三、消费者可靠性1、消费者…

新媒体运营

一、新媒体运营的概念 1.新媒体 2.新媒体运营的五大方向 用户运营 产品运营 。。。 二、新媒体的岗位职责及要求 三、新媒体平台

【redis-01】redis基本数据类型和使用场景

redis系列整体栏目 内容链接地址【一】redis基本数据类型和使用场景https://zhenghuisheng.blog.csdn.net/article/details/142406325 redis基本数据类型和使用场景 一,redis基本数据类型和使用场景1,String数据类型2,Hash数据类型3&#xff…

嵌入式linux系统中rk3588芯片引脚基本操作

第一:开发板中linux系统对应设备节点 进入用户 LED 设备文件夹: 1cd /sys/class/leds/usr_led该目录下的文件分别为 brightness、device、max_brightness、power、subsystem、trigger 和 uevent,需要注意的是 brightness、max_brightness 以及 trigger 文件,这三个文件都是…

共享单车轨迹数据分析:以厦门市共享单车数据为例(五)

先来聊聊啥是共享单车电子围栏? 共享单车电子围栏是一种基于地理位置技术的虚拟边界,用于管理和规范共享单车的停放和使用。这种技术通过在地图上划定特定区域,帮助用户了解哪些地方可以停车,哪些地方不能停车,从而减…

网关登录校验(2)----网关如何将用户信息传递给微服务

1.微服务获取用户信息 现在,网关已经可以完成登录校验并获取登录用户身份信息。但是当网关将请求转发到微服务时,微服务又该如何获取用户身份呢? 由于网关发送请求到微服务依然采用的是Http请求,因此我们可以将用户信息以请求头…

【数据结构】假设二叉树采用二叉链表存储,编写一棵二又树中序遍历的非递归算法。

编程题: 假设二叉树采用二叉链表存储,编写一棵二又树中序遍历的非递归算法。 分析: 算法描述: 非递归中序遍历二叉树的算法使用栈来辅助实现。首先,从根节点开始,沿着左子树不断向下, 将每个节点压入栈中。当到达最左端节点后,开始出栈并访问节点,接着转向右子树,重…

【Kubernetes知识点】HPA如何控制不同的资源实现自动扩缩容?

【Kubernetes知识点】HPA如何控制不同的资源实现自动扩缩容? 目录 1 概念 1.1 什么是HPA1.2 Deployment 与 HPA 的关系 1.2.1 工作原理 1.3 StatefulSet 与 HPA 的关系 1.3.1 工作原理 2 实验案例:HPA 控制 StatefulSet 进行扩缩容 2.1 部署一个有状态…

7--SpringBoot-后端开发、原理详解(面试高频提问点)

目录 SpringBoot原理 起步依赖 自动配置 配置优先级 Bean设置 获取Bean 第三方Bean SpringBoot原理 内容偏向于底层的原理分析 基于Spring框架进行项目的开发有两个不足的地方: 在pom.xml中依赖配置比较繁琐,在项目开发时,需要自己去找…

使用Anaconda安装pyTorch

1.Anaconda简介 Anaconda 是一个流行的 Python 数据科学和机器学习平台,它简化了包管理和部署,使得安装、运行和升级包及其依赖变得非常容易。Anaconda 通过其内置的 Conda 包和环境管理器,提供了一个强大的环境,用于科学计算&…

OpenAI GPT o1技术报告阅读(3)-英文阅读及理解

✨继续阅读报告:使用大模型来学习推理(Reason) 原文链接:https://openai.com/index/learning-to-reason-with-llms/ 这次我们继续看一个英文阅读理解的案例。 原问题: The following passage is the draft of an excerpt from a contempora…

springboot调用python脚本实现ocr图片文字识别功能

OCR简介: OCR(Optical Character Recognition),即光学字符识别,是一种利用计算机自动识别和解析图像中的文字信息的技术。它能够将纸质文档、图片、照片等载体上的文字信息转化为计算机可编辑和处理的文本数据。 一,准备工作 1,java环境 2,springboot项目 3,python环境 …

【二级C语言考试】自定义数据类型

C语言二级考试——自定义数据类型 十、结构体(即“结构”)与共同体(即“联合”) 用 typedef说明一个新类型。结构体和共用体类型数据的定义和成员的引用。通过结构体构成链表,单向链表的建立,结点数据的输出…

Java中ArrayList和LinkedList的比较

注:Joshua Bloch 就是 LinkedList 的作者 在Java中,ArrayList和LinkedList都是常用的列表实现类,它们都实现了List接口,但在内部工作原理和性能方面有显著差异。 ArrayList:基于动态数组实现。随着元素的增加&#x…

小新-13 2019 Intel款IML版【81UQ】原装出厂Win10系统镜像下载

恢复lenovo联想开箱状态,自带预装OEM系统安装包 链接:https://pan.baidu.com/s/1wwPriBoIwNOAfL-YcX1F7g?pwdg7ki 提取码:g7ki 联想原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软…

如何联系真正的开发者而非公司??

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…

T9-猫狗识别2(暂时版qaq)

T9周:猫狗识别2 **一、前期工作**1.设置GPU,导入库2.导入数据3.查看数据 **二、数据预处理**1.加载数据2.可视化数据3.配置数据集 **三、构建CNN网络模型****四、编译模型****五、训练模型****六、模型评估****七、预测**八、总结(暂时) &…

信奥初赛解析:1-3-计算机软件系统

知识要点 软件系统是计算机的灵魂。没有安装软件的计算机称为“裸机”,无法完成任何工作硬件为软件提供运行平台。软件和硬件相互关联,两者之间可以相互转化,互为补充 计算机软件系统按其功能可分为系统软件和应用软件两大类 一、系统软件 系统软件是指…

【Redis入门到精通三】Redis核心数据类型(List,Set)详解

目录 Redis数据类型 ​编辑 1.List类型 (1)常见命令 (2)内部编码 2.Set类型 (1)常见命令 (2)内部编码 Redis数据类型 查阅Redis官方文档可知,Redis提供给用户的核…

【2024/09/20更新】植物大战僵尸杂交版V2.5下载

植物大战僵尸杂交版V2.5 2.5版本更新公告: 增加新关卡– 益智模式–两面夹击模式关卡 挑战模式关卡 增加新铲子–骷髅铲子 --银币购买-挖掉植物触发亡语或召唤骷髅僵尸 增加新植物– 4张白卡植物-通过两面夹击获得 2张金卡植物和4张星卡植物 游戏调整– 调整…