MXD

取消

写给设计师的机器学习指南

MXDer

MXDer

2018.8.17

译者注:设计师需要学编程吗?这是个很热的话题,大多数的建议是设计师应该懂点代码。同样的,当下机器学习更热,聊天机器人,自动驾驶,人脸识别等等,几乎所有的产品都会用到机器学习。我们倒不需要像算法工程师一样去构建算法,纠结于如何提升输出的准确性,但是,我们应该了解机器学习,从而能引导开发一起讨论机器学习的潜在应用场景,设计出流畅的、智能化的、满足用户期待的机器学习产品。

本文翻译自 Cris Cristina 的 “The Designer’s Guide to Machine Learning ”,并在原文的基础上加以整合和扩充。Cris Cristina 是一名产品设计师,研究员,策略师,负责领导 Digitalist Group 的全球用户体验团队。

初识机器学习

让我们先从机器学习的定义谈起。一位资深的机器学习顾问 Adam Geitgey,曾说道:“机器学习是通过使用通用算法自动挖掘数据集中有趣的信息。相较于需要专门为特定问题编写特定算法,你只需将数据放入通用算法中,它便会基于数据自动建立起自己的逻辑。” 机器学习是人工智能算法的一个应用,通过让计算机(机器)获取大量的数据,使其自行找到解决方案(学习)。

机器学习会一直热下去吗?Gartner 曾在2016年提出技术成熟度曲线(如下图),“机器学习”处于成熟度曲线的顶峰。按照曲线的趋势,即使机器学习的应用在未来会更加普遍,“机器学习”一词的热度也会下降。当然,对于左边上行曲线中一些刚起步的新兴技术,比如智能机器人,由于依赖于机器学习技术,机器学习的热度不会迅速下降,各个技术的相对走势也会在一段时间内保持稳定。

Gartner 于 2016 发表的技术成熟度曲线。互联网新兴技术都会经历疯狂飙升期、泡沫化低谷期与稳步回升的成熟区。就像 P2P,刚开始发展迅猛,后来一个个平台跑路,再后来政策出台,行业才逐步稳定。机器学习现在是爬到了顶端,之后的热度很可能像过山车一样跌落,直到不断失败与再试验后有望步入成熟技术的平稳发展阶段。

理解机器学习的基本原理

首先我们来直观感受下机器学习的实现过程。Google 制作了一个有趣的在线 demo-teachablemachine,可亲自实践,无需任何编程(欢迎大家动手玩一玩)。用户可以实现用自己的动作来训练机器,从而让机器返回你想要的动图或音频。例如你希望:

  • 当你拿出企鹅玩偶时,小猫在招手
  • 当你拿出企鹅玩偶时,小猫在招手
  • 当你拿出企鹅玩偶时,小猫在招手

首先是输入,用摄像机分别捕捉这三个动作,demo 就会自动利用神经网络算法对图像进行训练。接下来当你发出一个动作的指令时,比如第一张图中拿出企鹅玩偶,输出就会返回小猫招手的 gif。更有趣的是,由于机器学习输出结果的准确率是概率事件,为了防止输出结果和用户预期不符,demo 还会告诉你它返回这个结果的置信度(准确率)是多少。

为了进一步了解机器学习算法是如何运作的,我们来看 R2D3制作的机器学习的视觉交互性指南。该指南以预测房地产的位置为例,引导我们完成构建机器学习模型的整个过程。我们的目标是对给定的数据集(输入),构建机器学习模型,从而识别出房子的位置是纽约还是旧金山(输出)。

这是机器学习中最常见的一类问题——分类。决定分类的因素称之为“特征点”。第一步是特征选择。我们常常需要找到最具代表性的特征点,例如洛杉矶多山,因此房子的“海拔”就是一个较好的特征点。进一步的,特征点的数目越多,分类的容错性就越高。例如考虑到纽约的房价尤其高,我们又增加了“房价”这个特征点。最终我们筛选出六个特征点进行建模。接下来,分类的过程即为建立机器学习模型的过程,也称之为训练模型。文章使用“决策树”的机器学习算法(如下图),即将每个特征点作为决策树中的节点,层层分类,从而完成机器学习模型的构建。

R2D3的预测房屋位置的决策树模型

机器学习的设计思路

从更实用的角度来说,我们想了解机器学习有哪些设计思路,以及用户是如何参与到整个机器学习系统中的。

