amazon-web-services - Amazon Sagemaker Groundtruth:无法让主动学习发挥作用
问题描述
我正在尝试测试 Sagemaker Groundtruth 的主动学习能力,但无法弄清楚如何让自动标记部分工作。我使用必须手动创建的初始模型开始了之前的标记工作。这使我可以检索模型的 ARN 作为下一个工作的起点。我上传了 1,758 个数据集对象并标记了其中的 40 个。我以为自动标签会从这里开始,但 Sagemaker 中的工作只是说“完成”并且只显示我创建的标签。如何使自动贴标机工作?
我是否必须手动标记 1,000 个数据集对象才能开始工作?我看到了这篇文章:关于 Amazon Sagemaker groundtruth的信息,代表说 1,000 个对象中的一些可以自动标记,但是如果它需要 1,000 个对象来开始自动标记,这怎么可能呢?
提前致谢。
解决方案
我是 AWS 的工程师。为了理解“主动学习”/“自动数据标记”功能,首先对 SageMaker Ground Truth 的工作原理进行更广泛的回顾会有所帮助。
首先,让我们考虑没有主动学习功能的工作流程。回想一下,Ground Truth 批量注释数据 [ https://docs.aws.amazon.com/sagemaker/latest/dg/sms-batching.html]。这意味着您的数据集已提交以用于“块”中的注释。这些批次的大小由 API 参数 MaxConcurrentTaskCount [ https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount]控制。此参数的默认值为 1,000。当您使用 AWS 控制台时,您无法控制此值,因此将使用默认值,除非您通过 API 而不是控制台提交作业来更改它。
现在,让我们考虑一下主动学习如何融入这个工作流程。主动学习在您的批量手动注释之间运行。另一个重要的细节是,Ground Truth 会将您的数据集划分为验证集和未标记集。对于小于 5,000 个对象的数据集,验证集将是总数据集的 20%;对于大于 5,000 个对象的数据集,验证集将是总数据集的 10%。一旦收集了验证集,随后手动注释的任何数据都将构成训练集。验证集和训练集的收集根据上一段中描述的批处理过程进行。关于主动学习的更长讨论见 [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html]。
最后一段有点拗口,所以我将使用您提供的数字提供一个示例。
示例 #1
- 默认 MaxConcurrentTaskCount(“批量大小”)为 1,000
- 数据集总大小:1,758 个对象
- 计算验证集大小:0.2 * 1758 = 351 个对象
批 #
- 注释 351 个对象以填充验证集(剩余 1407 个)。
- 注释 1,000 个对象以填充训练集的第一次迭代(剩余 407 个)。
- 进行主动学习。根据该阶段模型的准确性,此步骤可能会导致对剩余 407 个对象中的零个、部分或全部进行注释。
- (假设在步骤 #3 中没有自动标记任何对象)注释 407 个对象。结束贴标作业。
示例 #2
- 250 的非默认 MaxConcurrentTaskCount(“批量大小”)
- 数据集总大小:1,758 个对象
- 计算验证集大小:0.2 * 1758 = 351 个对象
批 #
- 注释 250 个对象以开始填充验证集(剩余 1508 个)。
- 注释 101 个对象以完成填充验证集(剩余 1407 个)。
- 注释 250 个对象以填充训练集的第一次迭代(剩余 1157 个)。
- 进行主动学习。根据该阶段模型的准确性,此步骤可能会导致对剩余 1157 个对象中的零个、部分或全部进行注释。在其他条件相同的情况下,我们希望该模型在此阶段不如示例 #1 中的模型准确,因为我们的训练集在这里只有 250 个对象。
- 重复注释批 250 个对象和运行主动学习的交替步骤。
希望这些示例说明了工作流程并帮助您更好地理解该过程。由于您的数据集包含 1,758 个对象,因此可以提供的自动标签数量的上限是 407 个对象(假设您使用默认的 MaxConcurrentTaskCount)。
最终,1,758 个对象仍然是一个相对较小的数据集。我们通常建议至少 5,000 个对象才能看到有意义的结果 [ https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html]。在不了解标签作业的任何其他详细信息的情况下,很难判断为什么您的作业没有产生更自动化的注释。一个有用的起点可能是检查您收到的注释,并确定在 Ground Truth 标记作业期间训练的模型的质量。
AWS 致以最诚挚的问候!
推荐阅读
- android - 从列表视图中删除项目
- php - Encrypt 库在使用 php7.2 设置 nginx 时需要 Mcrypt 扩展
- php - 如何在 Laravel 5.6 中使用多个表进行身份验证?
- python - Python CSV Sniffer 检测双引号文本限定符
- java - 是否可以创建具有动态持有人视图高度的可扩展列表视图?
- postgresql - PostgreSQL:refcursor 和门户名称
- reactjs - Babel polyfill 在 Internet Explorer 11 上不起作用
- javascript - 如何在反应原生 android 应用程序中显示图像?
- swift - 显示圆圈的一部分
- android - 底部导航栏放大所选项目