“Hey Siri” 背后的黑科技大揭秘!
更多精彩点
ittbank
昨天
作者 | Vishant Batta
译者 | 苏本如,责编 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
以下是译文:
如今
苹果
手机可随时检测并回答“Hey
Siri
”命令,有人可能会想,它是不是在随时记录我们的日常生活对话呢?
答案是否定的!
“Hey
Siri
”能做的并没有我们想象的那么多!
让我们先看看“Hey
Siri
!”的发展历史吧。
“Hey
Siri
!”作为预装语音助手Siri的附加功能,于2014年9月在iOS 8中发布。然而,在iOS 9(2015年9月)它升级了,只允许被用来识别用户的个性化语音。
而
谷歌
助手在2013年之前就已经有了这个功能,但是,在你的屏幕关闭时,它不能支持这个功能。即使是现在,很多安卓手机都不支持这个功能。
让我们来比较一下用户体验,如下图所示:
常规方式 vs.“Hey
Siri
!”
常规方式是这样的:用户拿起手机 -> 长按home按钮 ->
Siri
启动。
而在“Hey
Siri
!”方式下,用户只需说“Hey Siri!”,无需按键,就可以让Siri启动。
这样有一个好处是,因为当用户不方便使用手操作(如开车时),用户也可以使用手机的一些功能。
Siri
的前身:M9运动协处理器
“协处理器”可以理解为具有有限功能和
电池
消耗的
辅助处理器
,用来支持即使在手机空闲(屏幕关闭)时也可以访问“始终开启”的功能。
M9运动协处理器是
苹果
协处理器家族的第三代产品,于2015年9月与iPhone 6s一起推出。得益于它基于ARM、64位的A9
片上系统
所具有的强大的处理能力和微量的
电池
消耗,这个
苹果
手机著名的“唤醒”功能才得以实现。M9有时也被人们描述为“嵌入到运动协处理器上的始终在线处理器(AOP - Always on Processor)”
“Hey
Siri
!”是
如何工
作的?
当你第一次启用这个功能时,它会提示你说一定次数的“Hey
Siri
!”。然后你的iPhone将这些声音保存起来,用做将来识别你的个性化声音的“触发键”。
这个个性化的“触发键”保存在协处理器中,即使你的手机处于空闲状态,协处理器也会侦听(而不是听到)落到
麦克风
上的所有声音。
因此,当声音落在
麦克风
上,并与“触发键”匹配成功后,协处理器就会激活主处理器开始录音(就像我们长按主屏幕按钮打开
Siri
一样)。然后,该录音被发送到服务器,并以类似于每个语音助手的过程进行解释。
想象一下这个过程,就好像你拥有数千把钥匙,你正试图找到哪把钥匙正好匹配你要打开的锁。
这里要注意的重要一点是,AOP处理器(A9)总是在“侦听”而不是“听”用户的声音。
它就像一个婴儿,他一直在听人说话,但无法完全处理听到的话,只有在呼唤他的名字时,它才会被触发而开始工作。
M9运动协处理器于2015年9月与iPhone 6s一起发布。但正如本文一开始所说,“Hey
Siri
!”功能早于2014年9月就已经推出。那么,早期版本的iPhone 是如何能够“被动地”侦听呢?
好吧,如果你碰巧认识一个拥有iPhone 6的人,你可以检查一下“Hey
Siri
!”。即使你的手机处于空闲状态(屏幕关闭),该功能也只能在充电模式下工作。正如我们可以简单地推断的那样,它仅仅能在充电时获取少量的额外电量。看看下面iPhone 6 Siri的设置截图:
“Hey
Siri
!”背后的
算法
用户的声音会以0.01秒为一帧的单位被采样下来,然后每次将20个这样的帧(0.2秒),连续输入到深度
神经网络
(DNN),神经网络将这些声音转换为概率密度函数,当该函数值超过最低阈值时,从而激活主处理器。
DNN训练
这里的阈值不是固定不变的,而是根据背景
噪声
而变化。因此,为了清楚地理解,你可以说DNN每时每刻都在计算阈值。
此外,当第一次记录你的语音样本并生成“触发键”时,实际上是在训练该DNN并定义权重以计算概率。
对于不同的口音,DNN的训练是不同的。例如,“Hey
Siri
”的发音有点像美国英语中的“Serious”,只是它没有标点符号。而“Hey Siri!”中的“ i”发音长度不同,而且带有一个惊叹号。
“Hey
Siri
”背后的
数学
计算
下面的内容是为所有
机器学习
爱好者准备的:)。
这是深度
神经网络
(DNN)模型:
DNN模型
总的概率函数如下:
其中:
F(i,t)是模型中状态i的累计分数
q(i,t)是
声学模型
的输出。这个输出是语音类别的对数分数,它与时间t附近给定语音模式的第i个状态有关
s(i)是和留在状态i相关的开销
m(i)是从状态i继续向后移动的开销
这里的s(i)和m(i)与定义“触发键”时训练的权重相关,可以这样假设:
s(i)- 由“触发键”的单个帧决定,取决于音调、音量等参数。
m(i)- 取决于“触发键”的频率,或简而言之速度,以及s(i)参数改变的大小和快慢。
例如:m(i)和 s(i)对埃米纳姆(Eminem)和阿黛尔(Adele)来说是非常不同的,因为埃米纳姆唱得更快(实际上要快得多),同时变化较小。而阿黛尔唱得更慢些,而且变化更大。
考虑到处理功率和
电池
消耗,对于协处理器(32层)和主处理器(192层),DNN中的层级大小是不同的。
“Hey
Siri
!”这项功能虽然没有被广泛宣传,但它却是朝着
自动化
和提高移动电话易用性迈出的革命性一步。它也可以被视为一个很好的例子,说明一个小小的改变如何对用户体验产生巨大的影响,以及这些小小的革命性改变有时需要进行广泛的研究。
原文链接:https://hackernoon.com/how-does-hey-siri-work-without-your-iphone-listening-to-you-at-all-times-827932do
本文为 CSDN 翻译,转载请注明来源出处。
阅读
在看
已同步到看一看
写下你的想法
前往“发现”-“看一看”浏览“朋友在看”
前往看一看
看一看入口已关闭
在“设置”-“通用”-“发现页管理”打开“看一看”入口
我知道了
已发送
取消
发送到看一看
发送
“Hey Siri” 背后的黑科技大揭秘!
最多200字,当前共
字
发送中