机器学习的数据合成-二-

90 阅读44分钟

机器学习的数据合成(二)

原文:annas-archive.org/md5/9d5ab593b867c3a47f27572d629020aa

译者:飞龙

协议:CC BY-NC-SA 4.0

第十四章:合成到真实领域自适应

本章向您介绍了一个常见的问题,通常限制了合成数据的使用性,称为领域差距问题。在本章中,您将学习到各种弥合这一差距的方法,这将帮助您更好地利用合成数据。同时,本章讨论了合成到真实领域的自适应的最新研究。因此,您将了解您可能用于自己问题的方法。然后,它代表了在此背景下的问题和挑战,以便更好地理解这个问题。

在本章中,我们将涵盖以下主要主题:

  • 机器学习中的领域差距问题

  • 合成到真实领域自适应的方法

  • 合成到真实领域自适应——问题和挑战

机器学习中的领域差距问题

在本节中,我们将了解领域差距是什么以及为什么它在机器学习中是一个问题。领域差距是限制合成数据在实际中可用性的主要问题之一。它通常指的是两个或更多领域中的数据分布和属性的不相似性。它不仅与合成数据相关。然而,它是机器学习中一个常见的问题。在测试类似但略有不同的数据集时,通常会发现机器学习模型性能的下降。更多信息,请参阅 Who is closer: A computational method for domain gap evaluation (doi.org/10.1016/j.patcog.2021.108293)。

数据集之间领域差距的主要原因可以与以下因素相关联:

  • 对传感器变化的敏感性

  • 类别和特征分布的差异

  • 概念漂移

让我们更详细地讨论这些观点。

对传感器变化的敏感性

在计算机视觉中,你的机器学习模型可能在某些相机、设置和参数捕获的图像上表现良好,但在使用不同相机或不同参数捕获的相似输入下会彻底失败。例如,你的计算机视觉模型可能在从第一人称视角捕获的视频上表现良好,但在从第三人称视角捕获的视频上会彻底失败。因此,我们可以看到,即使是同一任务,如动作识别,通常也会侧重于研究人的视角,如在通过建模主体-动作相关性进行第一人称活动识别doi.org/10.1109/IJCNN55064.2022.9892547)。另一个例子是相机的视野FoV)。一些计算机视觉任务,如语义分割,也是在特定的相机视野下进行的。在标准视野下捕获的 Cityscapes 和 Synscapes 数据集上训练的语义分割方法,在由超广角鱼眼镜头捕获的鱼眼图像上进行分割时会失败。例如,请参阅FPDM:用于门 监控的鱼眼全景分割数据集(ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9959151)。

类别和特征分布的差异

属性、类别和特征分布的差异或不一致性是合成域和真实域之间或甚至在同一真实域中训练和测试在不同数据集上时出现领域差距的主要原因之一。当处理基于时间序列的问题时,这一点可以清楚地观察到。很多时候,训练数据变得过时,并不来自测试或评估数据的同一分布。例如,一个基于一年前收集的数据来预测通货膨胀率的机器学习模型,一旦应用于当前数据,可能由于领域差距问题而表现不佳。这是因为源数据和目标数据分布以及特征现在与预期不同。

概念漂移

概念漂移指的是输入(特征)和输出(目标)之间关系的变化。让我们举一个说明性的例子。假设我们设计了一个对象分类器,“打印机”是我们感兴趣的对象之一。正如你在图 14.1中可以看到的,“打印机”概念在时间上发生了剧烈变化,从早期的打字机到喷墨打印机,再到激光打印机。因此,如果你的训练数据只包含旧打印机(打字机),它将因为领域差距问题而难以准确分类现代打印机。

图 14.1 – 概念漂移的示例(来源:Pixabay)

图 14.1 – 概念漂移的示例(来源:Pixabay)

接下来,让我们探讨缓解合成域和真实域之间领域差距问题的主要解决方案。

从合成到现实域自适应的方法

在本节中,你将学习从合成到现实域自适应的关键方法。我们将讨论以下方法:

  • 域随机化

  • 对抗域自适应

  • 基于特征的域自适应

让我们从域自适应中最常用的方法之一开始。

域随机化

域随机化是一种通常用于缓解域差距问题并提高目标域上机器学习模型性能的机制或程序。这种方法旨在随机化训练数据或环境的主要属性和属性,例如模拟器,以增加机器学习模型在训练阶段所接触到的场景的多样性。因此,我们可以增加机器学习模型对未来可能遇到的场景的鲁棒性。有关更多信息,请参阅从模拟到现实世界的域随机化,用于迁移深度神经网络 (arxiv.org/pdf/1703.06907.pdf)。

让我们考察在两个有趣的领域中通常随机化的主要元素:计算机视觉和自然语言处理。

计算机视觉

在几乎任何计算机视觉问题、任务或系统中,我们都有以下四个主要元素,如图图 14.2所示。2:

图 14.2 – 计算机视觉中要随机化的主要元素

图 14.2 – 计算机视觉中要随机化的主要元素

接下来,让我们更详细地讨论这些元素。

  • 物体:它们通常是计算机视觉的主要焦点。它们充满场景并与彼此、光照和环境相互作用。计算机视觉中的许多主要任务,如物体检测、识别、分割和跟踪,从根本上与这些图像在三维世界中的外观以及世界如何被相机投影为二维图像有关。

