您現在的位置是:首頁 > 娛樂

“Hey Siri” 背後的黑科技大揭秘!

由 CSDN 發表于 娛樂2022-06-12
簡介Siri的前身:M9運動協處理器“協處理器”可以理解為具有有限功能和電池消耗的輔助處理器,用來支援即使在手機空閒(螢幕關閉)時也可以訪問“始終開啟”的功能

為什麼喚醒siri要充電

“Hey Siri” 背後的黑科技大揭秘!

作者 | Vishant Batta

譯者 | 蘇本如,責編 | 伍杏玲

以下是譯文:

如今蘋果手機可隨時檢測並回答“Hey Siri”命令,有人可能會想,它是不是在隨時記錄我們的日常生活對話呢?

答案是否定的!

“Hey Siri”能做的並沒有我們想象的那麼多!

讓我們先看看“Hey Siri!”的發展歷史吧。

“Hey Siri!”作為預裝語音助手Siri的附加功能,於2014年9月在iOS 8中釋出。然而,在iOS 9(2015年9月)它升級了,只允許被用來識別使用者的個性化語音。

而谷歌助手在2013年之前就已經有了這個功能,但是,在你的螢幕關閉時,它不能支援這個功能。即使是現在,很多安卓手機都不支援這個功能。

讓我們來比較一下使用者體驗,如下圖所示:

“Hey Siri” 背後的黑科技大揭秘!

常規方式 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” 背後的黑科技大揭秘!

“Hey Siri!”背後的演算法

使用者的聲音會以0。01秒為一幀的單位被取樣下來,然後每次將20個這樣的幀(0。2秒),連續輸入到深度神經網路(DNN),神經網路將這些聲音轉換為機率密度函式,當該函式值超過最低閾值時,從而啟用主處理器。

DNN訓練

這裡的閾值不是固定不變的,而是根據背景噪聲而變化。因此,為了清楚地理解,你可以說DNN每時每刻都在計算閾值。

此外,當第一次記錄你的語音樣本並生成“觸發鍵”時,實際上是在訓練該DNN並定義權重以計算機率。

對於不同的口音,DNN的訓練是不同的。例如,“Hey Siri”的發音有點像美國英語中的“Serious”,只是它沒有標點符號。而“Hey Siri!”中的“ i”發音長度不同,而且帶有一個驚歎號。

“Hey Siri”背後的數學計算

下面的內容是為所有機器學習愛好者準備的:)。

這是深度神經網路(DNN)模型:

“Hey Siri” 背後的黑科技大揭秘!

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 翻譯,轉載請註明來源出處。

推薦文章