以人为本的机器学习:谷歌人工智能产品设计概述

By 机器之心2017年7月17日 12:13

取代了手动编程,机器学习(ML)是一种帮助计算机发现数据中的模式和关系的科学。对于创建个人的和动态的经历来说,它是一种强有力的工具。从 Netflix 的推荐系统到自动驾驶车辆,它已经在驱动生活中的很多事物。但随着构建机器学习的经历越来越多,如何设计用户体验(User Experience Design)让人们感觉是在掌控技术,而非技术控制人,很明显 UXers 在这方面仍旧有很多需要我们深入探索。


就像手机和之前的网络革命一样,机器学习使我们重新思考、重组结构,它将取代并对之前所有我们之前建立的体验带来全新可能性。在谷歌用户体验社区,我们已经开展了一项称为「以人为本的机器学习(HCML)」计划以助于让人们重视并引导这个过程。通过这种方式,我们可以观察产品,看看机器学习是如何使用一些特有方法解决人类需求的。我们在谷歌的队伍与公司内的用户体验工程师共同开发了加速核心机器学习理论的算法,他们知道如何将机器学习与用户体验相结合,并且保证以包容性的方式构建机器学习和人工智能。


如果你刚开始使用机器学习,你也许会对其空间的复杂性和广泛的创新机制有些不适应。慢慢来,不要着急,你需要一点时间去适应。你并不需要为了在团队中表现的更有价值而重新塑造自己。


我们已经开发了 7 个要点帮助设计师找到一种新的平台设计以机器学习为驱动的产品。诞生于我们与 UX 和谷歌的人工智能团队共同完成的工作,这些要点将帮助你把用户放在首位、快速迭代并理解机器学习创造的独特的机会。


让我们开始吧


1. 不要指望机器学习能帮你找出需要解决的问题


如今有很多围绕机器学习和人工智能的夸张的宣传。许多公司和产品团队将机器学习视做一些产品策略的解决方案,而忽略了真正需要解决的、有意义的问题。


这对于纯粹的探索或者了解一项技术的能力来说是不错的,并且这经常会激发新的产品的灵感。然而,如果不考虑人类的需求,你将要构建的非常强力的系统只能解决一个非常小—或者不存在的—的问题。


所以我们的第一个要点是,你仍然需要做那些一直所做的辛苦工作去找出人们的需求。这些工作就是所有那些人类学、情景调查、采访、深入调查、浏览消费者的投票、日志分析等等。你要贴近大众,以了解你是否在解决一个人们未明的需求。机器学习不会找出需要解决的问题。我们仍旧需要定义它。作为用户体验设计者,无论主导技术的框架如何,我们已经有了引导我们的团队的工具。


2. 机器学习是否能以一种独特的方式解决问题?


一旦你明确了需求或者明确了你想要解决的需求,你会考虑一下究竟机器学习能否以独特的方式解决这些需求。有许多切实存在的问题不需要机器学习的解决方案。


然而在这点所面对的挑战在于,如何确定哪个任务需要机器学习,哪些通过机器学习能获得有意义的提升,哪些不会从机器学习中获利或者甚至让体验变得更差。许多产品可以在没有机器学习的情况下让人感受到「智能」或者「个性化」。不要认为只有通过机器学习这些才有可能实现。


当你忘记添加附件时,Gmail 寻找包含「附件(attachment)」和「附上(attached)」之类的短语并向你发出提醒。启发式方法在这方面表现的不错。一个机器学习系统更可能发现更多的隐含错误,但是构建这样的系统却消耗太大。


我们创建了一组练习帮助团队理解机器学习对其用例的价值。这些练习通过挖掘人们所带有的思维模型和期望与机器学习系统和系统所需要的数据进行交互时的细节,从而帮助团队。


以下是 3 个示例练习,我们使一些团队看过练习并回答他们想要使用机器学习解决的用例:



花费仅仅几分钟的时间回答这些问题揭示了人们对以机器学习为驱动的产品提出的必然假设。他们同样适用于作为产品团队的讨论中或者在用户研究的刺激中的提示。当我们讨论到定义标签和训练模型的过程时,我们还会再谈论它。


在完成这些练习,梳理出一些特殊产品和特征的额外概要和故事之后,我们就能将团队所有的产品创意在一个简单的二维坐标系中画出来。



在二维坐标系中绘制出想法。使队伍投票得出哪种想法具有最大的用户影响力、哪种使用机器学习的方案体验可以获得最大限度地提升。


这可以让我们区分具有影响力的想法与影响力较低的想法,并与那些没有或者只从中受益很少的想法相比较,机器学习 vs. X。你应该已经在这些会话中结合了工程师的思想,如果你没有,你需要让他们考虑一下这些想法在机器学习上的可行性。无论哪种想法对用户有着最大的影响且机器学习唯一适用(位于上述矩阵中的右上角),这都是你首先想要关注的方面。


