AutoDL 的工作原理

典型的深度学习 (DL) 工程工作流从识别业务问题和格式化问题语句或提问问题开始。 接下来的一系列步骤包括:数据准备(或预处理)、模型训练、超参数调整和模型评估。 这是一个迭代过程,通常只有经过多次迭代和试验才能实现最佳模型。

深度学习工作流

要识别最适合数据的模型,需要在整个 DL 过程中花费大量时间、精力和专业知识。 使用 AutoDL 进行训练工具可以使整个工作流自动化,并使用适合数据的最佳超参数集确定最佳神经网络。 以下部分更详细地描述了 DL 过程中的每个步骤。

使用 AutoDL 进行训练工作流

使用 AutoDL 进行训练工具可自动执行以下操作:

  • 数据增强 - 成功的 DL 工程需要大量高质量的输入数据来解决特定问题。 但是,在现实中,要获取大量已分类或已标注的数据非常困难。 应用数据增强技术是为了增加数据量以及数据的多样性,使其类似于真实世界的数据。 数据增强可能涉及几何变换、翻转、裁剪、转换和噪声注入等,所有这些过程都可能需要 DL 专业人员投入大量的时间和精力。 此步骤通常既耗时又乏味,并且可能需要特定领域的丰富知识和经验。
  • 自动批量大小扣除 - 使用深度学习导出训练数据工具的输出是一个包含深度学习训练数据集的文件夹。 此导出数据包含大量图像,必须根据可用的计算资源进行批量发送。 该工具将自动化计算最佳批量大小的过程,以根据可用资源训练深度学习模型。
  • 模型训练和模型选择 - 在模型训练步骤中,DL 专业人员将根据问题和数据的特征选择合适的 DL 网络。 然后他们开始训练模型以适应数据的迭代过程,这通常包括试验多种不同的 DL 神经网络。 这些算法中的每一个都可能有许多不同的超参数,这些超参数是由 DL 专业人员手动指定的值,它们可以控制模型学习的方式。 然后调整这些超参数,以提高算法的性能并获得更好的结果。 这是一个迭代过程,DL 专业人员需要具备专业知识并花费一些时间。 各种神经网络模型包括对象检测模型,例如 SingleShotDetector 和 RetinaNet、YoloV3、FasterRCNN 以及 MMDetection。 诸如 UnetClassifier、PSPNetClassifier、DeepLab 和 MMSegmentation 模型等像素分类模型在某一种或另一种数据上的效果更好。 由于难以预测哪些模型会在给定数据集上运行良好,因此您必须尝试所有模型以比较它们的性能,然后再决定最适合数据的模型。
  • 超参数调整 - 尽管前面的大部分步骤都是迭代的,但训练机器学习模型时最困难的步骤通常是超参数调整。

    超参数可以被视为每个模型附带的杠杆。 用于训练模型的超参数包括推断学习率以及合适的骨干。

  • 模型评估 - DL 工作流的最后一步是模型评估,您可以在其中验证经过训练和调整的 DL 神经网络是否能够很好地概化到其未拟合的数据。 这种看不见的数据通常被称为验证集或测试集,并与用于训练模型的其余数据分开。 最后一步旨在确保 DL 网络对新数据生成合理预测准确性。
  • 在 DL 工作流中,每一步都会发生不同程度的人工输入、决策和选择。

    • 是否收集了适当的数据来解决问题,这些数据是否足够?
    • 在数据环境中,哪些表示背景类?
    • 如果发现错误标注的数据,应该将其替换为什么?
    • 应该针对多少个轮数对 DL 模型进行训练?
    • 应该使用哪种 DL 神经网络?
    • 模型可接受哪种性能水平?
    • 给定模型的最佳超参数组合是什么?

仅最后一个决策就可能涉及数百甚至数千个可以迭代的超参数组合。 如果对许多 DL 网络进行训练和调整,则整个过程开始变得难以管理和低效。 此外,ML 工作流中的多个步骤需要专家对数据科学技术、统计学和深度学习算法的技术理解。 因此,设计和运行 DL 工程可能非常耗时、需要执行大量工作、成本高昂,并且通常高度依赖训练有素的 DL 专业人员和数据科学家。

在过去的十年中,深度学习在其应用范围和新研究的数量方面飞速增长。 这种增长背后的最大驱动力包括 DL 算法和方法本身的成熟性、算法学习海量数据的生成和传播、运行算法的大量低成本计算以及在企业中关于 DL 算法可以解决复杂数据结构和问题的意识的提高。

许多组织希望使用 DL 来利用他们的数据并从中获得可操作的新见解,但潜在 DL 应用程序的数量与解决这些问题的训练有素的经验丰富的 DL 专家的数量之间存在不平衡。 因此,通过创建工具使 DL 在整个组织中广泛访问并且可以由非 DL 专业人士的领域专家即时使用,来实现跨组织民主化 DL 的需求越来越大。

