机器学习——终身学习

在这里插入图片描述

终身学习

在这里插入图片描述

  • AI不断学习新的任务,最终进化成天网控制人类
  • 终身学习(LLL),持续学习,永不停止的学习,增量学习

在这里插入图片描述

  • 用线上收集的资料不断的训练模型

在这里插入图片描述

  • 问题就是对之前的任务进行遗忘,在之前的任务上表现不好

在这里插入图片描述

  • 要同时学好任务,可以将数据放一起进行学习,如果没有一起学的话,会忘记之前的一个

例子

20个QA任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 同时学习20个任务的时候在一些任务上是表现不错的,同时会一些技能
  • 连续学的话不太可能学会所有的
    在这里插入图片描述
    在这里插入图片描述
  • 多任务训练可以解决问题!使用所有数据进行训练
  • 存储问题
  • 计算问题
  • 多任务训练可以被视为LLL的上限

在这里插入图片描述

  • 最终我们无法存储所有模型
  • 知识无法在不同任务之间转移

在这里插入图片描述

  • 迁移学习:可以做任务2,因为已经学会了任务1,不关心机器是否仍然能够完成任务1
  • 终身学习:即使我已经学会了任务2,我也不会忘记任务1。
  • 迁移学习是指将从一个任务学到的知识或模型应用到另一个相关任务中的机器学习方法。通过利用已有任务的知识来加速新任务的学习,以解决数据稀缺或训练时间长的问题。
  • 终身学习是一种机器学习范式,旨在模拟人类不断学习的能力,持续积累新知识并适应新环境。终身学习系统可以不断接收新数据、学习新任务,并保持对先前学到知识的更新和利用,以实现持续学习和适应性。

评估

在这里插入图片描述

  • 一些任务序列和相关内容,包括任务1到任务10的排列、时间单位以及一些类别的描述。

在这里插入图片描述
在这里插入图片描述

  • 三种评估方式:
    • 学完所有任务之后,再对每个任务计算指标并计算平均指标
    • 每学完一个任务之后跟之前学完自己任务之后的指标进行求差的平均
    • 在还没有看过其他任务的时候,使用此时的情况减去第一个

可能的解法

在这里插入图片描述

选择性的突触的可塑性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 为什么会发生灾难性遗忘的内容,涉及到任务1和任务2的错误曲面,其中颜色较深的部分表示损失较小。

  • 灾难性遗忘的原因在于神经网络在学习新任务时会忘记先前学习的任务,导致先前任务的信息丢失。在这种情况下,任务1和任务2的错误曲面显示了损失较小的部分,这可能表明神经网络在学习这两个任务时存在一定程度的重叠,导致出现灾难性遗忘。因为神经网络更倾向于记住新任务的信息,而忘记旧任务的信息,这可能会导致先前任务的损失加剧。
    在这里插入图片描述

  • 选择性突触可塑性:基本思想是模型中的一些参数对于先前的任务非常重要。只改变那些不重要的参数;每个参数 θ i θ_i θi都有一个“守卫” b i b_i bi

  • 如果bi为0,表示对应参数θi的“守卫”机制认为该参数对当前任务的重要性较低,可以被视为不重要的参数,会被重新学习。

  • 如果bi为正无穷,表示对应参数θi的“守卫”机制认为该参数对当前任务的重要性非常高,是不可或缺的重要参数。在这种情况下,根据“选择性突触可塑性”的概念,这样的重要参数将被视为必须保留不变,不会被改变或调整,以确保先前任务学习到的重要知识得以保留并应用到新任务中。

在这里插入图片描述

  • 对于任务1和任务2,参数θ2和参数b1较小,而参数b2较大。这意味着可以修改参数θ1,但不改变参数θ2。

在这里插入图片描述

  • 任务A、任务B和任务C的训练情况,以及使用的训练时间、EWC, L2、SGD等相关信息

在这里插入图片描述

  • b i b_i bi的设置方式有多种,包括
    • 弹性权重保持(Elastic Weight Consolidation,EWC)
    • 突触智能(Synaptic Intelligence,SI)
    • 记忆感知突触(Memory Aware Synapses,MAS)
    • RWalk
    • 切片Cramer保留(Sliced Cramer Preservation,SCP)

改变任务的顺序对结果会有较大的影响

GEM