3. 个人示例和测试


机器学习系统面临的一个重大的挑战是原型的制作。如果你的产品的全部价值就是使用唯一的用户数据为她专门设计一种体验,你不能仅仅使原型提升速度并使其尽量贴近真实。同样,如果你等到完全地建立一个适当的机器学习系统对设计进行测试,那么在测试后再进行改变就没有多大的意义了。然而,以下两种用户研究方法可以帮助你:使用参与者的个人的实例和「绿野仙踪」研究。


当使用早期设计图做用户研究时,在这一阶段使参与者带来他们自己的数据—比如,个人照片、他们自己的联系人名单、他们所接受的音乐或者电影推荐。记住,你需要确定已完全告知参与者们在测试中数据的用途以及销毁时间。在阶段开始前,对于参与者这甚至可以是一种有趣的「家庭作业」。(毕竟,人们习惯谈论他们最喜欢的电影)


使用这些事例,你就可以模仿系统所做出的正确或者错误的回应。比如,你可以模仿系统为用户推荐错误的电影,以观察她的反映以及她对系统返回错误结果所做出的假设。比起使用模仿的示例或者概念性的说明,这使得你评估这些可能性的消耗和收益有效得多。


第二种比较好的测试建立机器学习系统的产品的方法是执行巫师研究(Wizard of Oz studies)。这种方法曾经风靡一时,在过去 20 年左右的时间中,其作为用户研究方法不被看好。好的,他们现在又回来了。


聊天界面是最简单的检测巫师研究的经历了。只需要一名队友扮演一方与「人工智能」聊天


快速提示:巫师研究的参与者们与他们所认为的人工智能系统进行互动,但是该自主系统实际上由人控制(通常是一个队友)。


让一个队友模仿机器学习系统的行为,比如聊天响应、为参与者建议应该呼叫的人选或者作出电影推荐,这些行为可以假装正在于「智能系统」进行互动。这些互动对于设计的指导非常重要,因为当参与者认真地与他们认为的人工智能接触时,他们会自然地倾向于形成系统的心理模型并根据这些系统调整他们的行为。观察他们与系统的适应性以及二次交互对于影响其设计非常有价值。


4. 衡量权重


机器学习系统也会犯错。弄清楚出错的缘由以及对用户体验的影响至关重要。上文中我们提到的混淆矩阵(confusion matrix) 是机器学习中的一个关键概念,阐释了系统在正常和不正常时分别应该有什么样的表现形态。



混淆矩阵的四种状态及用户相应的反应。


尽管系统对每种错误都一视同仁,但是对于用户来说,每种错误的体验不尽相同。比如,我们有一个『人类与怪兽』分辨器,偶而一次将人类识别成怪兽对于系统来说只是一次小小的识别错误。系统无意冒犯用户或者出于某种文化倾向做出这样的判断。它也不明白,相较于怪兽被错误地识别为人类的情况,用户经常碰到的却是被错判成怪兽。但或许那是我们的人本位意识在作怪。


在机器学习的范畴里,必须在准确率和召回率之间做有意识的权衡取舍。也就是说,明确哪种结果更符合需求--得到所有正确信息,这意味着结果中包含更多的错误信息(优化召回率); 或者最小化错误信息量,而这意味着会牺牲部分正确的信息(优化准确度)。例如,如果用 Google 搜索游乐场(playground),可能会得到以下结果:



这些结果包含了一部分儿童玩耍的场景,但是并不全都在游乐场。这种情况下召回率优先于准确率。重要的是能够获取全部的游乐场图片,哪怕结果里包含了少量类似但并不正确的图片,而不仅仅只是获取有游乐场的照片而恰恰漏掉了需要的那张。


5. 共同学习和适应计划


最有价值的机器学习模式会随着时间的推移与用户的心理状态一同演变。当人们与这些系统交互的同时,也影响和调整着产品即将呈现的状态。进而这些调整也将反过来影响用户与系统交互的过程,并通过循环反馈改造模型本身。这会形成所谓的『阴谋论』——人们构筑了一套系统却或错误或不完整的心理模型,并试图根据这些虚构规则来控制输出——旨在用明确的心理暗示来引导用户,鼓励用户提供对其自己和模型互利的反馈。



一个良性循环的例子:Gboard 不断改进技术以预测用户要打出的下一个字。使用系统建议的人越多,这些建议就会变得越好。


当机器学习系统根据现有的数据集进行训练时,它们会以不可预知的方式来适应新数据的输入。因此我们也需相应地调整对用户及其反馈的研究。这意味着我们应先于产品周期对用户进行纵向,广泛其高频的研究。由于用户和用例增加,以及需要第一时间了解人们在使用系统时其心理如何随着每次的成功和失败而发展变化。我们应当计划足够的时间,通过量化准确度和错误来评估机器学习系统的性能,并在用户使用系统时获知情感模型的表现。


