增量学习入门【2】:知识铺垫

参考:
文献《连续学习研究进展》
文献《Deep Class-Incremental Learning: A Survey》

一、微调vs.预训练

1、预训练

  • 假设你现在需要搭建一个NN完成图像分类的任务
  • 首先,你需要随机初始化参数,接着使用训练数据开始训练网络,不断对网络进行调整直至网络的损失值越来越小
  • 当你觉得训练结果达到一个满意的状态后,就可以将模型的参数保存下来,以便在下次执行类似任务时拿出来可以直接使用,并且能够获得较好的结果
  • 这个过程就是pre-training预训练。

2、微调

  • 在某天,你想在一个新的数据集上进行图像分类工作。这个时候,你可以直接调用之前保存下来的模型参数作为该任务的初始化参数
  • 然后在训练过程中,根据训练结果不断调整,使结果达到预期状态。
    这个过程就是fine-tuning微调
  • 即你使用pre-trained模型在初始化参数,然后进行fine-tuning微调

二、知识蒸馏

  • 知识蒸馏是一种从一个复杂模型(教师模型)中提取、精简“知识”并转移到另一个简化模型(学生模型)的方法。
  • 实现方法:教师模型的暗知识会被用作学生模型的训练目标或辅助信息

1、软化目标

  • 软化目标:输出概率分布(eg:softmax)或特定的模型层表示
  • 硬目标:模型最终输出的类别标签/真实标签
  • 暗知识:模型学习到的软化目标分布、类别相关性、数据分布特征等难以直接观察或解释的知识
  • 在知识蒸馏中,使用教师模型产生的软化的目标来指导学生模型的训练

2、温度参数

  • 调整教师模型输出的概率分布,使其更平滑
  • 例子: s o f t m a x ( z i T ) softmax({z_i \over T}) softmax(Tzi)中的 T T T就是温度参数

3、蒸馏损失函数

  • 通常,蒸馏损失函数由两部分加权求和组成
  • 一部分是用于学习硬目标的传统损失函数
  • 另一部分是用于学习暗知识的损失函数
    • 一般是基于教师模型输出和学生模型预测之间的差异
    • 一种常见的损失函数是KL散度 K L ( P ∥ Q ) = ∑ i P ( i ) ⋅ log ⁡ ( P ( i ) Q ( i ) ) \mathrm{KL}(P \| Q)=\sum_i P(i) \cdot \log \left(\frac{P(i)}{Q(i)}\right) KL(PQ)=iP(i)log(Q(i)P(i)) P P P 是教师模型输出的软化目标分布, Q Q Q是学生模型预测的概率分布,KL散度衡量两个概率分布之间的相似程度

三、漂移

参考:机器学习中的漂移

1、概念漂移

P ( Y ∣ X ) P(Y|X) P(YX)分布变化,意味着模型的输入和真实标签之间的关系发生了变化

2、预测漂移

预测标签分布 P ( y ~ ∣ X ) P(\tilde{y}|X) P(y~X)变化,意味着模型的输入和模型的预测之间的关系发生了变化

3、标签漂移

标签 P ( Y ) P(Y) P(Y)的概率变化

4、特征漂移

P ( X ) P(X) P(X)概率的变化,意味着模型输入的分布发生了变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值