对梯度方向上做选择去更新参数,需要把过去的资料存下来来修改g的方向,不需要大量的资料
在这里插入图片描述

  • 梯度情节记忆"(Gradient Episodic Memory,GEM)涉及到任务1和任务2,以及负责当前任务的梯度g和负责先前任务的梯度g’之间的关系。梯度g表示当前任务的负梯度,而梯度g’表示先前任务的负梯度,它们之间的乘积大于等于0。这种方法需要来自先前任务的数据以更新方向。

增加网络资源分配

在这里插入图片描述

渐进式神经网络

在这里插入图片描述

  • 渐进式神经网络(Progressive Neural Networks)是一种用于处理逐步增加任务复杂性的神经网络结构。在渐进式神经网络中,每个新任务都会引入一个新的神经网络模块,而不会破坏先前任务的学习。这种方法允许神经网络在逐步学习新任务的同时保留先前任务的知识,从而实现对多任务学习的有效管理和应用。通过逐步增加模块来处理新任务,渐进式神经网络能够在不同任务之间实现知识共享和迁移,提高整体学习效率和性能。
  • 渐进式神经网络的一些缺点包括:
  1. 网络结构复杂性增加: 随着每个新任务引入一个新的神经网络模块,网络结构会变得越来越复杂,可能导致计算资源需求增加和训练时间延长。
  2. 参数冗余: 每个任务都会引入新的神经网络模块,这可能导致参数冗余,使得模型变得庞大且难以管理。
  3. 遗忘问题: 在处理多任务学习时,可能会出现遗忘问题,即学习新任务时会影响先前任务的表现,导致灾难性遗忘。
  4. 知识共享限制: 每个任务有自己独立的神经网络模块,可能限制了不同任务之间的有效知识共享和迁移。
  5. 训练稳定性: 随着模型复杂性的增加,可能会影响训练的稳定性和收敛速度,增加了调参的难度。

在小数据集上表现还是可以的

PackNet

在这里插入图片描述

  • 先训练一个大的模型,在不同的任务时只用其中的一部分
  • PackNet是一种用于神经网络压缩和加速的方法。它采用了一种称为“PackNet”的结构,通过将神经网络的参数分组打包,以实现更高效的计算和存储。PackNet的主要思想是将网络参数分成多个组,每个组称为一个“包”(pack),然后对每个包应用特定的压缩技术,例如低秩近似、量化或剪枝等,以减少参数量并提高计算效率。
  • 通过使用PackNet,可以在不损失太多性能的情况下大幅减少神经网络的参数量和计算复杂度,从而实现模型的轻量化和加速。这种方法在资源受限或对速度要求较高的场景下特别有用,可以帮助提高模型的推理速度和在嵌入式设备上的部署效率。

内存回复

在这里插入图片描述
内存回复(Memory Replay)是一种机器学习中的技术,用于增强模型的学习和泛化能力。在传统的机器学习训练中,通常使用静态的训练数据进行模型的训练和更新。然而,内存回复引入了一种记忆机制,允许模型在训练过程中保存和重播先前的经验。

内存回复的基本思想是将具有代表性的训练样本存储在一个内存缓冲区中,然后在后续的训练中周期性地从内存中提取样本,并将其与当前的训练数据一起使用。这样做的好处是可以增加训练样本的多样性和数量,从而提供更全面和丰富的训练信号,有助于模型更好地捕捉数据中的模式和结构。

生成数据

在这里插入图片描述

  • 使用生成模型生成伪数据来处理先前任务,以及生成任务1数据、解决任务1、任务2的训练数据和解决任务2等步骤
  • 旨在利用生成模型为先前任务生成数据,以帮助解决新任务
增加新类别