利用域随机化来缓解域差距,例如,我们可以随机化以下元素以多样化物体的外观:

  • 纹理和材料

  • 颜色

  • 形状

  • 维度

  • 变形和动画

正如你所见,决定哪些因素更相关取决于任务和问题。

  • 光照:尽管光照对于使物体对观察者可见是必要的,但它几乎为几乎所有计算机视觉任务都带来了一个令人畏惧的问题。光照条件的一点点变化会极大地改变物体的外观,从而改变像素的强度,这使得这些物体对于基于机器学习的计算机视觉模型来说难以识别、检测或跟踪。

因此,为了使我们的机器学习模型在各种光照条件下保持鲁棒性,我们可能需要多样化以下元素:

  • 光照强度

  • 光照颜色和温度

  • 光源

  • 光照异常:耀斑、眩光和闪烁

  • 相机和传感器特性:相机从场景中捕获视觉数据,这是计算机视觉模型最通用和传统的输入。因此,为了确保我们的机器学习模型即使在新的相机设置下也能很好地泛化,我们需要在训练阶段多样化,例如,多样化的相机设置。这可以通过以下方式实现:

    • 相机位置

    • 方向

    • 海拔

    • 视角

    • 光圈、曝光和焦点

此外,相机参数(如焦距)的变化也可能极大地改变世界被捕捉和感知的方式。因此,它将直接影响计算机视觉系统识别世界的方式。因此,我们可能需要在我们的训练数据中考虑以下传感器特性变化:

  • 镜头畸变

  • 蒙影

  • 色差

  • 划痕

  • 光泄漏

  • 环境因素:即使场景、光照和相机参数相同,环境因素也会在很大程度上改变场景可能的外观。例如,像雾这样的天气条件充当低通滤波器,移除远离相机的物体细节。因此,这使得在这些场景中提取稳健特征变得更加困难。因此,许多机器学习模型可能在类似情况下失败或挣扎。

在许多情况下,我们无法清楚地识别我们的计算机视觉系统将工作的环境因素,因此我们可能需要随机化以下因素:

  • 天气状况

  • 白天时间

  • 室内和室外环境

  • 污染程度

  • 风的影响

  • 地形和景观

  • 路面状况

  • 人群密度

  • 背景杂乱

  • 地理位置信息

因此,基于我们在本节中学到的知识,为了缓解源(训练)和目标(评估)域之间的领域差距,我们需要在训练过程中使我们的机器学习模型学习的场景多样化并随机化。接下来,让我们深入了解如何利用领域随机化来解决 NLP 问题。

自然语言处理(NLP)

与我们在计算机视觉中讨论的类似,领域随机化也可以用于 NLP 问题。通常,它可以部署来使 NLP 模型更加鲁棒和准确。更多信息,请参阅 《扩大规模与提炼:语言引导的机器人技能获取》 (arxiv.org/abs/2307.14535)。

如您在 图 14.3 中所见,有四个关键元素可以随机化,以在实际中提高 NLP 模型的泛化能力:

图 14.3 – NLP 中需要随机化的主要元素

图 14.3 – NLP 中需要随机化的主要元素

让我们详细讨论以下这些元素:

  • 文本变化:为了提高 NLP 模型对现实世界问题的泛化能力和鲁棒性,引入了许多文本变化来增强和补充训练数据。这通常通过以下元素的变化来完成:

    • 词汇表

    • 句子结构

    • 句子长度

  • 上下文:NLP 模型可以在不同的上下文中以及各种应用中使用。例如,ChatGPT 可以用来回答关于各种主题的问题,如医疗保健、数学、金融和历史。它可以用来提出旅行计划,甚至总结文本。因此,在训练数据中多样化这些元素至关重要:

    • 主题

    • 领域

    • 文本体裁,如社交媒体、研究论文和小说

  • 语言因素:一个理想的 NLP 模型应该能够处理和回应不同格式和风格的查询。此外,它应该能够理解各种应用中的情感。因此,以下因素应在训练阶段随机化,以确保在实际应用中表现更佳:

    • 风格,如正式、非正式、技术或口语

    • 情感,如积极、消极或中性表达

  • 噪声和扰动:在训练数据中引入扰动,并指导 NLP 模型如何处理这些场景,将确保您的 ML 模型学会如何正确应对这些问题。现实世界是嘈杂的,因此在训练阶段关注以下因素至关重要,以覆盖通常在文本数据中观察到的这些已知不完美之处:

    • 拼写错误

    • 语法错误

    • 标点符号错误

接下来,让我们探索另一种有趣的域适应方法。

对抗域适应

对抗域适应是基于 GANs 在合成域和真实域之间架起桥梁的另一种强大技术。在这种域适应方法中,生成器试图提取域无关的特征,而判别器试图识别数据的来源:合成还是真实。一旦模型训练完成,判别器无法再识别数据域的来源,生成器就可以生成域不变的特征。更多信息,请参阅对抗判别域 适应 (arxiv.org/pdf/1702.05464.pdf)。

