码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 李宏毅:Life Long Learning


    Life Long Learing 也是continual Learning,也是incremental learning

    目录

    Life-Long Learning  vs  Transfer Learning

    Evaluation

    Research Directions

    Selective Synaptic Plasticity——Regulization Based

    Additional Neural Resourcr Allocation

    Memory Reply


    Life-Long Learning  vs  Transfer Learning

    Transfer Learning:在任务一上学到的内容Transfer到任务二,关注点在Task2

    Life-Long Learning:学完Task2以后Task1还能否work

    Evaluation

    Research Directions

    Selective Synaptic Plasticity——Regulization Based

    Forget的原因:白色——loss越大,蓝色——loss越小,先让模型训练task1,随机训练的参数θ0,然后使用梯度下降的方法调整θ0的参数,得到θb。将θb的参数迁移到Task2,继续训练得到θ*。将θ*应用于task1发现loss变大,说明出现了forget现象。如果将θb往右移是否在task1上效果更好呢?(往右移也是蓝色区域)

    basic idea:对先前任务重要的一些参数不要改变,只需要调整不重要的参数。

    \theta^b 是先前任务学习到的参数,对每一个参数 \theta_{i}^b 设置一个守卫 b_{i} ,代表该参数对过去的任务是否重要。\theta_{i} 指的是将要被此任务学习得到的参数,下式为改写后的loss function,第二个式子表示该参数的重要程度:

    L{}'(\theta )=L(\theta)+\lambda \sum_{i}b_{i}(\theta_{i}-\theta_{i}^b)^2

    if\quad b_{i}=0,\quad there \quad is\quad no \quad constraint \quad on\quad\theta_{i}    ——catastrophic forgetting

    if\quad b_{i}=\infty,\quad \theta_{i} \quad would\quad always \quad be \quad equal\quad to\quad \theta_{i}^b ——instransigence

    如何设置 b_{i}?

    \theta_{1} 方向上loss变化很小,b1很小;\theta_{2} 方向上loss变化比较大,b2较大。

     Gradient Episodic Memory (GEM)

     通过存少量资料updata direction。

    Additional Neural Resourcr Allocation

    Progressive Neural Networks

    只训练当前模型的参数,只是将前面模型的参数作为输入,缺点:占用过多额外空间。

    PackNet:开一个大的网络但每次task只占用其中一部分,参数保留一小部分

    CPG:结合上述两种方法,既进行参数的dropout,也开辟网络空间

    Memory Reply

    Generating data

    生成先前任务的学习资料来用于现在任务的训练。

     增加新class方法:

     

  • 相关阅读:
    【愚公系列】2022年11月 uniapp专题-环境配置
    私有化部署,加强文档管理系统稳定性
    【Boost C++ 库】共享内存详解
    什么是jsp?
    java反射(易懂)
    SSO 和 OAuth2.0 的关系是什么?
    算法分析与设计CH8:线性时间的排序——计数排序、基数排序、桶排序
    CH1-模型训练优化
    Kong实现禁止国外IP访问
    关于数据库死锁的分析以及解决办法
  • 原文地址:https://blog.csdn.net/LarsGyonX/article/details/128054155
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号