在这里插入图片描述

  • 学习无遗忘(Learning without forgetting,LwF):旨在解决在学习新任务时导致先前任务遗忘的问题。LwF方法通过在训练过程中结合新任务数据和先前任务的知识,以确保在学习新任务时不会忘记先前任务的信息。
  • iCaRL: 增量分类器和表示学习(Incremental Classifier and Representation Learning
  • 连续学习的三种场景等内容

课程学习

在这里插入图片描述

  • 不同任务的顺序对最终的结果也是有影响的
  • 课程学习(Curriculum Learning)是一种机器学习技术,通过按照难度或复杂性的顺序对模型进行一系列任务的训练。课程学习的思想是通过逐渐呈现越来越具有挑战性的训练样本,促进学习过程。
  • 在传统的机器学习方法中,训练数据通常是随机或按照固定顺序呈现的。然而,课程学习承认在模型学习更复杂的概念之前,某些模式或概念可能更容易或更直观地学习。通过以有意义的顺序组织训练数据,课程学习旨在引导模型按照一种课程或教学大纲学习,模仿人类学习的方式。
  • 课程可以根据特定问题领域和任务的要求以各种方式设计。例如,在计算机视觉任务中,课程可以从包含清晰模式的简单图像开始,逐渐引入具有遮挡或变化的更复杂图像。类似地,在自然语言处理中,课程可能涉及从简单的句子结构开始,逐渐引入更复杂的语法构造。
  • 课程学习的主要动机是提高模型的学习效率和泛化性能。通过逐渐向模型展示越来越困难的示例,它可以在现有知识的基础上构建,并学习更强大的表示。课程学习已在计算机视觉、自然语言处理和强化学习等各个领域证明有效。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】无监督学习算法之:K均值聚类

K均值聚类 1、引言2、K均值聚类2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 距离计算公式2.4.1 中心点计算公式 2.5 代码示例 3、总结 1、引言 小屌丝:鱼哥, K均值聚类 我不懂,能不能给我讲一讲? 小鱼:行&#xf…

AI助手 - Fitten Code

前言 上一篇介绍了商汤AI编程小助手小浣熊 Raccoon,过程中又发现了另外一款国产AI编程助手,那就是本篇要介绍的非十科技出品的Fitten Code。 ​ Fitten Code 主打一个快:超高准确率、超快的响应速度。号称代码生成比GitHub Copilot 快两倍&am…

蓝桥杯模块综合——高质量讲解AT24C02,BS18B20,BS1302,AD/DA(PCF8591),超声波模块

AT24C02——就是一个存储的东西,可以给他写东西,掉电不丢失。 void EEPROM_Write(unsigned char * EEPROM_String,unsigned char addr , unsigned char num) {IIC_Start();IIC_SendByte(0xA0);IIC_WaitAck();IIC_SendByte(addr);IIC_WaitAck();while(nu…

奶牛均分

解法&#xff1a; 假设编号从左到右递增&#xff0c;奶牛每次只能去往左边的牛圈。因此等分最大奶牛数小于等于最右边牛圈奶牛数&#xff0c;不妨设数为k&#xff0c;那么a[i]>k&#xff0c;a[i-1]>2k。。。 做后缀和二分答案就可找到k #include<iostream> #inc…

字符串筛选排序 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 输入一个由n个大小写字母组成的字符串&#xff0c; 按照 ASCII 码值从小到大的排序规则&#xff0c;查找字符串中第 k 个最小ASCII 码值的字母(k>1) , 输出该…

CSS学习(3)-浮动和定位

一、浮动 1. 元素浮动后的特点 脱离文档流。不管浮动前是什么元素&#xff0c;浮动后&#xff1a;默认宽与高都是被内容撑开&#xff08;尽可能小&#xff09;&#xff0c;而且可以设置宽 高。不会独占一行&#xff0c;可以与其他元素共用一行。不会 margin 合并&#xff0c;…

C语言易错知识点

1、数组长度及所占字节数 char x[] {"Hello"},y[]{H,e,l,l,o}; x数组的长度为5&#xff0c;y的长度也是5 x、y数组所占字符串为6为 51(\0)6 strlen&#xff08;&#xff09;函数得到的是数组的长度 2、%%与%的优先级 #include<stdio.h> int main(){ int a…

HarmonyOS4.0—自定义渐变导航栏开发教程

前言 今天要分享的是一个自定义渐变导航栏&#xff0c;本项目基于鸿蒙4.0。 先看效果&#xff1a; 这种导航栏在开发中也比较常见&#xff0c;特点是导航栏背景色从透明到不透明的渐变&#xff0c;以及导航栏标题和按钮颜色的变化。 系统的导航栏无法满足要求&#xff0c;我们…

Visual Studio 2013 - 高亮设置括号匹配 (方括号)

Visual Studio 2013 - 高亮设置括号匹配 [方括号] 1. 高亮设置 括号匹配 (方括号)References 1. 高亮设置 括号匹配 (方括号) 工具 -> 选项… -> 环境 -> 字体和颜色 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

基于信号分解的几种一维时间序列降噪方法(MATLAB R2021B)

自适应信号分解算法是一种适合对非平稳信号分析的方法&#xff0c;它将一个信号分解为多个模态叠加的形式&#xff0c;进而可以准确反应信号中所包含的频率分量以及瞬时频率随时间变化的规律。自适应信号分解算法与众多“刚性”方法(如傅里叶变换&#xff0c;小波变换)不同&…

R语言实现多要素偏相关分析

偏相关分析是指当两个变量同时与第三个变量相关时&#xff0c;将第三个变量的影响剔除&#xff0c;只分析另外两个变量之间相关程度的过程&#xff0c;判定指标是相关系数的R值。 在GIS中&#xff0c;偏相关分析也十分常见&#xff0c;我们经常需要分析某一个指数与相关环境参…

浅谈一下对于DDD模式的理解2

浅谈一下对于DDD模式的理解&#xff0c;相互学习交流&#xff0c;不对之处欢迎大家指正。 在说到DDD(Domain-Driven Design)设计模式之前&#xff0c;先要说下我们在对系统进行架构设时需要遵循的几个原则&#xff1a; 单一职责&#xff08;SRP&#xff09; "单一职责原则…

原来这才是帕金森症状得到缓解的秘诀!

帕金森是一种影响神经系统的慢性疾病&#xff0c;主要症状包括震颤、肌肉僵硬和运动缓慢。如不及时治疗控制&#xff0c;症状可能会逐渐加重&#xff0c;严重影响生活质量。患者可能丧失自理能力&#xff0c;出现跌倒、骨折等并发症&#xff0c;还可能伴随认知障碍和情绪问题。…

考研数学|汤家凤《1800题》什么阶段做?值不值得做?

1800总的来说还是一本对基础不太好的同学一本不错的习题册&#xff0c;当然他可能对基础较好的同学来说题目量过大 考研数学备考&#xff0c;刷1800题是否必要&#xff1f;从我的经验来看&#xff0c;刷1800题并不是绝对必要的&#xff0c;而且传统习题册存在一些问题&#xf…

计算机组成原理 — 计算机的运算方法

计算机的运算方法 计算机的运算方法无符号数和有符号数概念有符号数有符号数又分真值和机器数原码表示法补码表示法反码表示法三种机器数的特点移码表示法 数的定点表示和浮点表示定点表示浮点表示 定点运算移位运算算数移位规则加法与减法运算乘法运算除法运算概述恢复余数法加…

ChatGPT人工智能对话系统源码 电脑版+手机端+小程序三合一 带完整的安装代码包以及搭建教程

ChatGPT人工智能对话系统的研发&#xff0c;源于对自然语言处理技术的深入研究和探索。在人工智能领域&#xff0c;自然语言处理是实现人机交互的关键技术之一。通过模拟人类的自然语言交流方式&#xff0c;对话系统能够理解用户的意图和需求&#xff0c;并给出相应的回应。 以…

【Qt学习笔记】(三)--编写上位机软件(ui设置、样式表serialport串口接收数据、Qchart显示波形)

声明&#xff1a;本人水平有限&#xff0c;博客可能存在部分错误的地方&#xff0c;请广大读者谅解并向本人反馈错误。    这段时间大部分都是在学Qt&#xff0c;前面想着跟着书一章章的学&#xff0c;但是发现这个效率极低&#xff0c;所以就改变了学习的方法&#xff0c;那…

QT6实现创建与操作sqlite数据库及读取实例(一)

一.Qt为SQL数据库提供支持的基本模块&#xff08;Qt SQL&#xff09; Qt SQL的API分为不同层&#xff1a; 驱动层 SQL API层 用户接口层 1.驱动层 对于Qt 是基于C来实现的框架&#xff0c;该层主要包括QSqlDriver&#xff0c;QSqlDriverCreator,QSqlDriverCreatorBase,QSqlPlug…

初识GO语言

是由google公司推出的一门编程语言&#xff0c;12年推出的第一个版本 Go的特点 Go为什么能在最近的IT领域炙手可热 集python简洁&C语言的性能于一身 21世纪的C语言 顺应容器化时代的到来 区块链的崛起 学习一门编程语言可以划分为下面这三个步骤 安装 编译器 or 解…

C语言种sizeof()和strlen的区别

sizeof 是 C 语言内置的操作符关键字&#xff0c;而 strlen 是 C 语言库函数&#xff1b; sizeof 仅用于计算数据类型的大小或者变量的大小&#xff0c;而 strlen 只能以结尾为 \0 的字符串作为参数&#xff1b; 编译器在编译时就计算出了 sizeof 的结果&#xff0c;而 strlen …