让我们简要讨论一个来自计算机视觉的例子,说明这种合成到真实域的自适应方法如何被利用。例如,让我们考虑车辆重识别问题。研究表明,使用对抗性领域自适应训练合成和真实数据提高了两个评估真实数据集CityFlow-ReID (paperswithcode.com/dataset/cityflow)和VeRi (github.com/VehicleReId/VeRi)的性能,与其他解决方案相比有很好的差距。该方法在合成和真实车辆重识别数据集的混合上训练。机器学习模型被引导学习判别性特征,特别是从真实训练图像中学习。同时,它还被引导学习合成域和真实域之间的共同特征。更多细节请参阅StRDAN:用于车辆重识别的合成到真实域自适应网络 (arxiv.org/abs/2004.12032)。接下来,让我们看看另一种用于领域自适应的方法。

基于特征的领域自适应

与先前的方法不同,基于特征的领域自适应旨在学习一种变换,该变换可以从合成域和真实域中提取域无关的特征。这种方法将两个域的特征转换成新的表示,然后最小化合成域和真实域之间的差异。换句话说,这种方法试图使两个域的特征分布相互对齐。因此,这种方法促使机器学习模型学习基本特征,同时丢弃特定于领域的细节和变化。例如,如果机器学习模型通过在Synscapes (synscapes.on.liu.se)和Cityscapes (www.cityscapes-dataset.com)数据集上训练来学习语义分割,我们希望模型能够通过某种方式学习这些对象的意义。例如,人类通常在人行道或人行道上行走,他们通常具有胶囊状形状。这些都是我们希望模型学习的高级和域不变特征。

最后,为了详细了解领域自适应方法,请参阅领域自适应简评 (arxiv.org/pdf/2010.03978v1.pdf)。现在,我们已经了解了通常用于合成到真实域自适应的一些关键方法。接下来,让我们深入了解它们的共同局限性以及如何在实践中克服它们。

合成到真实域的自适应——问题和挑战

在本节中,你将探索从合成到真实领域自适应的主要问题和挑战。这将帮助你了解这种方法的优势。此外,它还将为你提供更深入的了解,了解如何在你的问题中克服这些问题。因此,我们将重点关注以下问题:

  • 未知的领域

  • 有限的真实数据

  • 计算复杂性

  • 合成数据局限性

  • 多模态数据复杂性

让我们在以下小节中详细讨论它们。

未知的领域

在许多情况下,目标是确保你的机器学习模型能够很好地泛化到新的领域。如果我们知道领域,领域自适应方法可能有效。然而,有时预测这个新领域的属性是不可能的。例如,假设你有一个在欧洲表现良好的计算机视觉模型,但你还想让这个算法在中国、非洲、中东甚至火星上也能工作!我们并不总是能够拥有关于机器学习模型将要部署的环境或领域的先进知识,以便进行适当的适应。

有限的真实数据

如我们所知,真实数据稀缺且昂贵。因此,监督式领域自适应方法不能轻易应用于所有机器学习问题。此外,合成领域和真实领域之间配对数据的有限可用性使得问题更加困难。因此,从合成领域到真实领域的映射学习确实复杂且繁琐。

计算复杂性

领域自适应方法计算成本高,可能需要资源、时间、经验、大量预算和领域专家。因此,训练这些模型,尤其是对抗性领域自适应模型,并不容易,有时甚至具有挑战性。

合成数据局限性

合成数据有一些局限性,特别是如果数据生成不当。合成数据可能缺乏真实数据的多样性和现实性。因此,这使得适应方法弥合差距变得更加困难。请参阅第十三章

多模态数据复杂性

最近最先进的计算机视觉系统,如 Tesla Vision Autopilot,利用来自不同来源的数据,例如摄像头、激光雷达传感器、雷达传感器、加速度计和陀螺仪。然而,生成和标注真实数据以及将其与合成数据匹配并不是一个简单的过程。例如,可以生成语义分割、光流或其他相关地面真实情况,但模拟虚拟世界中加速度计和陀螺仪的行为非常困难。此外,开发一个提供所有这些地面真实情况的模拟器非常复杂。与此并行,领域自适应学习如何适当地将一个领域的数据适应到另一个领域也相当困难。

总结

在本章中,你学习了机器学习领域中域差距问题的本质。此外,你还探讨了缓解该问题的主要解决方案。我们重点讨论了计算机视觉和自然语言处理中的域随机化。然后,你了解了从合成域到真实域适应的主要问题和局限性。在下一章中,我们将探讨并强调合成数据中的多样性问题,以便更好地理解合成数据在机器学习中的优缺点。

第十五章:合成数据中的多样性问题

本章向您介绍合成数据领域的一个众所周知的问题,即生成多样化的合成数据集。它讨论了确保大规模数据集中高度多样性的不同方法。然后,它突出了实现合成数据多样性的问题和挑战。

在本章中,我们将涵盖以下主要内容:

  • 机器学习中多样化数据的需求

  • 生成多样化的合成数据集

  • 合成数据领域中的多样性问题

机器学习中多样化数据的需求

正如我们在前面的章节中讨论和看到的,多样化的训练数据提高了机器学习模型对新领域和上下文的泛化能力。实际上,多样性有助于你的基于机器学习的解决方案更准确,更好地适用于现实世界场景。此外,它使模型对噪声和异常更加鲁棒,这在实践中通常是不可避免的。有关更多信息,请参阅 Diversity in Machine Learning (arxiv.org/abs/1807.01477) 和 Performance of Machine Learning Algorithms and Diversity in Data (doi.org/10.1051/MATECCONF%2F201821004019)。