算法为中心的:机器学习常应用于个性化推荐内容,即将待推荐的内容作为算法中的变量。除此之外,Netflix 进一步构想出将其推荐主页中的所有功能都视为算法中的变量,所以像“我的列表”或者“继续观看”这些功能的位置将会根据用户的偏好不断变换(如下图)。当然 Reddit 论坛上也捕捉到了 Netflix 的个性化生成网页存在的一个问题:由于不同功能的位置在页面上会不断变化,可能会因用户习惯导致用户难以进行内容定位。 

Netflix 将 10000 多功能行,根据用户的偏好生成 10-40 行的个性化页面

用户为中心的:为了让房子有更高的概率租出去,Airbnb 增加了一个可以让房东一键开启智能定价的功能(如下图),从而让机器学习算法自动根据市场供需给房子定价。在和用户(房东)交流的过程中发现,用户不愿意在这一过程中放弃所有的控制权。因此产品团队将设计修改为——提供价格指南,推荐最低房租与最高房租。用户可使用滑块调整价格找到最佳位置,从而给予用户真正选择的空间。

Airbnb 的智能定价功能
Airbnb 智能定价修改版本——用户可根据推荐,使用滑块调整定价,让用户掌握更多的控制权

这个用户为中心的例子真正提升了用户体验。在机器学习的设计中,我们可以以算法为出发点作为扩充用户用例的一种方式,但还是应该将用户为中心置于首位。

设计机器学习产品的注意事项

让用户掌握主动权:相较于其他产品的设计,在集成AI算法时更应该考虑用户。在我们进行用户使用结果预测时,不难想到设计决策的结果——机器学习算法将会导致用户拥有更少的控制权。比如,在一个传统的汽车里,驾驶员掌控完全的主动权。但在无人驾驶车辆里,汽车将会主动决策路线、速度和如何规避碰撞等。随着我们的生活中拥有越来越多的自动化、智能化,作为设计师,我们必须积极主动的关注用户从而不让用户在产品系统中失去自己的一席之地。

用户与系统的协调沟通:当我们在系统中加入新的智能化功能时,我们必须解决如何让用户与智能化系统进行沟通的问题。比如,当双方的利益发生冲突时,由什么来决定优先权?如何让系统的决策与用户的目的进行沟通?如何让用户和系统理解彼此的行为?

透明性:机器学习的实现本质上是不透明的。系统的设计者们——设计师和开发者——在我们预期的用户与我们的产品之间增加了不透明的一层。我们可以通过向用户呈现算法来消除这种不透明性,提前让告知用户知晓,算法将使用哪些用户数据,及使用的方式,从而增强用户对 AI 的信任。五月份欧盟通用数据保护条例 (GDPR) 重新定义了企业对用户数据的使用,这也反映了在自动化决策过程的背后,产品对用户解释权的逐步重视。

减少无意识的偏见:在我们策划一个新项目的时候,我们常常会无意识的加入自己的偏见。比如,谷歌图像识别 app 曾经标记黑皮肤的英国夫妇为“大猩猩”,ProPublica 也报道了犯罪预测软件对黑人有偏见。在机器学习中,即便对于确定的输入,输出都是概率性的、不可控的,因此若在输入中存在偏见,对于不可控制的输入,输出更有可能是意想不到的。就像 Microsoft’s Tay 的例子,一个 Twitter 机器人在和 Twitterverse 互动短短几个小时后竟开始疯狂散播种族主义的推文。因此在开发 AI 产品时,所有人都应提前考量可能存在的偏见,并密切关注我们开发的 AI 系统的社会影响。

适应无确定结果的设计:在一个机器学习项目中,设计流程应该是相同的,但是设计的角色可能会改变。随着更多的服务将会依赖于算法,设计师控制产品输出结果的能力在减弱。这就意味着设计师必须更加适应无确定结果的设计。比如用户兴致盎然的在银行开始使用聊天机器人,但机器人突然无法计算用户支票账户的余额,如何处理用户的心理落差,并提供一个可以快速解决问题的方案。优秀的设计师会告诉你,即使没有 AI,也不可能建立一个能控制所有结果的万无一失的系统。在机器学习算法下,输出的结果更是基于概率的,因此尤为重要的是如何构建并且传达一系列可能的结果而非一种特定的结果。

这份指南只是一个如何设计机器学习产品的入门。这是一个新兴的领域,也因此存在大量的机遇与可能性。一起加入并进行实践吧!