本文由微软数据组技术程序经理Yunling Wang所写。
在微软机器学习和数据科学峰会中,我们宣布了一款与 CrowdFlower 合作提供的令人激动的「human-in-the-loop」的产品。CrowdFlower是一个非常流行的数据扩充和标注的平台,数据科学家们可以运用大量的人类智慧通过这个平台来扩充和标注数据。通过我们的合作,我们将会利用结合人类智慧的Human-in-the-Loop工作模式创造大量机遇,它由CrowdFlower提供技术支持,Microsoft Azure Machine Learning 完成机器学习工作。
在本文中,我们将会对Human-in-the-Loop进行概述,包括Human-in-the-Loop是什么,什么时候、在哪儿可以使用,并且针对这一领域的一些机遇分享我们的一些看法。
Human-in-the-Loop是什么?
从很大程度来讲,Human-in-the-Loop 使得商业可以从机器学习带来的效率和人类判断所保证的质量当中受益——机器可以自动操作大部分的工作,人类可以在机器无法确定的情况下协助判断。比如说,美国邮政署的工作已经采用了这样的模式好几年,从《纽约时报》的一篇文章的节选中我们就可以看到,邮政局的员工需要帮助美国邮政署解读那些机器不能识别的地址:「曾经,全国有55家工厂的地址都无法被机器识别,都是通过工人在特殊软件的帮助下猜测,才能把信件送到正确的地方。」
这样端对端的、Human-in-the-Loop解决方案非常高效,但也很复杂。因为其中需要数据科学家们花费大量的时间来建立机器学习模型,并且需要人类智慧在机器预测不准确的情况下进行协助,将机器学习模型和人类连接也不是一件容易的事情。
不过我们可以很高兴地说,这一过程已经大大被简化,将Cortana Intelligence的自动机器学习能力和CrowdFlower的按需人类智慧平台相结合。下图向我们展示了这个过程的简化视图,这个过程不需要数据科学家,也不需要花费精力再去管理可能所需的人力。
「Human-in-the-Loop」的过程
在我们浏览这个图的时候,你可以看到用户将首先以一个任务开始。这个任务将会发送到CrowdFlower AI,CrowdFlower AI再将这个任务发送给机器,确认机器是否能够解决。要是不能,再将这个任务交给人去解决。这时候,人的回复不仅决定了最终的答案,还将会被用来改善机器学习模型,让机器可以越来越聪明,可以解决更多一些最初只有人才能解决的问题。
Human-in-the-Loop 什么时候有用?
关于通过Human-in-the-Loop提高商业生产力,或是节约成本的情况非常多,下面是一些例子:
在量级差距过大时,就像「大海捞针」
例如:通过照片侦测森林火灾
你要在一个地方找到一样非常少见的东西,这种情况经常出现。比如说在一片广袤的土地上通过照片侦测森林火灾。在这样的情况下,机器学习对什么时候没有火灾的判断可谓是「信心十足」(比如说,没有像火或是烟的颜色),它会自动减少需要人工判断的照片数量。对于一小部分机器没有高度自信来解决的问题,人类就可以帮助解决,这样做也可以对机器学习模型进行再次训练。
在错误的代价昂贵时
例如:通过照片判断高乘载车道/共乘车道违规
在一些情况下,机器学习是非常值得信赖的,很小的错误造成的影响也可能会付出昂贵的代价或者也可能会造成其他一些副作用。举个例子来说,一个城市决定自动监测在车中没有足够乘客时共乘车道违规的情况。为了防止误报,要是有人在给违规者开罚单之前确认车内乘客的人数就更加保险了。
在人类标记已经被使用时
例如:简历分类
商业中依靠人力来标记项目的情况已经很多了。例如,在筛选面试者简历时,在分析客服表单时确定它们是否与设备安全有关。在这样的情况下,通过机器学习和Human-in-the-Loop的结合能否大幅提高生产力或是节省支出就值得探讨了。
目前只有少量数据可用时
例如:社会媒体对于一个新业务发布文章的分类
在很多情况下,你最终会选择使用机器学习,但是我们目前还没有足够的数据开始。比如说,一家新开业的餐厅想要用一种特定的方式把社会媒体上和他们有关的的文章进行分类,比如说食物质量、服务质量、等候时间、整体环境等。对于这样的情况,早期人类做得判断要更加准确,但是随着时间的推移,机器可以学习并且完成这样的任务。
通用的预训练模型已存在,但需要适应自定义域时
例如:为你的业务专门设置的情感分类
目前很多预训练的机器学习模型,都可以应用于多种用途。比如说,在我们的认知服务中有一部分模型,可以用于人脸识别、情感提取、图像标注等。在某些情况中,这些模型也是一个非常好的起点,可以基于你特殊的需求使用Human-in-the-Loop,比如说针对你的产品线专门做出的情感分类。
这个系统是怎么运作的?
讲到这儿,你们可能在纳闷在「幕后」到底发生了些什么?我们是怎样在没有数据学家的帮助下自动建立起可以准确分类的模型的呢?数据学家建立机器学习模型所做得工作我们称之为特征工程(Feature Engineering),其中包括获取数据并将数据转换为对算法有用的东西。为了让这一过程更简单,我们让特征库可以自动处理数据,这样就为数据学家在特征工程上节省了大量的时间。为了使机器学习更加的大众化,同时简化数据科学家们目前在研究的步骤,自动特征也是我们在 Azure机器学习中探索的其中一项。
为了给自动特征建立特征库,我们利用了微软研究在自然语言处理、机器学习、计算机视觉、语音、大数据等方面数十年的算法——同样也是支持 Bing、Cortana 和 Microsoft Office 等产品的算法。今天,我们从文本特征的基本设置开始,逐渐扩大选择。比如说,很快我们将基于特征为深度神经网络提供支持。这些特征库的作用在于,他们通常训练的大量数据对很多用户来说是不可用的(例如 DNN 的图像特征,都是基于上千万张带注释的图像或是 DSSM,是从多年来 Bing 广告和网页搜索的点击数据来的),它们会保存几周或是几个月的用户,来训练自己的复杂模型。最后,用户可以利用这些特征库,并通过几百个训练实例来获取更准确的信息。
目前它可以做什么?
我们首次发行产品的是 CrowdFlower AI Powered by Microsoft Azure Machine Learning。该产品注重文本分类、客服表单分类、社会媒体报道分类、简历分类等。用户可以将此服务用于多种用途,包括:
· 将大量的简历筛选至一小部分,发现有潜力的面试者
· 客服表单中的安全问题
· 将社会媒体报道中与特定产品或服务有关的内容进行分类
想要了解更多,可以浏览 CrowdFlower AI的网站 http://ai.crowdflower.com,或者是 Microsoft Analytics Partner的网站。
它会向哪些方向发展?
我们非常兴奋地看到 CrowdFlower AI 所带来的新的商业机遇,但是在完全展现 Human-in-the-Loop 方面,我们才刚刚开始。想象一下在文本处理、音频处理、图像处理和 IoT信号处理这些方面可能发生的各种可能,比如说:
· 交通摄像头可以自动监测高乘载车道违规
· 健身的程序可以通过食物的照片自动记录你的热量摄入
· 安全摄像机可以对运动传感器触发的原因进行标记(例如:不管它是动物、人、飘落的树叶、 驶过的汽车等) )
· 发送信息的应用可以非常准确地将语音转换为文字
我们将会继续努力为生活带来新的改变,也会继续分享我们的成果。