接下来,让我们强调使用多样化训练数据在机器学习中的主要优势。总的来说,在多样化的数据集上训练和验证你的机器学习模型可以提高以下方面:

  • 可迁移性

  • 问题建模

  • 安全性

  • 调试过程

  • 对异常的鲁棒性

  • 创造力

  • 客户满意度

现在,让我们更详细地探讨这些要素中的每一个。

可迁移性

当你在涵盖各种场景、环境和上下文的多样化数据上训练你的机器学习模型时,你提高了你的机器学习解决方案在其他应用和领域中的可迁移性。其原因是,当模型在训练阶段学习如何处理更多样化的情况时,它就更能适应新的、未见过的上下文。有关更多信息,请参阅 Can Data Diversity Enhance Learning Generalization? (aclanthology.org/2022.coling-1.437)。

更好的问题建模

多样化的训练数据使机器学习模型能够从不同的角度看待问题。例如,让我们考虑我们的机器学习模型正在学习一个语义分割任务。在恶劣天气条件下以及具有各种颜色、纹理和形状的物体下训练模型,将有助于模型更好地学习从 RGB 图像到语义分割图像的映射。因此,它将显著提高性能,因为模型已经学会了如何捕捉各种变化下的更广泛范围的模式。这些模式和输入特征与输出标签之间的关联,在训练数据集较少多样化的情况下可能不容易识别。

安全性

最近的研究表明,在多样化的训练数据上训练您的机器学习模型可以提高模型对对抗攻击的鲁棒性。因此,多样化的训练数据使您的模型更加可靠和安全。例如,在多样化的对抗训练样本集上训练您的机器学习模型可以显著提高模型对对抗攻击的鲁棒性。这些攻击主要涉及通过添加噪声来操纵图像,以欺骗机器学习模型,同时仍然使它们对人类眼睛来说是可识别的。例如,某些像素强度的轻微变化,如交通标志的颜色,可能会导致机器学习模型以高置信度错误地将它归类为不同的类别。更多信息,请参阅 针对深度神经网络对抗攻击的多样性对抗训练 (www.mdpi.com/2073-8994/13/3/428) 和 对抗攻击在交通标志识别中的应用:一项 调查 (arxiv.org/pdf/2307.08278.pdf)。

调试过程

利用多样化的数据在验证和评估阶段有助于机器学习从业者识别其机器学习模型和算法的弱点和局限性。因此,他们可以在具有挑战性的场景下避免代价高昂的失败。此外,他们可以迭代他们的解决方案并减轻任何潜在的问题和问题。例如,假设我们正在提出一个新的个人识别机器学习模型。为了清楚地了解我们模型的局限性,我们需要在涵盖各种照明条件、摄像机视角、室内和室外场景以及其他相关属性的不同数据集上评估该模型。这将帮助我们找出我们方法中的弱点。通过回到我们的例子,我们可能会看到我们的模型在夜间或摄像机非常靠近人的时候难以识别人。这种观察对于改进模型和防止代价高昂的失败至关重要,而这不能在没有使用适当的多样化验证或评估数据集的情况下实现。

对异常的鲁棒性

在包含异常的多样化训练数据上训练您的机器学习模型有助于模型学习如何处理类似的情况。因此,它使您的基于机器学习的解决方案对异常值和意外情况更加鲁棒。例如,假设您为深度估计训练了机器学习模型,该模型是在正常条件下由行业标准传感器收集的标准数据上进行的。如果相机传感器部分损坏,或者一些灰尘或雨滴积累在相机镜头上,您的模型可能会失败。因此,在类似的场景下训练您的机器学习模型可以提高您机器学习系统的鲁棒性和可靠性。更多信息,请参阅 一种新的跨扰动用于单域泛化 (arxiv.org/pdf/2308.00918.pdf)。

创造力

在创意是关键要求的领域中,在多样化的训练数据上训练生成模型是满足这一需求所必需的。例如,一个大型语言模型或图像生成器将显著受益于从不同来源收集的文本或视觉数据的训练。这将帮助这些生成模型接触到各种主题、风格、想法和观点,这将提供充足的知识并促使模型在各个任务和应用中更加具有创造力。对于一些有趣的例子,请参阅 Deep Dream Generator (deepdreamgenerator.com)、AutoDraw (www.autodraw.com)、Stablecog (stablecog.com) 和 DALL-E 2 (openai.com/dall-e-2)。

包容性

部署适当代表现实世界的多样化训练数据有助于让客户感觉到你的基于机器学习的解决方案是包容性的,不会歧视全球人口的任何特征。因此,确保你的机器学习模型对所有客户都能按预期工作,无论他们的年龄、种族、性别、地理位置、语言和宗教,这一点至关重要。如果客户因为上述任何因素而感到处于不利地位,他们将对你的业务产生负面印象,而不仅仅是应用程序本身。此外,这还可能导致组织面临法律问题和不良后果。另一方面,这有助于决策者做出更合适的决策,这些决策会仔细考虑目标受众中每个人口群体的独特需求。

现在我们已经了解了在多样化的训练数据上训练我们的机器学习模型的重要性,让我们来探讨如何生成多样化的合成数据。

生成多样化的合成数据集

