锋观点

我要投稿
文章作者头像

98wwccc

2017-10-23 17:47:04

一句“嘿 Siri”背后藏着怎样的奥秘

  • 威锋客户端

  • 用微博扫我

  2017 年的 WWDC 之后,《大西洋月刊》记者 Alexis C Madigal 写了一篇文章,文章名为 How Apple Sees the Near Future,阐述了苹果未来发展方向是 Siri。

  没错,Siri 正在被苹果当做系统主界面来做,尤其是 2014 年 6 月发布的 iOS 8,“嘿 Siri” 功能正式加入,标志着这位智能助手从手动-半自动开始迈向自动化的新进程。

  不久前,苹果在自己的博客 Machine Learning Journal 中发表了一篇文章,介绍“嘿 Siri”中所包含的人工智能机器学习方法。一句简单的“嘿 Siri”是如何做到准确激活,并且让 Siri 为你设定闹钟,查看日历的呢?这归功于一个专门的识别器,而且这个识别器只为“嘿 Siri”这一个指令工作,另外还有更重要的 Deep Neural Network (DNN) ——深层神经网络技术,它试图模仿人脑思考方式,使 Siri 的语音识别速度更快,识别准确率也更高。


  解放双手 唤醒Siri

  Siri 的唤醒方式从最开始长按 Home 键呼叫语音控制,到充电中用“嘿 Siri”唤醒,再到后来新机型(6s以上)不插电也能用“嘿 Siri”,直接开启免提操作,这一系列的变化看起来微小而简单,但在这个简单表面的背后,需要硬件、软件和网络服务的无缝协作才能实现良好的体验。

  这个是“嘿 Siri”指令的流程图,你可能想象不到,你的一句召唤,经过这么多处理才会得到 Siri 的反馈。多亏了这一切,你才能在手头忙碌的时候,在烹饪或者驾驶,在戴着 Apple Watch 的时候,无需按键唤醒 Siri。需要说明的是,Siri 大部分的操作是在“云端”,包括语音识别、自然语音释义和各种信息服务,还有为检测器提供声学模型的服务器。本文主要介绍的是“嘿 Siri”在本地设备上的运作原理,包括 iPhone 和 Apple Watch。


  “嘿 Siri”在本地设备主要集中于一个小小的检测器上,这是专门的语音识别装置,它单独用来聆听/辨识唤醒语句,也就是为“嘿 Siri”这句话而存在。

  检测器:听见“嘿 Siri”

  通过 iPhone 或 Apple Watch 的麦克风将你的声音转换成速率为每秒 16000 的瞬时波形采样流,经过频谱分析之后每次将大约 0.2 秒的音频传输到声学模型,深度神经网络(DNN)会将这些声学模型中的每一个转换成一组语音声音类的概率分布,用来分析这组声音是否正在说“嘿 Siri”,并决定要不要激活 Siri。


  在此基础上,为了能在更复杂的情况下也能简单激活 Siri,苹果在分析中加入了正常门槛和下限阈值,只要信度分数在这个范围内,Siri 就会对用户的指令进行反应,但是当分数达到下限阈值但是没有进入正常门槛时,检测器会进入持续几分钟的“敏感模式”,以便用户在第二遍“嘿 Siri”的时候,更快地唤醒。

  响应与功耗:双通道

  “嘿 Siri”检测器不仅要准确,而且要响应快速而且不能太耗电,所以我们得减少内存使用和处理器需求,尤其是峰值处理器的需求。

  为了避免主处理器一直处于等候唤醒的状态,iPhone 中的 AOP(Always On Processor 一种小型、低功耗的辅助处理器,即嵌入式运动协处理器)会分出一部分来运行检测器和比较小的声学模型,只有当前面所述的声学模型分析信度分数达到最低阈值,AOP 才会进一步传达给主处理器,由主处理器接手下一步工作——使用较大的 DNN 分析信号。


  因为电池电量要小得多,Apple Watch 要更特殊一些,它使用单通道的“嘿 Siri”检测器,声学模型的大小经过特别处理,另外,它的检测器只有在手腕抬起的时候才会进入工作状态。

  专属你的“嘿 Siri”

  “嘿 Siri”永远在线,以随时响应用户的呼叫。为了减少错误触发,苹果邀请用户在初始化的时候进行简短的语音记录,用户要说 5 遍“嘿 Siri”,这些语音样本存在本地,用以训练 DNN 的比较能力,以确定触发检测器的声音是不是用户本人所说的“嘿 Siri”。

  这样的步骤可以降低别人说“嘿 Siri”结果唤醒了你的 iPhone,也降低其他类似发音的短语错误唤醒 Siri 的概率。

  当各个阶段都被检测分析通过,这个声音波形才进入 Siri 服务器,先接受主语音识别器的进一步检查,如果听到的是“Hey Seriously”而不是“嘿Siri”,服务器会向手机发出取消指令,手机回到睡眠状态。


  DNN训练

  DNN 声学模型是“嘿 Siri”检测器的核心,Siri 团队创建了专用的“嘿 Siri”短语的语音规范,让声学模型能在各种声音模式中通过目标短语和声音类标签中优化自己的识别结果。

  只要是 Siri 所支持的所有语言,用“Hey Siri”都可以唤醒,不过这不一定是 Siri 最开始监听的句子。讲法语的用户需要说“Dis Siri”,而讲韩语的用户说“Siri 야”(听起来像“Siri Ya”),俄罗斯是“привет Siri”(听起来像“Privet Siri”),泰国是“หวัดดีSiri”(听起来像“Wadi Siri”)。

  最后,还要给检测器进行大量测试和调优,不断地对“嘿 Siri”进行评估和改进,以及通过使用本文描述的各种方法对其进行训练和测试以强化它的能力,才有了如今我们一句“嘿 Siri”唤醒的 Siri。

  小结

  苹果希望“嘿 Siri”的工作范围能够涵盖一个房间,而不是只有一臂之内,在 Siri 成为包括 iPhone、Mac、Apple Watch 和 Homekit 设备的交互主体时,它何时会出现,何时不出现,如何在用户夹杂着自然对话的“嘿 Siri”中醒来,是这一切交互的开始。

  所以,当下一次你再说“嘿 Siri”时,你可能想的是怎么跟 Siri 交谈,而苹果只不过是想要它“刚好管用!”(原话 it“just works!”)乔布斯在 2011 年 WWDC 大会上宣布 iCloud 的时候,说的也正是 It just works!(就是这么管用)。这些年苹果虽然发生了改变,但内在追求一直没有变,我们从这个小细节里就看得出来。
锋观点二维码

微信订阅“锋观点”请搜索

公众号:weiphonegd

锋友跟帖
人参与
人跟帖
现在还没有评论,请发表第一个评论吧!
正在加载评论
返回顶部
关闭