此外,作为 UXer(用户体验设计者 User Experience Design),我们需要考虑如何在整个产品生命周期内获得用户的原始反馈,以改进机器学习系统。交互模块的设计如果能做到便于反馈且能够及时呈现快速反馈的优越性,这就使得该系统与普通的好系统区别开来。


 Google 应用程式会在一段时间内询问特定的卡牌是否有用,以获取相关建议。



人们可对 Google 搜索自动填充功能提供反馈,包括预测可能不准确的原因。


6. 让你的算法使用正确的标签


作为用户体验设计者,我们已经习惯于把点线三维模拟图,小样,样机和进度条作为可交付成果的标志。但对于得到机器学习加持的设计者来说,需要关注的范围有限,其中就不得不提到『标签』。


标签是机器学习的标配。有专门的人员每天的工作就是为成千上万的内容打标签,回答诸如『图片里是一只猫么』这样的问题。一旦有足够的图片被标注成『是』或者『不是』,我们就得到一个数据库可以用来训练专门辨识猫的模型。或者,准确地说,有了这样的标签构成的数据库,就可以在相当程度上预测一张新的图片上是否有一只猫。很简单,对不对?


你能通过这个小测验么


但是真正的挑战在于当模型用于一些比较主观的判断的时候,比如『一篇文章是否有趣』,或者『一封电邮回复是否有意义』。但是,这样的模型不仅训练的时间很长,并且获得一个完整标记的数据集的代价可能非常高,更不要说错误的标签可能会对产品的可行性产生巨大的影响。


大致的流程应该是这样: 首先作出合理假设,并与相关人员进行讨论。这些假设通常是这样的--对于XX用户的XX情况,我们认为他们会倾向于XX而不是XX』。然后尽快地将这些假设转化为最接近可行的测试小样,以便收集反馈和不断改进。


无论想要做任何预测模型,我们都需要找到最适合给机器当老师的专家--具有相关领域专业知识的人。我们建议只需雇佣少数的专家,或把他们当做后援,更重要的是在目前的团队中培养这样的专家,我们称之为「内容专员」。


从这个角度来说,确定哪种假设更具可行性很重要。在展开大规模数据收集分析和标注之前,需要「Content Specialists」从实际用户数据中挑选出示例来执行关键的第二轮验证。用户应该对一个高度接近成品的测试机进行测试,使其认为他们正在与一个真正的 AI 交流(按上述第 3 点)。


无论对 AI 产品有何需求,通过实地验证,「Content Specialists」就可以创建一系列手动标注示例。通过这些例子便可以掌握数据收集流程,用于训练模型的标签,以及用于设计大规模标签协议的框架。

 

7. 扩充用户体验设计师队伍,机器学习是一个创意过程


作为 UXer,试想一下最糟糕的所谓微管理「反馈」是什么。是不是就好像一个奇怪的家伙靠着你肩膀对你的每个动作指手画脚?好的,记住这个场景,并且万分确定你绝对不会碰到这样的工程师。


有很多潜在的方法可以应对任何机器学习的挑战。对于 UXer 来说,过早地被条条框框束缚可能会无意间变得被动而缺乏创造力。相信工程师们的直觉并且鼓励他们大胆去试验,哪怕缺乏完整的评估体系会使其对用户测试犹豫不决。


机器学习是一个比我们想象中更具创造力和表现力的过程。训练模型过程很漫长,可视化的工具还不是很好,所以工程师在调整算法时最终靠的是他们的想象力(有一种被称为「主动学习」的方法,手动「调整」每次迭代后的模型)。持续地帮助工程师们做出伟大的以用户为中心的选择任重道远。



与工程,产品为伍,拼接对的体验。


工程师们需要被启发--规则,个人经历,视频,模型,用户研究的剪辑--不论任何方式,只要能够呈现出什么才是超棒的用户体验--让他们能顺畅地展开用户研究,并出其不意地将其带入充满设计师头脑风暴,研讨会和设计大赛的精彩世界从而更深入地了解产品原理和体验目标。工程师越早地进入产品改进阶段,机器学习系统的鲁棒性就会越好,那么就会对产品形成更加积极有效的影响。


总结


以上就是谷歌内部对开发团队强调的七个要素,我们希望这些在你的机器学习产品创造过程中同样有用。随着机器学习开始助力越来越多的产品和用户体验研究,让我们继续坚持以人为本,为人们寻求独特的价值,让每一次体验都变得弥足珍贵。


声明:本文由机器之心编译出品,原文来自Google Design,作者Jess Holbrook,转载请查看要求,机器之心对于违规侵权者保有法律追诉权。