在本节中,你将学习到生成多样化合成数据集的不同方法。我们将讨论以下内容:

  • 潜在空间变化

  • 集成合成数据生成

  • 多样性正则化

  • 结合外部知识

  • 逐步训练

  • 使用游戏引擎进行程序化内容生成

潜在空间变化

潜在空间通常指的是一个高维空间,其中训练数据以更抽象或紧凑的方式表示。具有许多层的深度学习旨在使潜在空间中的特征捕获更多语义和概念信息。更多详情,请参阅第一章。因此,这些特征在该空间中通过机器学习模型在训练阶段传达关于问题的编码信息。我们可能无法直接将潜在空间中的变化与在如 GANs 等模型中生成的图像上的变化联系起来。然而,在*《解释 GANs 的潜在空间以进行语义人脸编辑》(arxiv.org/abs/1907.10786)和《GANs 中潜在语义的闭式分解》*(arxiv.org/abs/2007.06600)中表明,改变潜在空间中的某些属性可以生成独特且多样化的合成样本。例如,如果你仔细改变潜在空间中的某些特征,你可能会生成具有不同姿势、背景、光照和天气条件的新样本。

集合合成数据生成

通常部署以提高生成合成数据多样性的一种方法是使用多个生成模型以确保它们能够捕获预期的数据分布。这在分布复杂且无法使用单个生成模型进行建模的情况下尤其适用。更多信息,请参阅*《用于合成训练数据生成的 GANs 集合》*(arxiv.org/pdf/2104.11797.pdf)。在这项工作中,使用了多个 GANs 来提高生成的合成数据多样性。研究人员特别关注了这种方法在合成数字病理切片方面的有效性。GANs 在训练数据集上是独立且相互隔离地训练的。这项工作表明,优化过程的随机性对于更好地表示训练数据分布和丰富 GANs 生成的数据多样性是基本的。

多样性正则化

鼓励生成模型生成多样化的合成样本的另一种方法是利用训练目标或损失中的正则化项。换句话说,你可以对生成模型生成相似的合成样本进行惩罚。因此,你的模型将倾向于生成更多样化的样本以最小化训练损失。例如,这种方法在用于多样化图像合成的模式寻找生成对抗网络arxiv.org/pdf/1903.05628.pdf)中被采用,以解决 GAN 中的模式坍塌问题并提高生成合成图像的多样性。有关 GAN 中模式坍塌问题的更多详细信息,请参阅第七章。这种方法不需要对 GAN 的架构进行任何修改。它只是将损失函数改为鼓励生成器生成不同的图像。因此,生成器被鼓励更好地覆盖训练数据分布,从而生成更多样化的合成图像。关于 GAN 中正则化方法的综述,请参阅GAN 中的正则化和归一化系统调查arxiv.org/abs/2008.08930)。

结合外部知识

你还可以对生成过程进行条件化,以鼓励生成模型生成具有特定属性和特定场景下的合成数据。例如,如果你的数据在雨天采集的训练样本较少,你可以明确地条件化 GAN 模型以生成更多这种天气条件下的示例。此外,你可能防止生成模型生成与你的问题不相关的示例。例如,如果你在室内环境中生成猫的图像,你可能防止你的 GAN 在恶劣天气条件下生成示例,因为这些条件在这个特定环境中是不适用的。这可以通过各种方式实现,例如修改损失函数对这些无关或不希望的预测施加惩罚。在这种情况下,判别器至少需要做出两个不同的预测:一个用于评估样本是真实还是虚假,另一个用于确定其相关性。

进阶训练

增加生成的合成样本多样性的另一种有趣的方法是在训练过程中逐渐引入更复杂的模式,在整个训练过程中增加生成器和判别器的层数,并在训练阶段对多样性较低的示例进行惩罚。这鼓励合成数据生成模型生成更多样化和变体化的数据。例如,在*《用于提高质量、稳定性和变化的渐进式增长 GAN》*(arxiv.org/pdf/1710.10196.pdf)的研究中,研究人员通过添加新层并在训练过程中使用更详细和更高分辨率的图像来增长生成器和判别器,显著提高了 GAN 训练过程的稳定性和生成合成图像的多样性。

使用游戏引擎进行程序性内容生成

程序性内容生成PCG)是视频游戏中广泛使用的一种方法,用于使虚拟世界多样化且丰富,从而提高玩家的体验。同样的概念可以用于游戏引擎和模拟器中,以创建多样化的 3D 虚拟世界,从而生成多样化的合成数据。PCG 可以用于生成纹理、对象、地图、动画和其他场景元素。具体示例,请参阅*《ProcSy:程序化合成数据集生成,用于语义分割影响因子研究网络》*(uwaterloo.ca/waterloo-intelligent-systems-engineering-lab/procsy)。

到目前为止,我们已经学习了通常用于提高生成合成数据多样性的主要方法。接下来,让我们了解这些方法的主要问题和局限性。

合成数据领域的多样性问题

正如我们所见,多样性有助于我们构建健壮、准确和通用的机器学习模型。此外,我们还学习了在实践中提高合成数据多样性的许多方法。在本节中,我们将探讨我们在尝试生成多样化合成数据时通常遇到的三种主要问题:

  • 平衡多样性与现实性

  • 隐私和保密问题

  • 验证和评估挑战

平衡多样性与现实性

