Page 15 - 《软件学报》2024年第4期
P. 15

刘鑫  等:  基于多样真实任务生成的鲁棒小样本分类方法                                                     1593



















               (a)  聚类将类别分成两簇                  (b)  簇间任务 Mixup:来自不同簇的样本进行线性组合
                                          图 3   簇间任务 Mixup 例子
         3.2   任务真实性约束

             除了生成任务的多样性,  我们还需要考虑生成任务的真实性.  虽然簇间任务 Mixup 可以增加任务的多样
         性,  但也可能生成没有意义的图片或者引入噪声,  误导模型的学习.  因此,  如何约束生成的任务符合真实的任
         务分布,  提高训练任务的质量也是十分重要的.  MMD 是通过计算两个分布的均值距离来度量两个分布的差
         异,  被广泛应用于域泛化和域自适应领域来缩小源域与目标域之间的分布差距                            [35−37] .  受此启发,  我们通过最
         小化生成任务与已有任务之间的 MMD 来保证生成任务的真实性,  损失函数如下:
                                                                      +
                                1  M    1    N×  (KQ )       1    N×  (KQ )  2  
                                                 +
                         L       ∑             ∑  f =  (H   ) −    ∑  f  ()   H            (4)
                          MMD
                               M  m= 1 N ×     (K +  Q )  i= 1  cr  N ×  (K +  Q )  i= 1    
                          
         其中, f(⋅)是核函数,  H 和 H 分别是生成的任务和真实任务中的样本表示, M 是元训练任务的数量.  在计算中,
                           cr
         如果每次都计算合成任务与所有真实任务之间的 MMD 距离,  需要足够大的内存来存储所有任务.  因此,  在实
         验中我们用每个批次中的所有任务来代替全部任务.
         3.3   算   法
             生成任务后,  我们利用生成的任务代替原来的任务进行学习.  我们的方法主要是提出一种同时考虑多样
         性和真实性的任务生成策略,  可以作用于所有基于元学习的小样本分类方法上.  以 MAML 模型为基础模型,
         其算法见算法 1.  可以看到, DATG 与 MAML 方法的主要不同之处在于元训练任务的构建. MAML 方法通过在
         随机选取的任务上学习一个好的初始点θ, DATG 通过先对基类进行聚类(算法第 2 行),  在不同簇中选取任进行
         务 Mixup 以提高生成任务的多样性(算法第 4−9 行),  并通过引入A MMD 保证生成任务的真实性(算法第 10
         −14 行),  进而学习一个更具泛化性的初始点θ.
             算法 1. DATG 算法.
             输入:  基类; Beta 分布; η; γ;
             1:   随机初始化模型参数θ
             2:   对基类进行聚类,  得到两个簇
             3:   for iter<n iter  do
                                                   | |I
             4:   从一个簇中随机采样一个批次的任务 { }          ii= 1
             5:      for  每个任务   i  do
             6:        从另一个簇中随机采样一个任务 j
             7:        随机选择要进行 Mixup 的层 l
             8:        得到任务 i 和任务 j 中样本在第 l 层的隐表示
   10   11   12   13   14   15   16   17   18   19   20