文章目录
Dataset Condensation with Distribution Matching
论文:Dataset Condensation with Distribution Matching
代码:VICO-UoE/DatasetCondensation
摘要及介绍
- 设计新的深度学习模型或将其应用于新任务需要更多的计算,因为它们涉及在同一数据集上多次训练多个模型以验证设计选择,例如损失函数、架构和超参数[5,14],这需要大量的训练时间。
- 虽然在小压缩图像集上训练深度模型可以非常快,但由于复杂的双层最优化和二阶导数计算,它们的合成仍然计算成本高昂。
同作者先前工作
- 参数匹配
Dataset condensation with gradient matching
数据集蒸馏论文(三):Dataset condensation with gradient matching - 可微Siamese增强
Dataset Condensation with Differentiable Siamese Augmentation
数据集蒸馏论文(四):Dataset Condensation with Differentiable Siamese Augmentation
本文方法
- 提出通过匹配许多采样嵌入空间中合成和原始训练图像的特征分布来合成压缩图像。
- 该方法显着降低了合成成本,同时实现了相当或更好的性能。
- 由于其效率,本文将其方法应用于具有复杂神经架构的更真实和更大的数据集,并获得了显着的性能提升。
- 此外,展示了该方法在持续学习和神经架构搜索方面的优势。
概述
- 结合了以前的核心集和数据集压缩方法的优点,同时避免了它们的局限性。
- 与前者不同与后者相同,本文方法不限于原始数据集中的单个样本,并且可以合成训练图像;与前者相同与后者不同,本文方法可以非常有效地生成合成集,并避免昂贵的双层最优化。
- 特别是,本文将此任务作为分布匹配问题,以便通过使用最大平均偏差(MMD)[18]估计来优化合成数据以匹配嵌入空间族中的原始数据分布(见图1)。
DM方法随机采样真实和合成数据,然后将它们嵌入随机采样的深度神经网络。通过最小化这些采样嵌入空间中真实和合成数据之间的分布差异来学习合成数据。 - DM方法比DSA快得多(例如,在CIFAR10中合成500张图像时为45×),并且只调整一个超参数(合成图像的学习率),同时获得相当或更好的结果。
- DM方法的训练可以针对每个类并行地独立运行,并且可以分配其计算负载。
- DM方法为大规模设置提供了不同的训练成本/性能权衡。
- 与先前仅限于在小数据集上学习小合成集的工作[46,32]相比,DM方法可以成功地应用于更真实的环境,即为CIFAR10[23]和更大的数据集(即TinyImageNet[25]和ImageNet-1K[13])合成每类1250张图像。
方法
2.2 Dataset Condensation with Distribution Matching
- 本文假设每个训练图像 x ∈ R d x\in{\mathfrak{R}^d} x∈Rd 可以通过使用一系列参数函数 ψ ϑ : R d → R d ′ \psi_\vartheta:{\mathfrak{R}^d}\rightarrow{\mathfrak{R}^{d'}} ψϑ:Rd→Rd′ 嵌入到较低维空间中,其中 d ≪ d ′ d{\ll}d' d≪d′ , ϑ \vartheta ϑ 是参数。
- 换句话说,每个嵌入函数 ψ \psi ψ 都可以被视为提供其输入的部分解释,而它们的组合提供了一个完整的解释。
- 现在可以用常用的最大平均偏差(MMD)估计真实和合成数据分布之间的距离[18]:
s u p ∣ ∣ ψ ϑ ∣ ∣ H ≤ 1 ( E [ ψ ϑ ( T ) ] − E [ ψ ϑ ( S ) ] ) (4) {\underset {||\psi_\vartheta||_\mathcal{H}\leq1}{\mathsf{sup}}}(\mathbb{E}[\psi_\vartheta(\mathcal{T})]-\mathbb{E}[\psi_\vartheta(\mathcal{S})]) \tag{4} ∣∣ψϑ∣∣H≤1sup(E[ψϑ(T)]−E[ψϑ(S)])(4)其中, H \mathcal{H} H 正在再现核Hilbert空间。由于无法获取真实数据分布,本文使用MMD的经验估计:
E ϑ ∼ P ϑ ∣ ∣ 1 ∣ T ∣ ∑ i = 1 ∣ T ∣ ψ ϑ ( x i ) − 1 ∣ S ∣ ∑ j = 1 ∣ S ∣ ψ ϑ ( s j ) ∣ ∣ 2 (5) {\mathbb{E}_{\vartheta{\sim}P_\vartheta}}||{{1 \over |\mathcal{T}|}{\sum_{i=1}^{|\mathcal{T}|}\psi_\vartheta(x_i)}}-{{1 \over |\mathcal{S}|}{\sum_{j=1}^{|\mathcal{S}|}\psi_\vartheta(s_j)}}||^2 \tag{5} Eϑ∼Pϑ∣∣∣T∣1i=1∑∣T∣ψϑ(xi)−∣S∣1j=1∑∣S∣ψϑ(sj)∣∣2(5)其中, P ϑ P_\vartheta Pϑ 是网络参数的分布。 - 与[51]一样,本文将可微Siamese增强(DSA)
A
(
⋅
,
ω
)
\mathcal{A}(\cdot,\omega)
A(⋅,ω) 应用于训练中对真实和合成小批量实施相同随机采样增强的真实和合成数据,其中
ω
∼
Ω
\omega\sim\Omega
ω∼Ω 表示增强参数,例如旋转度。因此,学习到的合成数据可以从语义保持变换(例如裁剪)中受益,并在使用数据增强训练深度神经网络的同时学习样本空间配置的先验知识。最后,本文解决了以下最优化问题:
m i n S E ϑ ∼ P ϑ ω ∼ Ω ∣ ∣ 1 ∣ T ∣ ∑ i = 1 ∣ T ∣ ψ ϑ ( A ( x i , ω ) ) − 1 ∣ S ∣ ∑ j = 1 ∣ S ∣ ψ ϑ ( A ( s j , ω ) ) ∣ ∣ 2 {\underset {\mathcal{S}}{min}}{\mathbb{E}}_{\underset {\omega\sim\Omega}{{\vartheta{\sim}P_\vartheta}}}||{{1 \over |\mathcal{T}|}{\sum_{i=1}^{|\mathcal{T}|}\psi_\vartheta(\mathcal{A}(x_i,\omega))}}-{{1 \over |\mathcal{S}|}{\sum_{j=1}^{|\mathcal{S}|}\psi_\vartheta(\mathcal{A}(s_j,\omega))}}||^2 SminEω∼Ωϑ∼Pϑ∣∣∣T∣1i=1∑∣T∣ψϑ(A(xi,ω))−∣S∣1j=1∑∣S∣ψϑ(A(sj,ω))∣∣2 - 本文通过采样 ϑ \vartheta ϑ 最小化不同嵌入空间中两个分布之间的差异来学习合成数据 S \mathcal{S} S 。
- 重要的是,式(6)可以有效地求解,因为它只需要优化 S \mathcal{S} S ,而不需要模型参数,从而避免了昂贵的双层最优化。
- 先前方法涉及对网络参数θ和合成数据S的双层优化。
- 注意:针对图像分类问题时,只最小化同一类的真实样本和合成样本之间的差异。本文假设每个真实训练样本都被标记,还为每个合成样本设置标签,并在训练期间保持固定。
Training Algorithm
-
算法1描述了基于 mini-batch 的训练算法。
-
训练合成数据进行K次迭代。
-
在每个迭代中,本文用参数 ϑ ∼ P ϑ \vartheta\sim{P_\vartheta} ϑ∼Pϑ 随机采样模型 ψ ϑ \psi_\vartheta ψϑ 。
-
然后对每一类 c c c 采样一对真实和合成数据batches( B c T ∼ T B_c^{\mathcal{T}}\sim\mathcal{T} BcT∼T and B c S ∼ S B_c^{\mathcal{S}}\sim\mathcal{S} BcS∼S)和增强参数 ω c ∼ Ω \omega_c\sim\Omega ωc∼Ω 。
-
计算每个类的增强真实和合成batches之间的平均差异,然后求和为损失 L \mathcal{L} L 。合成数据 S \mathcal{S} S 通过随机梯度下降和学习率 η \eta η 最小化 L \mathcal{L} L 来更新。
实验