通常在多样性和逼真度之间存在权衡。在不考虑这些生成的样本逼真度的前提下生成多样化的合成示例可能会引入或增加合成域和真实域之间的领域差距。更多细节,请参阅第十三章第十四章。例如,假设我们想要为特定的计算机视觉任务或应用生成带有运动汽车的图像。虽然生成覆盖现实世界中大多数可用真实运动汽车样本的多样化运动汽车至关重要,但我们不希望生成在问题上下文中不太可能观察到的运动汽车。因此,我们的目标始终应该是生成能够准确反映现实世界分布的合成数据。它应该是多样化的,同时也应该是逼真的,以便在实际中用于训练和测试机器学习模型。

隐私和保密问题

当生成受隐私或保密问题限制的具有真实数据的合成数据时,生成多样化的合成数据变得相当困难。其背后的原因是对于真实数据属性、模式和关联的理解有限,这些关联无法通过给定小规模训练数据集的生成模型来学习。因此,对于这类应用,生成模型生成多样化的合成数据变得极其困难。请参阅第三章以深入了解大规模真实数据集的隐私问题。

验证和评估挑战

该领域的主要问题之一是评估生成的合成数据的多样性,以及因此在实际应用中该数据的可用性。开发一个稳健、可靠和通用的多样性评估指标在实践中将非常有用。最先进的指标通常是问题相关的,实验性的,并且缺乏适当的理论框架。更多信息,请参阅生成模型的可靠保真度和多样性指标 (arxiv.org/abs/2002.09797)。

摘要

在本章中,我们讨论了为什么数据多样性对于基于机器学习的解决方案至关重要。我们还考察了生成多样化合成数据的关键方法。然后,我们强调了主要问题和挑战。在下一章中,我们将关注合成数据中的另一个相关且有趣的问题,即逼真度。

第十六章:计算机视觉中的逼真度

在本章中,您将了解为什么在计算机视觉中需要逼真合成数据。然后,您将探索生成逼真合成数据的主要方法。之后,您将理解主要挑战和限制。尽管本章侧重于计算机视觉,但讨论可以推广到其他领域和应用。

在本章中,我们将涵盖以下主要主题:

  • 计算机视觉中的合成数据逼真度

  • 逼真度方法

  • 逼真度评估指标

  • 逼真合成数据面临的挑战和限制

计算机视觉中的合成数据逼真度

在本节中,您将了解为什么逼真度在计算机视觉中至关重要。合成数据的逼真度是缓解真实和合成数据之间领域差距的主要因素之一。因此,在逼真合成数据上训练计算机视觉模型可以提高这些模型在真实数据上的性能。更多详情请参阅 Hypersim: A Photorealistic Synthetic Dataset for Holistic Indoor Scene Understanding (arxiv.org/abs/2011.02523) 和 A Review of Synthetic Image Data and Its Use in Computer Vision (www.ncbi.nlm.nih.gov/pmc/articles/PMC9698631)。此外,合成数据可以用来评估计算机视觉算法。然而,在非逼真合成数据上评估这些模型可能会导致这些模型表现出较差的性能,这并非因为测试场景的挑战性质,而是因为领域差距本身。因此,逼真合成数据对于有效地训练和准确评估机器学习模型至关重要。

现在,让我们讨论利用逼真合成数据的主要好处。首先,让我们深入了解特征提取。

特征提取

计算机视觉算法通常依赖于在训练阶段学习的自动特征提取。机器学习模型学习如何识别最可靠和具有判别性的特征和模式,后续子模块利用这些特征和模式来学习实际任务,例如语义分割、深度估计和视觉目标跟踪。在非逼真合成数据上训练您的计算机视觉模型,这些数据过度简化了现实世界,会导致不适当的特征提取。相反,逼真合成数据帮助机器学习模型学习如何提取判别性特征。因此,机器学习模型将在现实世界中表现良好。这是因为真实数据帮助机器学习模型更好地理解场景元素之间的关系,它们如何相互影响,以及它们如何有助于正在学习的任务。

领域差距

真实感合成数据缓解了合成域和真实域之间的领域差距。主要原因在于真实数据部分重采样了真实数据,这有助于计算机视觉模型在更接近模型实际部署环境的训练数据上训练。因此,模型可以从训练阶段学习的合成数据中很好地泛化。另一方面,大规模、多样但非真实感的合成数据可能会扩大领域差距并显著阻碍性能。

坚韧性

创建能够模拟真实光照、纹理、着色器、动画和摄像机运动的模拟器,使研究人员能够生成大规模、多样化的合成训练数据集,这些数据集能够恰当地反映现实世界中的挑战和多样性。因此,计算机视觉算法可以在更多真实场景中训练,以学习如何适应现实世界的实际复杂性。这对于使计算机视觉算法在现实世界中更加健壮至关重要,因为在现实世界中收集真实数据可能极其昂贵或不可行。

性能基准测试

合成数据提供了一种更准确、更高效的方式来生成地面真实数据(参考第五章)。地面真实数据对于评估机器学习模型性能至关重要。真实感合成数据使我们能够确保合成数据的性能适当反映了真实世界中的预期。相反,非真实感合成数据不太适合进行准确评估和基准测试。

真实感方法

在本节中,你将了解并探索通常用于生成真实感合成数据的主要方法。我们将了解以下内容:

  • 基于物理的渲染

  • 神经风格迁移

基于物理的渲染(PBR)