最近,自动化深度学习 (AutoDL) 已成为各经验和技能级别的组织对 DL 的巨大需求的一种解决方式。 AutoDL 旨在创建一个单一系统,以尽可能多地自动化(换言之,消除人工输入)DL 工作流,包括数据准备、数据增强、模型选择、超参数调整和模型评估。 这样做可以降低非专业人士进入 DL 的门槛,这对非专业人士来说是有益的,而且通过消除 DL 工作流中一些最乏味和最耗时的步骤,也有利于训练有素的 DL 专业人员。

适用于非 DL 专业人士的 AutoDL(GIS 分析师、业务分析师或数据分析师等领域专家)- 使用 AutoDL 的关键优势在于它避免了 DL 工作流中需要大量技术知识和理解的步骤。 作为领域专家的分析师可以定义他们的业务问题并采集相应数据,然后计算机就可以完成其余操作。 他们不需要对用于数据清理和增强的数据科学技术有深入的了解,不需要了解 DL 神经网络的作用,也不需要花时间探索不同的网络和超参数配置。 相反,这些分析师可以专注于将他们的领域专业知识应用于特定业务问题或领域应用程序,而不是 DL 工作流本身。 此外,他们可以减少对组织内训练有素的数据科学家和 DL 工程师的依赖,因为他们可以自行构建和利用高级模型,通常不需要任何编码经验。

适用于 DL 专业人士(数据科学家或 DL 工程师)的 AutoDL - AutoDL 也可以为 DL 专业人士带来巨大优势,但原因可能并不明显。 一方面,DL 专家不必花费太多时间来支持他们组织中的领域专家,因此可以专注于更高级的 DL 工作。 对于 DL 专家的 DL 工程,AutoDL 可以显著节省时间并提高生产力。 DL 工作流中的大部分耗时步骤(例如数据增强、模型选择和超参数调整)都可以自动化。 通过将许多重复性、探索性步骤自动化所节省的时间可以转移到更高级的技术任务或需要更多人工输入的任务(例如与领域专家合作、理解业务问题或解释 DL 结果)。

除了节省时间之外,AutoDL 还可以帮助提高 DL 专业人员的生产力,因为它避免了 DL 工作流中涉及的一些主观选择和试验。 例如,执行新工程的 DL 专业人员可能经过有关指导他们构建新要素、确定适合特定问题的 DL 网络以及最佳超参数的训练,或具有相关专业知识。 但是,他们可能会忽略构建某些新要素,或者在执行 DL 工作流时无法尝试所有可能的超参数组合。 此外,DL 专业人员可能会在要素或算法的选择过程存在偏见,他们可能基于以前的工作或在其他 DL 应用程序中的成功案例,而偏好某种特定 DL 网络。 实际上,不能存在在所有数据集上表现中均表现最佳的 DL 算法,某些 DL 算法对超参数的选择比其他算法更敏感,并且许多业务问题对用于解决这些问题的 DL 算法具有不同程度的复杂性和可解释性要求。 AutoDL 可以通过将许多不同的 DL 网络应用于同一数据集,然后确定哪一个表现最佳,从而帮助减少这种人为偏见。

对于 DL 专业人员,AutoDL 也可以作为 DL 工程的初始起点或基准。 可以使用它来自动开发数据集的基线模型,这可以为他们提供一组对特定问题的初步见解。 基于该基线模型,他们可以决定向输入数据集中添加特定要素或从中移除特定要素,或者专注于研究特定 DL 网络并微调其超参数。 从这个意义上说,训练有素的 DL 专业人员可以利用 AutoDL 缩小初始选择范围,从而专注于提高 DL 系统的整体性能。 这是实践中的常用工作流,DL 专家将使用 AutoDL 开发数据驱动的基准,然后通过结合他们的专业知识来完善结果,并以此为基础构建。

最后,通过 AutoDL 在组织内实现 DL 民主化可以让领域专家将注意力集中在业务问题上并获得可操作的结果,它允许更多的分析师构建更好的模型,并且可以减少组织对 DL 专家的需求数量。 它还可以帮助提高训练有素的 DL 专业人员和数据科学家的生产力,使他们能够将专业知识集中在最需要的其他任务上。

解释输出报表

使用 AutoDL 进行训练 工具将生成经过训练的深度学习包 (.dlpk),并且还将显示排行榜作为工具输出窗口的一部分。

排行榜显示了评估的模型及其指标值。 对于对象检测问题,会将具有最高平均精度得分的模型视为最佳模型;而对于像素分类问题,会将具有最高精度的模型视为最佳模型。

相关主题