笔记内容为 如何在稀烂的数据中做深度学习
文章目录
1.Deep Learning
-
深度学习是一个端到端学习的过程,相较传统的机器学习,它把特征提取过程也加入学习
-
构建好的深度学习模型的先决条件是“数据完美”
-
完美数据是:
- Accessible,数据拿得到,现实数据可能涉及隐私问题
- Large-scaled,数据量足够大
- Balanced,数据 label 平衡
- Clean,label 标注准确
-
不完美的数据集处理方法有:
- Federated Learning
- Long-tail Learning
- Noisy Label Learning
- Continual Learning
2.Federated Learning
-
小批量的数据分布在不同的客户端 client ,分别训练后在中心服务器 server 聚合
-
主要的难点是 Data heterogeneity,数据异构(数据样本数量不一样,label 不一样,不平衡比率不一样),数据不是独立同分布的
-
一个解决方法是(Federated optimization in heterogeneous networks)在优化本地模型时不要与全局模型差太远
-
Other Issues
- Personalized FL,最终目的是服务个人,在得到全局模型后在本地做自适应
- Communication and Compression,模型的传输和压缩,每个 client 可能有不同的情况,或者模型非常大难以传输
- Preserving Privacy,模型攻击通过模型反推出数据,导致隐私暴露
- Fairness,模型的公平
- Data Poisoning Attacks,某些参与者在一个很烂的数据集上训练了一个很差的模型,上传并聚合后可能会成为“老鼠屎”
- Incentive,某些用户想要白嫖,自己没有数据但想要好模型,量化每个本地模型对全局模型的贡献
3.Long-tail Learning
-
Label 不平衡的数据集可能导致模型比较差,例如就算把数据量少的那个 label 全分类错了,模型精度 accuracy 仍然很高(因此需要注意评价模型的 metric),这样模型就会偏向于将样本归到多数类
-
在深度学习之前,有重采样 re-sampling (label 少的类采样多一些,容易出现过拟合,只记得训练集中出现的样本)和重加权 re-weighting 方法(在分类少数类错误的时候给予更大的惩罚)
-
深度学习时代:
- 分类模型的 class 很多,不平衡的情况很复杂
- 端到端的模式中,数据不平衡除了对分类有影响,是否对特征提取也有影响?
-
2019年,long-tail learning 正式首次提出,数据集分布呈现长尾/幂律分布(28定律)
- Methodology
- Re-weighting,label 少的分错了惩罚更大
- Augmentation,生成 label 少的数据做补充平衡,比如背景替换等
- Decoupling,有工作表明数据不平衡对特征提取的影响比较小,而对分类器的影响比较大。因此可以在原始数据集上训练特征提取,之后把特征固定下来重新训练分类器,此时训练时再加重采样,惩罚等操作
- Ensemble Learning,集成学习在不同的数据集上训练,例如可以多训练一些在尾部类上的分类器,少训练一些在头部类的分类器,集成投票之后可以在尾部类上有贡献
4.Noisy Label Learning
- 在 label 标注错误很多的数据集上训练容易出现过拟合,在此样本出现时容易分类错误
- 估计 Noise Transition Matrix 后将它融合到模型里
- 添加正则化,强迫模型只能在少量的样本上训练,模型会更倾向于用干净的样本
- 学习样本的权重,如果是噪声样本,权重趋于0
- small-loss trick,如果一个样本分类很离谱(很有可能是噪声)而且经常分错,就允许模型不再去学习它了,把它的惩罚降低,逃避可耻但有用,例如 Co-Teaching
- 现实应用中,标错的 label 有可能不存在于数据集中(OOD Noise),不能计算 Noise Transition Matrix
5.Continual Learning
-
样本是慢慢提供的,过往样本不能存太多或者不能存,label 等数据分布也可能发生转变,但要求过往学到的不能忘
-
寻求模型的 stability 和 plasticity 的 trade-off,既要记得以前的东西,又要能学会新的东西
-
深度学习模型的学习能力很强,一般 plasticity 容易满足,但难以记得之前学到的东西,容易出现 catastrophic forgetting
-
Replay-Based Methods,挑某些以往数据集中具有代表性的样本和新数据集合在一起学习,让模型“历历在目”,主要问题是怎么选有代表性的样本,第二个问题是怎么用这些选出来的样本让模型不要“见异思迁”
- 怎么用:GEM 限制在老的样本上预测精度不能变差
- 怎么选:不显性地丢掉数据,而是把样本数据压缩,让一张图片能够包含多张图片的信息
-
Replay-Based Methods 有一些缺陷:
- 要保证终生学习必须丢掉部分数据
- 有严格要求就是不能存储
-
Regularization-Based Methods,保存过往任务学到的模型而不是数据,在新任务训练时保证新模型不与以往的老模型不能相差太多(类似联邦模型中全局模型和本地模型的关系)
-
Parameter Isolation Methods,深度学习学到的模型一般很大,有很多参数不起作用,在每学一个任务中后先对模型进行压缩,让很多参数空出来学习其他任务
6.Conclusion
- Federated learning: data is not centralized
- Long-tail learning: data is class imbalanced
- Noisy label learning: data is mislabeled
- Continual learning: data is gradually coming