基于物理的渲染PBR)方法在游戏引擎如UnityUnreal中得到了广泛应用,用于准确模拟 3D 虚拟世界中的材料如何与光线相互作用。在现实世界中,这是一个复杂的过程,因此它需要深入了解光学并简化这些过程以适用于游戏引擎。基于物理的材料对于这种方法至关重要。它们类似于现实世界中类似材料如何与光线相互作用。这些材料通常具有基于现实世界材料真实测量的属性和参数。这些属性可能包括吸收、散射和折射系数和参数。需要注意的是,PBR 背后的主要原则是能量守恒,这意味着材料反射和散射的光能不应超过该材料接收到的总入射或接收光能。

如预期的那样,部署一个照片真实感渲染管线将帮助我们模拟和渲染更准确和真实的光照和材质行为。因此,我们可以生成更具照片真实感的合成数据。

神经风格迁移

神经风格迁移是一种著名的技巧,它可以将一种艺术风格从一个图像转移到另一个图像,同时保留后者的内容。这种方法可以应用于合成数据集,以提高其照片真实感,从而缓解合成数据和真实数据之间的领域差距。例如,Sim2Real风格迁移模型可以部署以弥合合成数据和真实数据在姿态估计任务之间的差距。更多信息,请参阅Sim2Real Instance-Level Style Transfer for 6D Pose Estimation (arxiv.org/abs/2203.02069)。此外,还有许多有趣的研究探讨了如何将来自Grand Theft Auto V电子游戏的合成数据集GTA5www.v7labs.com/open-datase…](www.cityscapes-dataset.com))。

照片真实度评估指标

在这个主题领域中的一个主要问题是定量评估生成的合成图像的照片真实感。在本节中,我们将探讨通常使用的指标。我们将探讨以下内容:

  • 结构相似性指数 度量SSIM

  • 学习感知图像块 相似度LPIPS

  • 专家评估

结构相似性指数度量(SSIM)

SSIM 是衡量两张图像之间结构相似度最广泛使用的指标之一。它首次在题为Image quality assessment: from error visibility to structural similarity的论文中提出(ieeexplore.ieee.org/document/1284395)。SSIM 指标并不比较两张图像的个别像素。然而,它考虑了一组像素,假设空间上接近的像素具有相互依赖性。这些依赖性可以与由给定图像捕获和呈现的实际物体结构联系起来。SSIM 特别关注像素之间的空间关系,如边缘和纹理,以评估图像与参考图像的接近程度。

最近,研究表明,当 SSIM 用于比较图像或包含在机器学习模型的训练损失中时,可能会导致不正确或意外的结果。更多信息,请参阅Understanding SSIM (arxiv.org/pdf/2006.13846.pdf)。

学习感知图像块相似度(LPIPS)

LPIPS通过利用在大规模数据集上训练用于计算机视觉任务的神经网络来衡量特征空间中图像之间的距离,例如在ImageNet数据集上训练的VGG。研究发现,LPIPS 给出了与人类感知图像之间相似性的更相似结果。更多信息,请参阅深度特征作为感知度量不可理喻的有效性(arxiv.org/abs/1801.03924)。在这篇论文中,研究发现,在复杂视觉任务上训练的机器学习模型学习到了丰富、通用和有用的世界视觉表示。这种知识可以用来以类似于人类可能感知这种相似性的方式来评估图像之间的视觉相似性。

专家评估

在某些应用中,我们可能需要请求领域专家对生成的合成图像进行评估。例如,假设你的生成模型正在生成用于后续训练癌症预测机器学习模型的计算机断层扫描(CT)合成图像。我们仍然可以利用定性指标,如结构相似性指数(SSIM)来评估与真实数据对应的结构相似性,峰值信噪比(PSNR)来衡量生成图像的质量,弗雷歇起始距离(FID)来了解生成样本的现实性和多样性,以及 LPIPS 来评估与真实数据的感知相似性。然而,对于这些关键问题,专家评估仍然是必不可少的。对合成生成数据的专家评估对于验证其有效性、质量和多样性至关重要。最重要的是,这种评估对于确认合成数据符合伦理标准是必不可少的。

接下来,让我们讨论生成光真实合成数据的一些主要挑战。

光真实合成数据面临的挑战和限制

在本节中,你将探索阻碍在实际中生成光真实合成数据的主要挑战。我们将强调以下限制。

创建超逼真场景

现实世界是复杂、多样和错综复杂的,细节丰富。现实场景中的元素具有各种形状、复杂的动态和高度非线性的相互作用。此外,我们对世界的视觉和感知是有限的,并受许多因素的影响,例如认知偏差和颜色感知。此外,我们可能根据上下文和评估者的不同对光真实性有不同的判断。例如,更真实的是前景物体真实而背景不真实,还是相反?所有这些因素共同使得在实际中生成高度逼真的场景相当困难。

资源与光真实性的权衡

预算、时间、技能和其他因素限制了生成的合成数据的照片级真实感。正如预期的那样,模拟由高多边形 3D 模型和多样化、逼真的动画组成的世界需要大量的计算资源。此外,采用高级和复杂的光渲染机制,如光线追踪和 PBR,进一步增加了对更多处理能力和资源的需求。“光线追踪”是一种渲染技术,可以模拟光的真实行为及其与场景元素的复杂交互。因此,在资源和照片级真实感之间始终存在权衡。

