当前位置: 首页 > 科技观察

迁移学习中域适应的理解和3种技术介绍

时间:2023-03-20 01:29:31 科技观察

域适应是计算机视觉的一个领域,我们的目标是在目标数据集上训练一个神经网络,在目标数据集上也有很好的准确性。为了更好地理解域适配及其应用,我们先来看看它的一些用例。我们有许多用于不同目的的标准数据集,例如用于交通标志识别的GTSRB、用于交通灯检测的LISA和LARA数据集、用于对象检测和分割的COCO等。但是,如果您希望神经网络很好地完成您的任务,例如就像识别印度道路上的交通标志,那么你必须先收集印度道路的各种类型的图像,然后对这些图像进行标记,这是一项耗时的工作。艰巨的任务。在这里我们可以使用域自适应,因为我们可以在GTSRB(源数据集)上训练模型并在我们的印度交通标志图像(目标数据集)上测试它。在许多情况下,很难收集到具有训练鲁棒神经网络所需的所有变化和多样性的数据集。在这种情况下,借助不同的计算机视觉算法,我们可以生成具有我们需要的所有变化的大型合成数据集。然后神经网络在合成数据集(源数据集)上进行训练,并在真实数据集(目标数据集)上进行测试。为了更好地理解,我假设我们没有可用于目标数据集的注释,但这不是唯一的情况。因此,在域适应中,我们的目标是在一个标签可用的数据集(源)上训练神经网络,并保证在标签不可用的另一个数据集(目标)上有良好的性能。分类管道现在让我们看看如何实现我们的目标。考虑上面的图像分类示例。为了从一个领域适应另一个领域,我们希望我们的分类器擅长从源数据集和目标数据集中提取特征。由于我们已经在源数据集上训练了神经网络,因此分类器必须在源数据集上表现良好。然而,为了使分类器在目标数据集上表现良好,我们希望从源数据集和目标数据集提取的特征相似。因此,在训练期间,我们增强特征提取以提取源域和目标域图像的相似特征。SuccessfuldomainadaptationTypesofdomainadaptationbasedonthetargetdomain根据目标域提供的数据类型,域自适应可以分为以下几类:域数据集比源数据集要小得多。半监督——你有目标域的标记和未标记数据。无监督——你有许多目标域的未标记样本。域自适应技术主要采用三种技术实现任意域自适应算法。以下是领域适应的三种技术:基于分布的领域适应基于对抗性的领域适应基于重构的领域适应现在让我们一一看看每一种技术。Distribution-baseddomainadaptation基于散度的域自适应的原理是最小化源分布和目标分布之间的散度准则,从而获得域不变特征。常用的分布准则包括比较域描述、相对对齐、最大均值差(MMD)、Wasserstein等。为了更好地理解这个算法,我们先来看看一些不同的分布。在最大均值差(MMD)中,我们试图找出给定的两个样本是否属于同一分布。我们将两个分布之间的距离定义为平均嵌入特征之间的距离。如果我们在集合X上有两个分布P和Q。MMD由特征映射X→H定义,其中H重新生成核Hilbert空间。MMD的公式如下:为了更好地理解MMD,请看下面的描述:如果两个分布的矩相似,则它们相似。通过使用内核,我可以转换变量,从而计算所有时刻(第一、第二、第三等)。在潜在空间中,我可以计算时刻之间的差异并对它们进行平均。在相关对齐中,我们尝试对齐源域和目标域之间的相关性(二阶统计量),而不是使用MMD中的线性变换对齐均值。上述结构假设源域和目标域在训练和推理过程中具有相同的类别。在上述架构中,在训练过程中,我们最小化了两种损失,分类损失和基于发散的损失。分类损失通过更新特征提取器和分类器的权重来确保良好的分类性能。散度损失通过更新特征提取器的权重确保源域和目标域的特征相似。在推理过程中,我们只是将目标域图像传递给神经网络。所有分布通常都是非参数和人工数学公式,不特定于数据集或我们的问题,例如分类、对象检测、分割等。因此,这种基于分布的方法并不能很好地解决我们的问题。但是,如果可以从数据集或问题中学习分布,那么它将比传统的预定义分布表现得更好。基于对抗的域适应为了实现基于对抗的域适应,我们使用GAN。这里我们的生成器是一个简单的特征提取器,我们添加了一个新的鉴别器网络来学习区分源域和目标域的特征。由于这是一个双人游戏,鉴别器帮助生成器生成源域和目标域无法区分的特征。由于我们有一个可学习的鉴别器网络,我们学习特定于我们的问题和数据集的特征提取,这可以帮助区分源域和目标域,从而帮助生成器产生更强大的特征,即不能轻易区分的特征。训练的时候,在源域上训练的时候,假设目标域上有一个分类问题,我们使用两种loss,classificationloss和discriminatorloss。前面已经解释了分类损失的目的。鉴别器损失有助于鉴别器正确区分源域和目标域的特征。这里我们使用梯度反向层(GRL)来实现对抗训练。GRL块是一个简单的块,它在反向传播期间将梯度乘以-1或负值。在训练期间,为了更新生成器,我们有两个方向的梯度,第一个来自分类器,第二个来自鉴别器。由于GRL的存在,判别器的梯度乘以负值,导致训练生成器的效果与判别器相反。例如,如果优化鉴别器损失函数的计算梯度为2,则我们用-2更新生成器(假设负值为-1)。通过这种方式,我们尝试训练生成器生成连鉴别器都无法区分源域和目标域的特征。GRL层广泛用于许多领域适应文献中。基于重建的域适应这是基于图像到图像的转换。一种简单的方法是学习从目标域图像到源域图像的转换,然后在源域上训练分类器。我们可以用这个想法引入多种方法。图像到图像转换的最简单模型可以基于编码器-解码器网络,并使用鉴别器强制编码器-解码器网络生成与源域相似的图像。训练时间测试时间的另一种方法是使用CycleGAN。CycleGAN采用??了基于两个编解码器的神经网络。一个用于将目标域转换为源域,另一个用于将源域转换为目标域。我们同时训练从两个域(源和目标)生成图像的GAN。为了保证一致性,引入了循环一致性损失。这确保了从一个域转换到另一个域并再次返回会产生与输入大致相同的图像。因此,两个配对网络的总损失之和就是鉴别器损失和循环一致性损失之和。总结我们已经看到三种不同的技术可以帮助我们实现或实施不同的领域适应方法。它在图像分类、目标检测、分割等不同任务中都有很好的应用。在某些方面,我们可以说这种方法类似于人类学习视觉识别不同事物的方式。我希望这篇博客能让您了解我们如何考虑不同的域适配管道。英文原文:https://levelup.gitconnected.com/understanding-domain-adaptation-63b3bb89436f