【李宏毅2020 ML/DL】P106 More about Life Long Learning

我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本节内容综述
  1. 本节课 杨舒涵 讲解。
  2. 第一部分通过生物现象 `赫布理论 ,引出机器学习相关技术。
  3. 接下来,是几个文章的报告,首先是知识蒸馏。
  4. 接着是 Memory Aware Synapses: Learning what (not) to forget (MAS) ,第一个无监督的 LLL 方法。
  5. 接下来 Learning without Forgetting (LwF) ,第一个把知识蒸馏用在 LLL 的文章。
  6. Large Scale Incremental Learning (BiC),在类别很多时,如何平衡新老任务。
  7. Few-Shot Class-Incremental Learning (FSCIL) ,也是为了解决 new/old class imbalance ,其作用在小样本上。以 Neural gas (NG) 取代了知识蒸馏;应用了拓扑学和生理神经相关的 Hebbian learning 作为出发点,提出 TOpology-Preserving knowledge InCrementer (TOPIC) 架构。
  8. 最后探讨结论 LLL Nowadays & Future(?) 。目前还是主要用在学术界。

文章目录

小细节

Outline

  • Hebbian Theory
    • Long-term Potentiation (LTP)
    • Hebbian Theory
    • Competitive Hebbian Learning
  • Knowledge Distillation
  • Memory Aware Synapses: Learning what (not) to forget (MAS)
  • Learning without Forgetting (LwF)
  • Large Scale Incremental Learning (BiC)
  • Few-Shot Class-Incremental Learning (FSCIL)
  • LLL Nowadays & Future(?)

Hebbian Theory

Long-term Potentiation (LTP)

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,Long-term Potentiation 是一种神经反应可塑的现象,是生物学概念。

Hebbian Theory

【李宏毅2020 ML/DL】P106 More about Life Long Learning
因此,由赫布理论,得到神经网络权重上的启发。

Competitive Hebbian Learning

【李宏毅2020 ML/DL】P106 More about Life Long Learning
由此,引出 Competitive Hebbian Learning 。

Knowledge Distillation

https://arxiv.org/pdf/1503.02531.pdf

Problem Statement

为什么提出“知识蒸馏”?

  • 训练 model 和使用 model 的需求不同、
  • model compression

What is “knowledge”?

这里理解为,学习把 input vector 映射到 output vector

一般用 T T T 蒸馏温度来处理分布:
q i = e z i / T ∑ j e z j / T q_i = \frac{e^{z_i/T}}{\sum_j e^{z_j /T}} qi​=∑j​ezj​/Tezi​/T​

用大 model 的 soft targets 当初训练小 model 的 ground truth 。

最后评判时,需要把小 model 在 soft targets 上训练后的交叉熵,与 hard targets 训练后的交叉熵的 1 / T 2 1 / T^2 1/T2 倍,得到 overall loss 。这么做,是因为 soft targets 生成过程中蒸馏法求导函数会产生 1 / T 2 1/T^2 1/T2 ;而为了保持两个 loss 的影响接近,要如此处理。

Why knowledge distillation works?

可以想象成 T T T 越大, class probabilities 就越接近,使训练上更加严格,而切换回一般的 softmax 就回归简单模式,效果更佳。

Memory Aware Synapses: Learning what (not) to forget (MAS)

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,在目标中增加一项,防止参数变动过大。
【李宏毅2020 ML/DL】P106 More about Life Long Learning
其达成的目标如上。

Concepts

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,我们希望模型自己学会各个参数是否敏感。
【李宏毅2020 ML/DL】P106 More about Life Long Learning
最终,其 Ω \Omega Ω公式推导如上。

Learned function v.s. Loss

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,在“重要性”与损失值相关时,我们可以通过真是标签来查看差别。
【李宏毅2020 ML/DL】P106 More about Life Long Learning
但是这样的话,就没法新增无标签数据来训练。
【李宏毅2020 ML/DL】P106 More about Life Long Learning
如果我们自己学 learn function (与loss的改变有关),则可以新增无标签数据参与训练。可以观察两次跑出的 learn function 的值的差异。

Connection to Hebbian Learning

【李宏毅2020 ML/DL】P106 More about Life Long Learning
接下来介绍,这个方法与 Hebbian Learning 的关系。
【李宏毅2020 ML/DL】P106 More about Life Long Learning
在如上的一个 ReLU 神经元中的运算。
【李宏毅2020 ML/DL】P106 More about Life Long Learning
【李宏毅2020 ML/DL】P106 More about Life Long Learning
继续进行推导,发现其结果就是赫布学习的公式。

Contribution

贡献有二:

  • 达到了使用无标签数据的目标;
  • 展示了与赫布学习的关系。

在当时,效果超过 state-of-art 。

Learning without Forgetting (LwF)

Original Model

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上是一个 AlexNet,如果新增分类任务,则参数会增加。此时可以选择全部重新训练的方法。

此外,还可以使用如下的微调方法。

Fine-tuning

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,对全连接层的参数进行微调,实验称为 Finetune-FC 。

但是,会在就认为变现较差。

Feature Extraction

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,只训练新增内容。但是因为之前的结构不变,导致不能提取新增任务独有的特征。其在新任务上表现不好。

Joint Training

【李宏毅2020 ML/DL】P106 More about Life Long Learning
对所有参数、所有新旧任务进行学习。但是这样成本高、参数量大。

Learning without Forgetting

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,先固定原有参数,然后使用新任务的数据训练新增层;之后再联合训练所有参数。好处是只需要新任务的数据集。

Loss Function

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,考虑两个 loss 值:

  • 基本的新任务的分类交叉熵值;
  • 引入知识蒸馏思想的损失值。

LwF Algorithm

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,我们并没有老任务的数据集,但是会通过网络先得出一些数据对。

Large Scale Incremental Learning (BiC)

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,新旧任务样本数严重失衡。而训练效果往往和样本数量有关,某一类数据多,则在其上的正确率较大。而类别数目多,也会导致效果下降。

Hypothesis

【李宏毅2020 ML/DL】P106 More about Life Long Learning
其做了一个假设,即最后一层全连接层会偏袒 new classes 。

BiC(Bias correction) Method

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,其在得到 logits 前,做了一个 bias 纠正,希望其 new classes 与 old classes 变得平衡。

Stage 1

【李宏毅2020 ML/DL】P106 More about Life Long Learning
【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,可以理解为想办法压缩之前的网络的结果。

Stage 2

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,来最佳化 bias parameters 。

Results

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,BiC 在增加类别后,效果没有明显变差。

【李宏毅2020 ML/DL】P106 More about Life Long Learning
如上,对于 baseline-1 -2 其会很偏重于新的 classes (在其上效果很好)。而 BiC 避免了这个问题。

Few-Shot Class-Incremental Learning (FSCIL)

【李宏毅2020 ML/DL】P106 More about Life Long Learning
大致概念如上,在 (a)-(b) 中,我们希望原有的结构不改变(因为结构与记忆相关);在 (d)-(f) 中,我们希望新 node 会自动调整,让模型接近 ground truth 。

LLL Nowadays & Future(?)

【李宏毅2020 ML/DL】P106 More about Life Long Learning
目前,大公司为了好的效果,一般不用 LLL ,但学术界有所研究。

还是有研究的必要的。

上一篇:增量学习-02-Essentials for Class Incremental Learning-CVPR2021


下一篇:VS的增量链接的功能