因此,对于您特定的实际问题,确定您所说的“照片级真实感”是什么非常重要。此外,您还需要仔细考虑您将部署哪些指标来评估生成的合成数据的质量和照片级真实感,同时考虑到可用的资源。

摘要

在本章中,您了解了促使研究人员努力在计算机视觉问题中生成的合成数据中实现高照片级真实感的主要原因。您了解了通常用于此目的的两个主要方法。然后,您探讨了用于评估生成的合成数据照片级真实感的知名定量和定性指标。最后,您检查了一些在实践中阻碍生成理想照片级真实感合成数据的问题。在下一章和最后一章中,我们将总结并结束本书。

第十七章:结论

在本章中,我们将总结我们在合成数据之旅中学到的所有内容。我们将再次强调基于真实数据的机器学习解决方案的主要问题。然后,我们将回顾基于合成数据的解决方案的好处、挑战和局限性。最后,我们将突出一些有趣的未来展望。

在本章中,我们将涵盖以下主要主题:

  • 真实数据及其问题

  • 合成数据作为解决方案

  • 现实世界案例研究

  • 挑战和局限性

  • 未来展望

真实数据及其问题

在本书的第一部分,我们学习了为什么机器学习模型需要大规模标注数据(第一章)。然后,我们深入分析了真实数据的主要问题,并彻底分析了标注过程的关键缺点(第二章)。之后,我们讨论并学习了为什么隐私阻碍了某些领域(如金融和医疗保健)的机器学习进步(第三章)。

合成数据作为解决方案

然后,我们将合成数据作为解决这些复杂问题和挑战的解决方案介绍(第四章和第五章)。在此之后,我们探讨了生成合成数据的各种知名方法(第三部分)。我们深入探讨了利用模拟器和游戏引擎生成合成数据(第六章)。然后,我们详细探讨了生成对抗网络(GANs)(第七章)。稍后,在我们探索一种新颖的合成数据生成方法时,我们发现了关于利用视频游戏作为合成数据来源的宝贵见解(第八章)。最后,我们广泛研究了扩散模型,并探讨了它们在合成数据生成中的多种应用(第九章)。

现实世界案例研究

我们通过提供计算机视觉(第十章)、自然语言处理(第十一章)和预测分析(第十二章)等不同领域的成功应用实例,讨论并展示了在现实场景中利用合成数据的有效性。然后,我们了解了一些限制合成数据可用性的知名领域特定问题,并揭示了在实践中有效利用合成数据的一些最佳实践(第十三章)。

挑战和局限性

为了确保你们了解通常阻碍合成数据有效利用的常见问题,我们全面研究了合成到真实域适应方法。我们深入研究了机器学习中的域差距问题,并了解了合成到真实域适应的主要方法(第十四章)。然后,我们学习了为什么在机器学习中多样化的数据至关重要,并发现了生成多样化合成数据集的主要策略。在此之后,我们强调了生成多样化合成数据的主要问题和挑战(第十五章)。之后,我们学习了为什么在计算机视觉中生成逼真数据至关重要。我们还了解了提高逼真度的主要方法,并讨论了必要的逼真度评估指标。然后,我们涵盖了在实践中生成逼真合成数据所面临的挑战和限制(第十六章)。

未来展望

我们一起探讨了合成数据的潜力。现在轮到你们在这个机器学习领域解锁新的机会和可能性了。我强烈鼓励你们加入合成数据社区,例如 Discord 上的 Mostly AI 合成数据社区(mostly.ai/synthetic-data-discord-community)和 AI 中合成数据的创建和使用开放社区(opensynthetics.com)。你们可以随时探索合成数据生成工具,如 Synthesized(www.synthesized.io)、Gretel.ai(gretel.ai)和 Neurolabs(www.neurolabs.ai)。

在未来,合成数据预计将更加多样化、更加真实、成本更低,并且更容易生成和利用。政府和决策者已经意识到合成数据巨大的优势。包括美国政府在内的许多政府都有明确的计划来推进隐私保护数据共享和分析PPDSA)方法(www.whitehouse.gov/wp-content/uploads/2023/03/National-Strategy-to-Advance-Privacy-Preserving-Data-Sharing-and-Analytics.pdf)。正如预期的那样,合成数据是这些解决方案的核心。因此,在不久的将来,将有更多的研究、关注和资金投入到合成数据领域。

摘要

在本章中,我们简要概述了本书涵盖的内容。首先,我们讨论了收集和标注大规模真实数据集的需求以及通常与之相关的主要问题。然后,我们看到合成数据提供了一个巧妙的解决方案,优雅地缓解了这些问题的多数部分。其次,我们掌握了生成多样化和真实合成数据的主要方法。第三,我们探讨了各种案例研究,并了解了基于合成数据的机器学习解决方案的主要问题和局限性。

实质上,你已经学会了如何克服真实数据问题以及如何提高你的机器学习模型性能。此外,你还掌握了仔细权衡每种合成数据生成方法优缺点的艺术。你同样也获得了在实践中更好地利用合成数据的最佳实践。

现在,随着我们接近使用合成数据学习机器学习的旅程的尾声,你已经具备了推动机器学习领域边界的技能和知识。你准备好将合成数据应用于自己的问题、研究和企业,在学术界、工业界、社会乃至更广阔的领域产生重大影响!