正文
苹果眼中的人工智能,显然不仅仅只是一个具体化的产品形态,而是遍布各处、互通互联的一种能力,让你在不经意间,发现这个系统真的懂你。去年 iOS 10 推出时,我们就在文章中介绍了大量这样的特性。例如,iOS 10 中的地图应用,你只需要复制一个地址,打开地图应用,它就会智能地提示你是否要搜索这个地址。
在 iOS 11 中,苹果继续拓展着这个思路,一个显而易见的例子,就是在设置中,将 Siri 设置与曾经深藏在「通用 - Spotlight 搜索」的设置,合并在了一级入口「Siri & Search」,原先 Spotlight 建议中的搜索建议和查询建议,直接成为了新的 Siri 建议。
除此之外,延续着互通互联的思路,iOS 11 还新增了三个系统层面的智能联动:
-
Safari:根据你当前正在浏览的内容,Safari 会提供智能搜索建议。
同时,如果你刚刚在网页了订了飞机票,或确认了日程,也会触发智能提醒,建议你添加相关的日程;
-
QuickType:每次在输入文字的时候,iOS 11 会根据你过去一段时间内的浏览记录,找到相应的电影名称、地名等,方便你直接输入。
在 WWDC 上演示了一个场景,你刚刚正在 Apple News 中浏览完冰岛相应的旅游地点,这时候切换到 iMessage 和好友聊天时,你只需要输入「Re」,QuickType 就会智能地提供输入建议「Reykjavik(冰岛的首都)」。
-
Apple News:根据你的浏览记录,iOS 11 会学习你感兴趣的话题,并向你推荐相关的内容,不过,国内的用户依然无法使用 Apple News。
iOS 11 为开发者带来的 Core ML
在看完了面向消费者的变化,作为 WWDC,既然本身是面向开发者的,那不妨来简单了解一下,对于开发者而言,除了 SiriKit 的升级之外,苹果今年的重头戏之一,还有一个 Core ML。
让我尽可能用简单,且尽可能正确的语言来说明一下这件事情的意义。
科普:传统程序的白盒与机器学习的黑盒
在说 Core ML 之前,我们不妨来简单说一下到底什么是机器学习。
一段程序是有目标的,我们输入一个前提条件(入参),经过程序的设定(处理机),输出一个结果(出参)。然而,随着我们想解决的问题不同,不同的目标会影响程序是如何被设定的,正是在如何设定程序的这一步,将传统程序与机器学习区分开来。
例如,我们希望创建一个简单的计算正方形周长的程序,你只需要输入边长 a 这个前提条件,计算机很容易就可以输出周长是 4a。在这个处理机中,程序员清清楚楚地告诉计算机,对于任何输入的 a,你只需要把它乘上 4,就完成任务了。这时候处理机实际是一个「透明的」白盒,任何人都能轻易理解实现的细节。
传统程序的运行模式
然而,让我们换一个小目标:识别一张照片上有没有小猫。这个程序的输入非常明确,就是一张照片,同样,我们所希望输出的目标也非常明确,就是最后给出一个结果,要不是有猫,要不是没有。但是,这时候一名程序员,该如何编码程序的设定?或者说,你要写一段怎么样的程序,能让计算机明白什么是小猫?
这时候就需要机器学习发挥用途了。我们通过大量已经存在的数据,不断地标记出哪些照片上是有猫的,哪些照片是没有猫的,把这些数据大量地「喂」给计算机,通过一些算法,从中不断地提取其中的特征值,计算机最终会拟合出一个模型。这个模型,人类可能完全不明白里面的参数是如何挑选而又设定的,但这不重要,这时候的处理机,是一个黑盒,我们不关心中间发生了什么,只要我们训练出一个得当的模型,之后再让它判断未知的情况,它能够在很大概率上给出正确的结果,这个模型就成功了。