現在Android手機上的Google搜尋或是Google助理,內建了最新一代的音樂辨識功能,這源自2017年上線的Now Playing功能,但採了4倍大的深度學習神經網絡來訓練,嵌入(Embedding )的維度從96維成長到了128維,Google宣稱,不影響辨識速度下,幾乎無限制增加可辨識的音樂資料庫數量。

2017年Google在其Pixel 2上推出Now Playing功能,這是基於深度學習神經網路的低功耗音樂辨識服務。Google在打造Now Playing時,目標朝向滿足小型且高效的訴求,資料庫只需要存放非常小的音樂特徵,可以讓裝置在沒有網際網路連線的狀態下,提供音樂辨識服務,而手機端Now Playing應用的準確度和速度,超越了當時以伺服器端系統提供的聲音搜尋(Sound Search)服務。

也因此,Google採用Now Playing相同的技術,來打造新版聲音搜尋功能,並內建到Android手機上,成為Google搜尋或是Google智慧助理的基本功能,只要使用者啟用語音查詢,聲音搜尋服務會自動偵測背景的聲音,當發現裝置附近有音樂撥放,介面便會出現相關提問,引導使用者查詢歌曲名稱,使用者也可以直接使用Hey,Google指令查詢。

原本的Now Playing功能系統非常小巧,用於手機上的搜尋,持續執行也不會明顯影響電力。因為Now Playing會將偵測到的音訊擷取8秒,使用卷積神經網路將數秒鐘的音訊檔案轉成獨特的指紋特徵,投影到一個由7段2秒片段組成的低維度嵌入空間,再以此特徵與手機上的定期更新的離線歌曲資料庫進行比對。搜尋裝置上的歌曲資料庫,來辨識該資料庫內的特徵資料。系統會使用兩階段來搜尋歌曲,第一階段使用快速但不精確的演算法,搜尋整個資料庫以找出可能的候選歌曲,第二階段再對候選者進行詳細分析,進一步找出正確的歌曲。

伺服器端的聲音搜尋系統運作方式和Now Playing大不相同,必須比對的資料庫是Now Playing規模的1千倍,這對搜尋的準確度和速度都是很大的挑戰。雖然Google使用Now Playing技術來改進伺服器端的聲音搜尋,但是極大的歌曲資料庫,讓錯誤預測產生的機率上升。為了降低這些錯誤,Google必須要增加辨識閾值,而這代表著必須要增加比對音訊的長度。Google認為,新的服務應該要比舊的更快,使用超過10秒的音訊不符合期待。

不過,由於聲音搜尋服務建立在伺服器端,因此可以用不受限制的運算以及儲存資源來彌補這些缺點。Google打造比原本還要大4倍的卷積神經網路,並且增加每一嵌入維度,從96維提高到了128維,減少了卷積神經網路將高維度音訊打包成低維嵌入所需要的工作量,這對於進行詳細分析的第二階段搜尋的品質至關重要。另外,Google還根據歌曲流行的程度,對索引進行加權,越流行的音樂設定越低的權重,並增加模糊朦朧的音樂權重,整體來說,比對資料庫可以幾乎沒有限制的增加歌曲,且不會過度影響資料辨識的速度。

Google仍繼續提升辨識音樂的準度和速度,特別是在背景音的處理,因為使用者辨識音樂的環境可能很安靜也可能很吵雜,這也都會直接影響辨識品質。


Advertisement

更多 iThome相關內容