基于机器学习的产品体验设计 (1) 基本原理与设计要素
二十多度的小寒是平生第一次遇到。冬眠的小动物们怕是也要不明真相地爬出来了。
从什么时候起“正常”变得如此奢侈。适应异常,将非比寻常视为理所应当,这样的能力也越发珍贵而必要。只是想不通长此以往又该如何定义“正常”与“反常”。你总该给到它们足够清晰与符合逻辑的定义不是么。
新年必须学些新东西,不然年复一年总是一门心思在那堆破事儿里转圈圈,还要不要进步了嘛你说?WWDC 19,Session 803,机器学习与体验设计相关话题,包括基本原理,设计要素,数据,指标,界面设计原则。
第一部分:基本原理与设计要素
说起机器学习,我们总会想到一系列相关话题,例如语音识别、计算机视觉、深度神经网络、个性化处理等等。在 Apple,我们非常关注于如何面向机器学习进行体验设计,因为我们正在提供或将要打造的产品都不可能脱离于这项技术而存在。
例如 AirPods 可以帮助我们唤起 Siri,进而使我们能够在脱离屏幕和双手参与的情况下,仅通过语音来控制设备;离开了 Siri 与机器学习,这样的体验就无从谈起。
同样以机器学习为基础的 Face ID 则可以帮助我们进行便捷的安全认证。
机器学习还会被运用到很多人们几乎察觉不到的地方,于无形之中提升着设备体验。譬如我们会通过机器学习来了解人们的打字习惯,进而动态地增大或减小键盘按键的实际点击区域,使其更符合人们的使用规律。
机器学习的应用形式是多种多样的,而非局限于语音助手、内容推荐算法或是自动驾驶一类;它既能被用于现有产品的优化,也能融入新产品来实现更加丰富多彩的体验。
我们接下来以“照片”为例,了解一下机器学习与 app 设计之间的关系。
在“照片”中,机器学习可以帮助人们创建相册,编辑照片,搜索记忆。我近来正好需要搜索安吉的照片并分享给朋友们。安吉是我家的狗狗,这张照片拍摄于很多年前。
其实就在不久之前,要找到这样一张特定的照片都是非常困难的事,你需要在手机里成千上万张照片当中花上很多时间寻找一番,期间还必须回想着那张照片可能是在何时何处拍摄的。我往往会半途而废;寻找照片这件事成了我发起人际交流的屏障。
从 iOS 10 开始,我们在“照片”中引入了搜索功能。经过持续的迭代优化,如今照片搜索的体验模式大致是这样的:我点击搜索框,输入“dog”,然后得到一个包含所有狗狗照片的列表;我选择要找的那张,然后分享给我的朋友。就这么简单。
基于图像中的内容来搜索照片,这一技术改变了我们与图像信息的互动方式,如今我们已经习以为常。而如此简单便捷的体验其实是经过精心设计的,其中自然涵盖一系列界面层面的设计工作,例如分类搜索建议、自动补全关键词、将搜索结果与“时刻”进行关联等等。
然而如果只关注界面设计,我们就很容易忽视掉整个智能化体验当中最为重要的部分,即内容本身的输出逻辑,包括搜索结果类别及匹配度的制定等等 - 设计不止存在于界面层面。
对于以机器学习为核心的功能或产品,在塑造其体验时,设计师需要考虑的远不止界面样式和交互层面的设计;除了流程、操作体验、外观美学等等,我们同样需要对机器学习的运用方式及输出逻辑进行设计。
基本原理
那么让我们来了解一下机器学习在照片搜索功能当中的基本运作机制。
将最核心的逻辑提炼出来,我们可以简单地理解为:app 能够对图像的内容进行扫描,并判断其中是否包含着系统已知的对象类型。
对于我们的案例来说,app 可以判断安吉的照片中存在“狗”这种类型。
在传统的编程方式下,我们必须编写代码告诉计算机具体做些什么;我们需要在代码中预先定义不同的品种、场景,包括不同类型的图片分辨率,因为用户各有不同,他们的爱犬同样多种多样。
我们还需要通过代码将狗狗与其他类似的动物加以区分,例如这只鬣狗。它虽然长得像狗,但你不会想让它做你的宠物。
所有这些变量组合起来,其结果是无穷无尽的,我们完全没可能通过编写代码来预先进行完整的定义。
而“狗”只是我们可能需要识别的成千上万的对象类型当中的一种而已;有太多的实际需求令我们无法预先告诉计算机具体要做些什么。这种情况下,我们就可以通过机器学习技术来“教”计算机该怎样做。
具体如何来“教”?我们需要为计算机提供大量的“范例”进行训练。
例如我们希望计算机学会将包含狗的照片与不包含狗的照片区分开来,我们就要预先提供这两种类型的照片,供它学习其中的特征;计算机会逐渐培养出判断能力,而这个能力即可被用到我们的 app 当中,用以构建照片搜索。
我们将这个判断能力称作“模型”。
完成训练之后,模型便可以分析它此前从未见过的照片,从中识别出不同种类的狗狗,并能将狗狗与其他动物或物体区分开来。
模型是机器学习的核心。任何基于机器学习所构建的功能都离不开相应的模型。Siri 拥有将人声转化为文字的模型。键盘拥有判断用户输入意图的模型。
对于以机器学习为核心的功能或产品,其体验设计必须同时考虑到“界面”与“模型”这两个层面;我们本次的主题将涵盖到这两大方面。
设计要素
模型的训练是一件复杂的事,你可能需要在算法、参数、框架等方面进行大量的决策;这些决策会影响到模型的能力,并最终决定着产品体验的优劣。
所有相关决策在本质上都是产品设计决策。但对于设计师而言,其中的某些方面是需要特别关注的,包括:
模型层面
- 通过怎样的范例训练模型,即“数据”。
- 如何判断模型是否有效,即“指标”。
界面层面
- 如何将处理结果呈现给用户,即“输出”。
- 用户如何与模型进行互动,如何通过互动来改进模型,即“输入”。
接下来,我们将从这四个方面出发,对基于机器学习的产品体验设计进行深入讨论。
- 次回预告:(2) 数据与指标
- 视频链接:Designing Great ML Experiences
译文代表原作者观点。欢迎发表评论,或到译者微博进一步交流探讨。