人在回路中的机器学习利用人类的反馈来消除训练数据中的错误并提高模型的准确性。
机器学习模型往往远非完美。当把模型预测用于影响人们生活的目的时,例如贷款审批分类,最好由人类至少审查一些预测:那些信心不足的预测,那些超出范围的预测,以及用于质量控制的随机样本。
此外,缺乏良好的标签(注释)数据往往使监督学习难以引导(除非你是一个有闲置研究生的教授,正如笑话所说)。从未标记的数据中实现半监督学习的一种方法是让人类标记一些数据作为模型的种子,应用临时模型(或转移学习模型)的高置信度预测来标记更多的数据(自动标记),并将低置信度的预测发送给人类审查(主动学习)。这个过程可以反复进行,而且在实践中往往会逐次改进。
简而言之,人在回路中的机器学习依靠人类的反馈来提高用于训练机器学习模型的数据质量。一般来说,人在回路中的机器学习过程包括对好的数据进行采样,让人类进行标注(注释),用这些数据来训练一个模型,然后用这个模型来采样更多的数据进行注释。有一些服务可以用来管理这个过程。
亚马逊SageMaker地面真实性
Amazon SageMaker提供两种数据标签服务,Amazon SageMaker Ground Truth Plus和Amazon SageMaker Ground Truth。这两个选项都允许你识别原始数据,如图像、文本文件和视频,并添加信息标签,为你的机器学习模型创建高质量的训练数据集。在Ground Truth Plus中,亚马逊专家代表您设置了您的数据标签工作流程,该流程应用预学习和机器验证人类标签。
亚马逊增强型人工智能
当Amazon SageMaker Ground Truth处理初始数据标签时,Amazon Augmented AI(Amazon A2I)提供对低置信度预测或已部署模型的随机预测样本的人工审查。Augmented AI同时管理审查工作流程的创建和人类审查人员。除了部署到Amazon SageMaker终端的模型外,它还与AWS AI和机器学习服务集成。
DataRobot人在环中
DataRobot有一个Humble AI功能,允许你设置规则来检测不确定的预测、离群的输入和低观察区域。这些规则可以触发三种可能的行动:不操作(只是监控);覆盖预测(通常用一个 "安全 "值);或返回一个错误(丢弃预测)。DataRobot已经写了关于人在回路的论文,但我在他们的网站上没有找到除了谦逊规则之外的实现。
谷歌云 "人在回路"(Human-in-the-Loop
谷歌云提供的人在回路(HITL)处理与它的文档人工智能服务相整合,但截至本文写作时,没有任何图像或视频处理。目前,谷歌支持以下处理器的HITL审查工作流程。
采购处理人员。
- 发票
- 收据
借贷处理者。
- 1003解析器
- 1040解析器
- 1040附表C解析器
- 1040附表E解析器
- 1099-DIV解析器
- 1099-G解析器
- 1099-INT解析器
- 1099-MISC解析器
- 银行报表分析器
- 房屋协会报表解析器
- 抵押贷款报表解析器
- 工资单解析器
- 退休/投资报表解析器
- W2报表
- W9解析器
人工循环软件
人工图像注释,如图像分类、对象检测和语义分割,可能很难为数据集的标记设置。幸运的是,有许多好的开源和商业工具,标记者可以使用。
Humans in the Loop是一家将自己描述为 "为人工智能行业提供道德的人在环形劳动力解决方案的社会企业 "的公司,它定期在博客上介绍他们最喜欢的标注工具。在最新的这些博客文章中,他们列出了10个用于计算机视觉的开源注释工具。Label Studio, Diffgram, LabelImg, CVAT, ImageTagger, LabelMe, VIA, Make Sense, COCO Annotator, and DataTurks。这些工具大多用于初始训练集的注释,有些工具可以管理注释者的团队。
挑选这些注释工具中的一个作为例子,计算机视觉注释工具(CVAT)"具有非常强大和最新的特性和功能,并在Chrome浏览器中运行。它仍然是我们和我们的客户用于标注的主要工具之一,因为它比市场上许多可用的工具快得多"。
GitHub上的CVAT README说:"CVAT是一个免费的、在线的、互动的视频和图像注释工具,用于计算机视觉。我们的团队正在使用它为数百万个具有不同属性的物体进行注释。许多用户界面和用户体验的决定是基于专业数据注释团队的反馈。在cvat.org在线试用"。请注意,你需要创建一个登录来运行演示。
CVAT在MIT许可下被发布为开放源代码。大多数活跃的提交者在俄罗斯下诺夫哥罗德的英特尔公司工作。如果想看一下标签的运行过程,请看CVAT的介绍视频。
正如我们所看到的,人类在环路上的处理可以在两点上对机器学习过程做出贡献:最初为监督学习创建标记数据集,以及在运行模型时审查和纠正可能存在问题的预测。第一个用例帮助你引导模型,第二个用例帮助你调整模型。
