一个项目帮你了解数据集蒸馏Dataset Distillation

简介: 一个项目帮你了解数据集蒸馏Dataset Distillation


近期由北海道大学的 Dr. Guang Li,爱丁堡大学的 Dr. Bo Zhao 和 MIT 的 Dr. Tongzhou Wang 共同发起的数据集蒸馏项目总结了数据集蒸馏领域所有优秀论文以及开源代码。

数据集蒸馏研究简介


数据集蒸馏是合成小数据集的任务,以便在其上训练的模型在原始大数据集上实现高性能。数据集蒸馏算法将要蒸馏的大型真实数据集(训练集)作为输入,并输出一个小的合成蒸馏数据集,该数据集通过在单独的真实数据集(验证 / 测试集)上在该蒸馏数据集上训练的测试模型进行评估。


数据集蒸馏问题设定


这项任务最初是在 Dr. Tongzhou Wang 2018 年的论文 Dataset Distillation [1] 中介绍的,改论文同时提出了通过优化步骤使用反向传播的算法。由于最初算法的局限性,当时仅仅可以在一些简单数据集如 MNIST,CIFAR-10 上进行蒸馏操作且准确率比较低。这也是最初的 Dataset Distillation 没有被一些 AI 顶会 (NeurIPS/ICCV/ICLR) 收录的原因。


最初的数据集蒸馏效果


一个好的小型蒸馏数据集不仅对数据集理解有用,而且具有各种应用(例如,隐私保护,持续学习,神经架构搜索等)。其中,Dr. Guang Li 最先将数据集蒸馏应用于医学图像领域,并对其在隐私保护方面的特性做了探索,该研究通过将十几万张胃部 X 光图像蒸馏到只有 3 张并达到了很好的胃炎检测效果,研究成果发表于 ICIP 2020 [2].


匿名化的胃部 X 光蒸馏图像


2021 年后,数据集蒸馏在研究界、许多研究所和实验室中越来越受到关注。现在每年都有更多的论文发表。这些精彩的研究一直在不断改进数据集蒸馏并探索其各种变体和应用。其中最具有突破性的研究之一是由 Dr. Bo Zhao 在 ICLR 2021 中提出的 Dataset Condensation,该论文首次提出通过梯度匹配策略来蒸馏数据集并大大提升了测试准确率以及泛化能力 [3].



基于梯度匹配的数据集缩合算法


最近由 CMU,MIT,UC Berkeley 的学者们发表的一篇论文首次实现了对 ImageNet 的蒸馏并又一次大幅提升了蒸馏数据集的测试效果, 该成果发表于 CVPR 2022 [4]。


ImageNet 上的蒸馏效果


对于目前数据集蒸馏领域的巨大进展 Dr. Tongzhou Wang 表示非常惊喜并在推特上对 Awesome-Dataset-Distillation 项目进行了介绍。

 

Dr. Tongzhou Wang 在推特上对数据集蒸馏项目的介绍


在 Awesome-Dataset-Distillation 项目完成后,短短一个月的时间在 GitHub 上已经获得了 300Star,受到了国内外很多知名学者的关注。此外,上个月被外媒选为八月份最受关注的 AI 研究之一。



[1] Wang, Tongzhou, et al. "Dataset distillation." arXiv preprint arXiv:1811.10959.

[2] Li, Guang, et al. "Soft-label anonymous gastric x-ray image distillation." ICIP 2020.

[3] Zhao, Bo, et al. "Dataset Condensation with Gradient Matching." ICLR 2021.

[4] Cazenavette, George, et al. "Dataset distillation by matching training trajectories." CVPR 2022.

相关文章
|
机器学习/深度学习
CNN模型识别cifar数据集
构建简单的CNN模型识别cifar数据集。经过几天的简单学习,尝试写了一个简单的CNN模型通过cifar数据集进行训练。效果一般,测试集上的的表现并不好,说明模型的构建不怎么样。# -*- coding = utf-8 -*-# @Time : 2020/10/16 16:19# @Author : tcc# @File : cifar_test.py# @Software : pycha...
70 0
|
XML 存储 JSON
YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
2419 0
YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
|
2月前
|
计算机视觉
数据集学习笔记(三):COCO创建dataloader用于训练
如何使用COCO数据集创建dataloader进行训练,包括安装环境、加载数据集代码、定义数据转换、创建数据集对象以及创建dataloader。
51 5
|
7月前
|
机器学习/深度学习 自然语言处理 数据可视化
基于CIFAR数据集 进行 MAE实现及预训练可视化 (CIFAR for MAE,代码权重日志全部开源,自取)
基于CIFAR数据集 进行 MAE实现及预训练可视化 (CIFAR for MAE,代码权重日志全部开源,自取)
|
7月前
|
机器学习/深度学习 算法 数据可视化
模型训练(Model Training)
模型训练(Model Training)是指使用数据集对模型进行训练,使其能够从数据中学习到特征和模式,进而完成特定的任务。在深度学习领域,通常使用反向传播算法来训练模型,其中模型会根据数据集中的输入和输出,不断更新其参数,以最小化损失函数。
612 1
|
机器学习/深度学习
如何搭建VGG网络,实现Mnist数据集的图像分类
如何搭建VGG网络,实现Mnist数据集的图像分类
141 0
|
机器学习/深度学习
推理(Inference)与预测(Prediction)
推理(Inference)与预测(Prediction)
521 1
推理(Inference)与预测(Prediction)
|
机器学习/深度学习 算法 计算机视觉
YOLOv5的Tricks | 【Trick2】目标检测中进行多模型推理预测(Model Ensemble)
在学习yolov5代码的时候,发现experimental.py文件中有一个很亮眼的模块:Ensemble。接触过机器学习的可能了解到,机器学习的代表性算法是随机森林这种,使用多个模型来并行推理,然后归纳他们的中值或者是平均值来最为整个模型的最后预测结构,没想到的是目标检测中也可以使用,叹为观止。下面就对其进行详细介绍:
1503 1
|
机器学习/深度学习 数据可视化 PyTorch
YOLOv5的Tricks | 【Trick11】在线模型训练可视化工具wandb(Weights & Biases)
YOLOv5的Tricks | 【Trick11】在线模型训练可视化工具wandb(Weights & Biases)
1303 0
YOLOv5的Tricks | 【Trick11】在线模型训练可视化工具wandb(Weights & Biases)
|
机器学习/深度学习 算法 数据可视化
【29】知识蒸馏(knowledge distillation)测试以及利用可学习参数辅助知识蒸馏训练Student模型
【29】知识蒸馏(knowledge distillation)测试以及利用可学习参数辅助知识蒸馏训练Student模型
1062 0
【29】知识蒸馏(knowledge distillation)测试以及利用可学习参数辅助知识蒸馏训练Student模型

相关实验场景

更多