本講座選自清華大學計算機系副教授徐明星於2018年4月15日在CSIG影像圖形學科前沿講習班第4期上所做的題為《語音處理技術在無監督身份認證中的應用》的演講。
徐明星:博士、清華大學計算機系副教授,清華大學--得意音通聲紋處理聯合實驗室副主任。從事語音語言處理和生物特徵識別研發工作20多年,主要研究興趣包括語音識別、聲紋識別、情感識別和話語理解等,負責和參加了多項國家973、863、重點研發計劃、自然科學基金重點專案等研究課題,參加過多個聲紋識別相關的國家和行業標準的起草工作。中國人工智慧學會人工心理與人工情感專委會委員、中國心理學會音樂心理學專委會委員。
演講全文
徐明星:大家下午好,我叫徐明星。今天的主題是「語音處理技術在無監督身份認證中的應用」。這裡有五個要點,一是語音及聲紋的基本概念,二是身份認證的應用需求,三是應用所面臨的理論挑戰,四是市場發展機遇,五是目前語音處理技術尤其是聲紋識別技術在理論和應用方面的進展情況。
一、基本概念
1、生物特徵舉例
當用生物特徵代表人的身份的時候,實際上有不同型別生物特徵。
第一,生理特徵,如指紋、掌紋、人臉、虹膜等這些與生俱來的特徵。一般來說,這些特徵不會隨著一時變化產生劇烈變化,比如人的臉可以笑、可以哭,會改變面部形態,但是基本骨架仍在。所以生理特徵相對比較穩定。
第二,行為特徵,人在社會的交往與活動中產生的資訊,可以作為身份的代表。比如簽字可能會有變化,但是這個人的運筆有獨特的地方,可以用於身份識別。再比如步態,甚至鍵盤敲擊都有個性特點。今天講的是聲紋,說話也是具有區別性的,聲音隨著交流物件、交流場合、交流內容而發生變化,所以聲紋屬於行為特徵(區別於人臉等生理特徵)。今天要講的就是如何用語音處理技術去提取人的聲紋特徵,然後用來做身份認證。
2、聲紋識別的型別
第一,聲紋辨認,要判定測試語音屬於目標說話模型集合中哪一個人。辨認是“多選一”的“選擇”問題。
第二,聲紋確認,確定測試語音是否來自所宣告的目標說話人。確認是“一對一”的“判決”問題。
第三,說話人檢出,從各種各樣的語音檔案中,使用計算機自動地判斷測試語音中是否存在目標說話人。
第四,說話人追蹤,什麼時間誰說了什麼話?誰在什麼時間說話?判斷目標說話人在測試語音中的發音位置,稱之為說話人的追蹤。這個聲紋是在與他人的交流中產生的。
第一種是聲紋識別和文字無關,說話人可以隨意錄製或發音一定長度的語音;第二種是文字相關,要求說話人必須發音事先指定的文字內容;第三種是文字提示,系統隨機提取若干詞彙組合後提示使用者發音的文字內容。對於後兩種,雖然不同人的說話內容有可能一樣,但是因為聲音本身有區別,所以還是會體現出不同的特點,計算機會辨認你到底是誰。
3、聲紋識別效能的評價標準
一是確認系統裡面中有哪些人的等錯誤率相等,誤檢和漏檢的錯誤相等,隨著系統的配置不同,這兩個錯誤值會變化。那麼怎麼比較一個系統的好壞?把這些系統約束到這兩類錯誤相等的情況下,比較大小。這個等錯誤率點越靠近原點系統效能越好,這是一個常用評價確認這類聲紋識別它的效能。
有時候大家也通過曲線的走勢來總體評判這個系統的優劣,這個圖中的曲線叫做DET曲線。
由於不同系統對於漏檢和誤檢的要求不一樣,比如有些場合寧可誤判,也不能把任何一個嫌疑人漏掉,因此更看重漏檢率。DCF指標就是把誤檢和漏檢進行加權,以此來比較系統的好壞。
在這圖中,我們發現越靠近原點,系統效能越好,是一個文字相關的聲紋識別,反言之,如果聲紋識別是基於文字相關的,那麼它的效能會比較好。如果文字無關,則效果會變差。不同情形下的效能大概是如圖所示這樣的區別。
對於辨認來說,是指從計算機系統(可能事先已經認識N個人)中分辨出一個未知語音的來源,所以辨認是開集/閉集測試。閉集指一定是在你認識的人裡面,如果是開集,測試這個人可能是計算機以前沒有聽說過,系統裡面沒有為他建模。這個時候一方面要判斷他到底是誰?同時他還得判斷如果我不認識,我得拒絕。所以開集較難。
4、發展歷程
聲紋識別的技術發展最早可追溯到17世紀60年代英國查爾斯一世之死的案件審判中,而真正對說話人識別的研究始於20世紀30年代。1945年,正式提出“聲紋”的概念,相當於指紋,那麼聲音也是可以認為有一個紋理的存在。紋理這個比較形象的詞最初主要指語譜圖的波紋,說話人講不同內容的時候,紋理會不同,所以用到一個紋理這樣一個詞彙,把聲音裡面的紋理,稱之為聲紋,可以代表人的身份。1962年,對這些資訊的分析和利用為聲紋識別提供了理論基礎和識別依據,促進了說話人識別的進步。
5、常用特徵引數和模型方法
常見特徵引數裡面有梅爾倒譜系數、線性預測倒譜系數、感知線性預測係數、感知對數面積比係數等。
常見的模型除了早期的動態時間規整、還有向量量化,中期也有大量使用隱馬爾科夫模型,然後是高斯混合模型,把背景通用模型加進來,當然也包括支援向量機,以及最近的因子分析模型和深度神經網路。
GMM-UBM模型是基於高斯模型對語音的特徵空間進行刻畫,除了自己的資料訓練出來的GMM,在識別的時候還會用其他各種各樣來源的說話人資訊訓練出來的UBM,它也是GMM形式的東西,是一個參照,然後把這個說話人的模型跟它做一個比較,跟閾值做一個判別,看到底測試的這個人是不是模型代表的這個人。
在這個基礎上,人們進一步研究:可以從聲音中抽取出特徵,用UBM做自適應,然後得到一個新的GMM,用這個GMM的均值向量,因為它是多高斯混合的,把這些個均值拼接起來,形成一個稱之為超向量的東西。
比如有1024個混合,那麼每個向量的均值的維度;比如39維,就是39×1024這麼一個高維的向量,把前面GMM的均值串起來,送到SVM模型裡面對它進行識別。這是幾年前經常用的一個演算法的思路。
2007年左右,有學者提出聯合因子分析這樣的辦法,並不是直接把超向量送分類器去識別,而是把它做進一步的分解,認為它是由若干不同的分量組成的,其中有一個叫做說話人空間,然後一個是通道空間,還有一個是刻畫不了的稱之為殘差空間。那麼這些空間上都有它的投影或者說它的分量座標,分別稱為不同的因子,因為它的因子分析是把幾個方面合在一起同時進行的,所以叫聯合因子分析。這樣,這些座標稱為說話人因子、通道因子、殘差因子。
有了這樣的公式將來識別的時候,可以按照這個模型把說話人的因子抽出來,從而使得通道因子以及其他一些不明因素,從這個大M向量裡面拿掉,所以JFA的識別效果比以前的方法好很多。以前的辦法一般百分之6到8的等錯誤率,用JFA基本就是百分之一點多或者二點多,效能提升非常大。這是因為對超向量的分解,使得JFA模型能更準確把說話人的因素抓出來。不過,這個方法一來計算比較麻煩,二來研究人員也發現得到的說話人因子,它裡面還是會混雜一些通道資訊,反過來也一樣,通道因子也會含有一定的說話人因素在裡面。所以,很快有人提出來,我不分解超向量了,提出一個全變數因子,在一個空間上面,這個時候T代表的空間其實是所有的變化都含在裡面的一個空間,這就又退回去了,原來想分開覺得分開好,確實變好了,後來又覺得分開不徹底,乾脆別分了,換一個別的辦法。
但是後面會對W(全變數因子),即i-vector,i代表個人,然後對這個i-vector做後續的處理。比如,做一個歸一化補償,或者做另外的投影變換,把說話人無關的一些資訊濾掉,只留下說話人相關的資訊,發現這樣做的效果也很好,甚至在同樣資料量的條件下比JFA還要好,所以後來i-vector方法就成為一個比較經典或者主流的辦法。這個方法是在JFA的基礎上所變化過來的。
這是最近用深度學習來做特徵的學習所提出來的方法。前面先把聲音算出語譜圖(橫軸是時間,縱軸是頻率,亮度代表這個頻率成分上它的能量的大小),可以看到聲音中包含著隨著時間變化的不同頻率分量,這裡既蘊含著聲紋資訊,也包括你說了什麼內容資訊。我們現在關注聲紋資訊,這塊應該是常見的CNN的神經網路,對它進行抽取。然後在後面再加一些時延的網路,從而把它跟說話人建立聯絡,然後從當中學習它的特徵。通過有監督學習演算法,把輸出前隱含層輸出出來,作為它的特徵向量,送到後面常規的識別器裡去。這裡的神經網路是用來進行特徵學習的一個模組。
當然也有人說,別分那麼清楚,乾脆端對端,這也是近年來比較流行的建模方法。既然神經網路能學特徵、能做分類,是同一個東西在幹聽上去不同的兩件事兒,何必分那麼清楚呢,反正大家都是神經網路嘛。這樣,把它們(特徵學習的網路和模式分類的網路)拼起來也能夠取得不錯的效果。這是聲紋識別最近幾年裡隨著深度學習的大量運用,使用這樣一個端到端的學習技術去做聲紋的提取和辨認。
我們用聲音辨別一個人的身份或者代表它,即聲音訊號是代表人的一種生物特徵。有一些生物特徵識別領域必須關注的問題,在聲紋識別裡面到底會怎樣呢?
6、生物特徵的安全性
我們探討一下對於生物特徵的一個很重要的事情。因為用生物特徵很多時候是為了保障安全,當然有些特殊情況下是為了抓罪犯,大多數時候是為了保證使用者的安全。像一把鑰匙、一本證件一樣,是你的某種資質或者權利的代替、一種符號。
在生物特徵裡面有一類是生理特徵,它們具有穩定性。比如指紋,雖然手指會脫皮,但是最後長出來還是這個紋理。人臉也是這樣的,具有一定的穩定性,我們把過去照片拿出來,也能夠辨認。除非是很重大的外力干擾才可能導致人臉發生劇烈變化,比如手術、創傷等,所以人臉相對來說是比較穩定的。
那麼對於這樣一類生理特徵,它的識別非常好,能夠很快的普及和應用。但是容易有被人模仿,攻擊的缺點。比如說有人對虹膜這種識別系統開展攻擊,取得了一定的成功;這是2015年報導的,從網上搜了一下,研究人員宣稱他把普京的高清晰照片弄下來,然後就把虹膜識別系統繞過去了,相當於攻破了。也有人對指紋識別系統,拿一個橡皮泥把你的指紋取下來,然後就開啟了手機,這是在世界移動通訊大會上做的實驗。因為它們都是相對穩定的生物特徵,所以別人容易獲取,並且能採取有針對性的辦法去剋制它。
過去人臉在識別的時候,你站立不動就可以識別你,但是很快這個系統就要求使用者在登記註冊的時候要點頭眨眼什麼的。為什麼要求動一下呢?這是因為很多人拿照片就騙過了計算機,所以就要求人們要眨眨眼。後來眨眼也沒不行了,闖入者會根據系統的要求去做一個動作,然後黑客裝置會捕捉這個動作,並按照這個動作去讓照片動起來,採用計算機動畫技術來做,這個沒有難度。所以讓布什的照片,按照你要求來動動嘴巴和眼睛,就會把計算機騙過去。
大家說深度學習很厲害,取得了傳統技術完全不可比擬的很高的識別率,雖然它是個黑匣子,有研究人員仍然發現它的漏洞。CMU有一個團隊發現使用深度學習的系統找人臉特徵也有規律,若給闖入者戴上一個列印特殊紋理的眼鏡,計算機掃描這個影像,會把這個關於影像的模式認為是有用的資訊,這個資訊會混到用深度學習提取的特徵裡去,結果導致這個人戴上一個眼鏡,居然識別成了另外一個人,比如一個女演員,這個差別非常大。
最近國際影像圖形大會上有組織專門用這種攻擊技術的比賽,給你一個圖片,要求把這個圖片加一點東西,讓系統識別成另外的東西,甚至是想識別成什麼就能識別成什麼。所以關於人臉識別,矛和盾的問題,即使是基於深度學習的系統,也是存在的。
去年下半年上海辦了一個極客安全大賽,專門針對身份認證的各種技術開展攻擊的比賽,拿幾個系統過來,然後要求參賽者進行攻擊。這個相關的報導大家可以看一下。這裡掌紋、虹膜、人臉、筆跡等等都在裡面有做比較。
那麼,我們看到比較多的都是有相對穩定性的生理特徵,那麼作為行為特徵的一種——語音——來識別人的身份會怎樣呢?我們下面看一下語音在防範攻擊方面有沒有一些自身的獨特點,能夠被我們利用起來增強安全性,我想,這也是大家比較關心的一個問題。
7、語音的特點
第一,看不見、摸不著,只能用耳朵聽。有時候你比較熟的人,說“誰啊?”,“我!”,就一個字你就知道是誰。大家說,看不見摸不著,是語音的優勢還是劣勢?
第二,高可變性。我們大家都會說,若是今天不高興,說話不太有力,或者今天感冒了鼻塞,甚至內容不斷變化,那麼怎麼根據不同聲音認出來是我呢?聲音包含的可能變化這麼多,這對於我們用它來識別人的身份是有利還是無利呢?
實際上,語音訊號體現辯證的高度統一。雖然聲音裡面可能有很多變化,但是實際上在這些變化中恰恰是蘊含著跟人緊密相關的不同的東西,用它來識別身份反而是最穩定的或者說是最安全的。
從人和計算機的關係來說,語音訊號:
第一是唯一可雙向傳遞資訊,從而可以互動。
第二是唯一週邊無死角,從而可非接觸,方便使用。
第三是唯一高可變性與唯一性完美的統一。一句話說出去後,既可以認出來你說什麼內容,也能夠分辨出來你說的什麼語種,即便都是說漢語也可以去分辨你到底是什麼樣的口音?有經驗的人是可以做到這一點的,至於計算機能不能像有經驗的人那樣“聽”出來,那是另外一件事情了。至少,我們想說,在聲音裡面有關於口音的資訊,有你是哪裡出生和成長的資訊,其他的如性別、情感,還有聲紋——誰在說話?你到底是誰?等等,這些資訊都在語音的訊號裡面所包含著。
語音這樣一個簡單的形式、載體,蘊含著豐富的資訊,我們稱之為形式簡單,含義豐富,即形簡意豐。這是語音訊號一個非常獨特的性質。如果我們跟別的形式,比如說指紋或者虹膜做比較,聲音這個特點可以說是獨一無二的。至於我們人類能不能用自動計算機演算法把這個特點利用好,那是另外一個話題。事物本身的豐富效能不能用得很充分,那是我們的水平和能力決定的。但是,作為一個資訊載體形式,聲音確實有它特別獨到的地方。
第一重措施,動態密碼聲音。如果用建行手機的APP,它可以用聲紋認證,能夠防範攻擊的原因是:這裡的密碼跟常見的驗證碼類似,在你用它進行認證之前,闖入者是無從知道系統要你說什麼的。這樣的話,使得播放事先錄製的語音是沒用的,因為這個密碼老變。這個可以作為某一級或者某一重防範攻擊措施,即使用動態密碼。這對人來說沒有任何負擔,不用記密碼是什麼,系統提示的是什麼就說什麼,沒有任何負擔,也不需要做額外準備。
第二重措施,錄音重放檢測。聲音從外界採集到計算機中進行處理,都需要進行模數轉換等訊號處理操作,這是任何一個人或裝置都沒法繞過的處理流程,我們可以根據這個原理來做錄音重放的檢測。因為聲音作為一個模擬的訊號,在空氣中傳播到計算機裡去,要先由感測器捕捉到,最後變成數字訊號進來。如果是重放語音,那意味著什麼呢?意味著在重放之前,該聲音其實是已經經過了一遍這樣一個從模擬到數字的處理過程,經過重放錄製又經過一次數字到模擬的變換過程,計算機會再把它變一次,根據訊號處理知識,聲音訊號的頻譜結構就會產生變化,這種變化其實是有一定的規律在裡面。計算機可以檢測這個聲音是一次性的從空氣中傳過來的,即發聲源是人的嘴巴,還是說聲源一個音響。所以,錄音重放的攻擊可以防範的。
至於有人說,錄音的時候我把聲音資料直接接入到認證系統裡面去,這個就不是我們搞聲紋識別技術的人要解決的了,那是做手機系統的人要去防範的黑客行為。如果不是通過破解手機的作業系統,那麼錄音重放的語音資料一定是至少經過二次錄音處理過程。這樣的話,訊號就會產生很明顯的改變,我們可以把它檢測出來。
第三重措施,使用者自定義密碼。這個跟動態密碼的不同點在於,前面是計算機提示給你的,你沒有任何權利去改變或者定製它,但是在第三重的措施這個地方,其實是等同於對你自己對密碼的定義,只有你自己個人知道的這樣一個私密性給予了保證。也就是,你的密碼是什麼只有你知道,當然你要告訴別人那是你的事兒。這樣就把傳統的你自己知道密碼的事兒跟聲紋結合起來了,而且你也完全不必只用數字作為你的密碼。比如這是一個0,我叫圈可以嗎?也可以。這是1,我讀個豎,甚至乾脆讀成電視,只有你知道,你看到1你就說電視,這誰知道!所以,這樣只有你自己知道的密碼本,無形中又增加了攻擊的難度,基本上是沒法破解的,而且你還可以隨時更換。你錄音了也沒用,今天我讀成豎,明天就讀成棍子,你沒有辦法知道的。這是第三重,目前專利已經在公示了,可能很快就會授權。這是我們提出來的另外一種辦法去防範攻擊的措施,利用聲音可以隨便說話的特點,把這個作為你的密碼記下來。
第四重措施,多特徵活體檢測。最後保證你既是活體,而且確實按照要求說話,這樣闖入的可能性大大減少。人在說話的時候我們可以看到他的嘴脣相應的變化,這樣就可以把影像視訊的識別技術結合起來。
最後要說的是,聲音其實是可以用來實現一句話把所有需求都解決掉的。比如我們現在舉個例子。在這裡我們說要給張三轉一千塊錢,因為是轉賬,錢拿出去還是要慎重一些的,所以要確認身份對還是不對。
在確認身份的同時,因為聲音本身能夠蘊含你的各種需求或者說一些意圖在裡面,所以可以用語音識別把這個意圖識別出來,從而讓計算機讓後臺伺服器上的銀行程式去執行你的業務要求。這樣的話,你其實只用說一句話,身份認證和意圖理解能夠一次性完成,最終安全地給對方轉賬。
比如說,用人臉識別,要求你眨眨眼,驗證通過後,再問你幹什麼業務 ……. ,在這個處理流程中,認證與業務完全是分離的。當用語音時,認證和業務(命令)是不用分離的,你直接說就可以,因為聲音既是身份的代表也是意思的表達,資訊都在裡面。所以我們之前說,語音訊號包含的資訊很豐富,所以它表現出來的變化很大。反過來,也正是因為有這樣豐富的資訊,我們完全可以充分發揮它的特長,把身份認證和其他工作緊密無縫地綁在一起來實現。這是我們講的一些基本概念。
二、應用需求
目前的聲紋應用主要有以下幾個部分:
比如公共安全還有移動支付,由此大家也容易想到門禁考勤也可以,經過這個地方我來了,說一句話就進去了。特別是大批量的人經過一個考勤系統,一個一個地使用指紋是很不方便的,因為裝置比較專有,當然用人臉識別也是可以的,它可以同時捕捉很多人,所以考勤也會很快。
1、移動支付
2、社保生存認證
社保生存認證是最近比較重要的一個方面。因為真正拿社保的人,很多時候是年邁的老頭老太太,他們行動不方便,但是確實有人冒領,所以人家發社保的人也沒有辦法,只能要求拿當天的報紙,讀一下報紙的標題,發個視訊過來。要不就要求你專門到發放社保的點去,很麻煩。現在可以打一個電話,只要使用者一說話,這邊就能夠知道你到底是不是那個合格的人。
3、電子政務領域
比如,國外在1998年的時候有一個運用,2004年做身份核實,國內是得意公司和公安部、建行還有廈門公安局等有實際上線的系統,建行現在已經在電話銀行、手機銀行上面執行了三年多。
這就是建行的介面,要不要聲紋登入?如果一點就會出現這個,這個動態碼是隨機變化的。可以設定的安全中心裡自己配置一下,在安全驗證這個地方加上聲紋就可以了。據建行的反饋資訊,目前已經完成1.5億次聲紋識別的交易,沒有人投訴,而且過去在沒有用這個聲紋技術之前,日交易額度是5萬,現在因為有身份認證,銀行膽子更大了,可以是50萬的交易額度,原來不敢放開啊,因為密碼很容易被別人偷,現在另了聲音,銀行覺得被偷的可能性小,所以把額度放寬了。這是龍支付裡面,可以用來做身份的鑑別。
4、移動支付
我們也跟其他的銀行進行合作,另外還有中國銀聯。有的銀行已經安裝類似的系統。這是在移動支付方面,我們用聲紋識別做的事情。
我們也可以用於網路身份認證。我們和國家資訊中心合作推動統一身份的認證,就是把聲紋識別作為認證手段。
5、門禁+網證
萬科設想在自己經營的酒店裡面用聲紋做認證。好處是什麼?你到網上訂房間之後,用聲音先註冊一下,那麼到了酒店的時候不用拿身份證,直接說一下我是誰,訂了什麼,這個聲音進到系統,當場做判斷,如果驗證你確實是預訂房間的人,那你可以直接去房間。房間的門鎖也是用聲紋的,你一說話房間就開了,完全不用卡。
客人只說話,現場通過認證,客戶資訊都可以顯示出來。將來身份證也不用帶,到哪兒別人都知道你是誰,非常方便。
6、社保生存認證
我們已經跟貴州、河北、江蘇三個地方社保局和民政局建立了合作關係,做社保的深層認證。
另外一個是跟北汽合作在汽車領域應用聲紋識別技術,用來對車輛用聲紋進行認證。
這個系統第一眼看上去覺得這就是聲控,“開燈”,”關窗”,但是,只有我說才會關,你說沒用,這個演示沒展示出來。實際上,產品不僅識別內容,也在判斷聲音是否是車主本人,所以其他人去說是打不開的。有部電影——2012——裡面有個情節,就是搶一輛車,最後開的時候引擎發動不起來,就是加了聲紋控制,如果不是這個車主的話,你的引擎發動不起來,其實想達到的目的就是這個。所以不僅要求是一個真實的人在發命令,內容和身份兩個資訊必須結合起來。
三、面臨挑戰
剛才我們重點是探討了聲紋的安全性,然後講了三四種這樣的辦法對付闖入攻擊,接下來給各位談談聲紋技術在應用中面對的挑戰。其中有一些問題可能比較棘手,我們稱之為是它的魯棒性要求。
1、魯棒性要求
有一個日本專家指出有很多重要的關於系統的魯棒性的方面,必須要解決。那麼歸納起來比較重要的是三個方面:
一是環境相關的聲紋魯棒性;
二是說話人相關的聲紋魯棒性,比如感冒了鼻塞了,那麼聲音可能會有變化,你聽我幾十分鐘,我現在捏著鼻子說話很彆扭。那麼計算機能不能在我感冒的時候,也能夠聽出來是我呢?還有,年齡變化,說話方式變化,比如我現在屬於討論交流講課性質的說話形式,但是我在家裡說話不是這個腔調,比如對小孩子不能這麼說,說話方式要有變化。
三是應用相關的聲紋魯棒性。還有語音編碼其實也對聲紋有影響。關於這些方面,去年鄭方老師和博士生李藍天出版了一個小冊子,網上可以訂購到的,專門就這些重要的魯棒識別方面做了闡述。
下面我們簡要介紹一下書上的一些內容:
比如環境相關的魯棒性,主要是噪音、通道適配問題、多說話人,對於環境噪聲,因為語音識別也會說這個,所以這些問題研究得比較多,也提到各種各樣好的辦法,比如濾波、還有變換。
我們也開展了這方面的研究,比如通道匹配,我註冊的時候可能用手機,我用的時候可能拿座機,這就是通道失配。我們可以通過一些候選集合——參照集的說話人去合成通道的變化,這也是一個很有效的變換方法。另外,也可以加進去一些區分性訓練,包括把深度學習的東西放進去,從而改善通道變化對效能的影響。
比如說多說話人的這樣一個情況,你首先把人的語音分割開,所以我們既可以同步分割,一邊分割一邊識別,也可以非同步分割,先分然後再聚類,然後識別,這些措施都可以用來做多說話人的聲紋認證。
對於身體狀態的變化,目前沒有看到很有效的辦法。一方面固然是因為技術很難,一方面也是因為資料比較難搞,你真的找一個人,我約上號哪天感冒到我這兒錄音,這很麻煩。目前來說還沒有太多突破。
但是時變上,雖然採集很困難,但是我們也早留意這個事兒,2007年就開始採集隨時間變化的語音資料了,過一段時間錄音,還是這批人繼續錄音,從而形成一個很重要很特殊的語音資料庫——時變語音資料庫。
一是情感,大家知道情感是一個非常熱或者時髦的研究課題。不僅是能從聲音裡面辨別出使用者的情感是什麼,你的表情、你的姿態等等都是能夠反映情緒狀態的。情感對於聲紋的影響也很明顯:生氣時說的話和你在喜悅時說的話,其實聽起來是不一樣的,計算機聲紋識別對這些情感變化的語音也會產生很多錯誤。這方面我們做過一些工作。
二是語速,最近鄭老師有一個馬上要畢業的博士生就是做語速的,我的語速是中等偏快一點的,不是很明顯的快,但是至少不算慢吧。那麼,每個人說話的時候可能因為交流的場合變化,情緒波動等等,語速會有變化的。這個時候計算機對他的聲紋抽取會受到影響,需要專門針對語速變化來提出解決的辦法。
三是跨語言,預留聲音的時候可能是漢語,最後聲紋測試時可能是說維語,系統能不能認出來?
這是針對時變問題我們做的一個工作。錄音的時候第一年,比如隔一週錄一次,錄四次是一個月錄一次,然後半年一次,還是這批人錄了差不多快十年。我們發現,隨著時間的變化,如果系統不做任何改動的話,沒有針對性的處理,那麼聲紋識別的效能會有很明顯的變化。所以人的聲音,說聲紋不變,其實也是變化的。這個問題很多系統是解決不了的,因為它們沒有實際時變資料來分析這裡到底什麼原因導致聲紋的變化。因為我們錄有這樣的語音資料庫,所以能夠找出變化規律,對時變進行處理。
在這裡,他把訊號的頻帶按照不同組織方式進行相互關係的比較和分析,這是一種辦法。通過對聲音訊帶作不同處理,那麼傳統方法在提取特徵的時候,是直接按照頻譜要求做了一個對映變化。但是因為Mel不是專門用來進行聲紋識別的,所以我們根據隨時間變化的要求,重新設計了一個變換尺度。對映到這裡,再去匹特徵。這裡畫了一個示意圖:如果是傳統的按照Mel刻度進行分割,然後做變換,那麼最後得到的就是MFCC。如果是用另外一個尺度來分割和變換的話,那麼就得到一個新的特徵,這樣它對時變的效果就會提上去。所以,我們可以看到,在做了這樣的處理之後,比起傳統的MFCC,這是隨著時間的變化它的EER的波動,可以看到做這樣的處理,明顯比不做這個處理好很多。
這個文章當年投到期刊上面之後,評閱人說:很多人都在琢磨著對深度學習這個黑匣子,去調它的引數,感謝你們這個團隊研究的時變問題是很關鍵基礎的課題。所以評閱人專門就此做了評論回覆。我覺得這樣的工作從前期的準備到它的設計,一個是你下一個決心,另外一個是堅持,因為這樣的時變資料庫你得好幾年才能準備起來。
剛才已經談到防假冒,還有真實意圖,還有短語音問題。短語音為什麼重要是很容理解的,因為聲音越短用起來很方便。那麼真實意圖為什麼很重要呢?我們知道在法律上,要求人的行為不能違背當事人的本意,他不能是被強迫的。所以,我們希望在身份認證裡面,要考察當事人或者目標人他的意圖是不是真實的?必須是合法的,是法律認可的,是他的本心所願做的事兒,所以真實意圖檢測,是身份認證到底可信不可信或可靠不可靠的一個重要的要求。
在假冒闖入的時候,其實大家都容易想到是重放,但是重放不太靠譜,你錄完音都變化了,甚至密碼是你不知道的東西。所以大家提出矛和盾其實是同時存在的,比如,我可以用語音合成的語音。我們經常會聽到語音合成產品的效果,這些語音人聽上去還行,那只是在聽內容的時候還行,這個字是什麼計算機給讀出來,人的耳朵只是為了聽出音是什麼,所以合成語音哪怕有些不自然也是可以接受的。
但是要把你的聲紋特徵蘊含在聲音裡面和內容一起合成出來,這個事情目前還沒有人搞定。將來會不會搞定我們現在不好說,多長時間能搞定我們不知道,但是至少從目前來看,語音合成不算是假冒攻擊的一個大問題。但是前提條件是你的識別系統真正做到了我們前面講的那樣幾個防範措施,那它防範的語音合成攻擊才是可以的。如果你採用的是一個固定密碼讓人去說,就很容易攻破掉。
另外,還有用聲音轉換技術從某個聲音變成你的聲音這樣的辦法。現在網上老放奧巴馬的合成聲音(視訊),我們人覺得這聽起來是奧巴馬的聲音,其實要是放給奧巴馬身邊的人去聽的話,實際上是差很多的。所以,這種辦法糊弄計算機,目前無論是合成技術還是聲音轉換技術還不靠譜。當然,矛和盾總是發展的,只是目前來講還沒有辦法用這個去攻破。
至於一些有特殊能力的人可能會模仿你說話的聲音,如果說把你說話的那個意味表現出來,讓你覺得說得很像,這完全是可能的,但是真正到一個小的語音片段上面,要做到對某個具體音的模仿,目前沒有找到這樣的人,所以大家儘可放心。這也是為什麼建行會放心地把限額從5萬提到50萬的緣故。
在真實意圖識別方面,我們做了一些工作,比如情感識別,看使用者是不是處在恐懼狀態之下。我們在一個情感語音資料集合上進行了驗證,判斷你是恐懼還是不是恐懼,有百分之90多的準確率。下面是用深度學習的辦法做類似的事情,效果還是不錯的。
短語音上面比較麻煩一些,因為聲音越簡訊息量越少,我們可以看到隨著說話聲音的變化,錯誤率非常大,這個問題其實也是很難的。這是短語音的處理辦法,我們看到如果聲音比較長,涵蓋著跟你的模型重疊的部分比較多一些,你測試語音跟模型就會多一些,這樣識別效果比較好。
但是如果是短的語音,那麼極有可能這個聲音在測的時候跟註冊時候語音的分佈不重疊,所以這是一個很難的問題。
我們也做了一些具體的研究。主要思路是把語音識別的技術結合起來。因為聲音雖然短,但是有幾個音符在裡面,這幾個音符跟你註冊的音如果有重疊,我們可以看一下它們是不是一樣的,如果不重疊,就可以根據近鄰關係來判斷這個音是不是靠譜。所以可以先聚類,然後做語音識別,然後分割出來,後面再做聲紋確認,用這麼一個思路。
以上就是我們關於聲紋識別面對的挑戰這一節大概的情況。
四、發展機遇
1、聲紋時代的來臨
隨著我們網際網路的發展,我們聲紋面臨一個很大的機遇,現在很多人使用手機裝置來做移動支付。
這裡用手機的移動裝置完成支付佔96%,經過調研發現那些不使用手機銀行到底是什麼原因?主要是因為使用者擔心不安全,有30%人是這個想法,當然還有用別的辦法替代,但是30%認為不安全。
這就提出一個非常現實的問題。在移動網際網路上面,個人資訊洩露會導致很嚴重的後果,這是因為物理空間有警察看著,但是網路空間裡面其實是一個黑的,對方可能根本不知道你是誰,誰知道網際網路對面那個人是人還是狗?
在這樣的條件之下,身份認證就成為一個很重要的問題,所以我們認為:在移動網際網路裡面,最後一釐米這樣一個安全問題需要解決好。
2、傳統認證VS.生物特徵認證
我們可以看一下過去傳統的認證方法是用一個口令,即你知道什麼,但是很容易被洩露。後來說那就帶一個U盾吧,但是它容易丟,再進一步,乾脆你證明你是你自己算了,於是大家就用生物特徵來做這個事兒,這是因為過去傳統的方法都有它的不太方便的地方。
3、解決方案
比如美國2011年提出網路環境中,可信身份上升為國家戰略。
歐盟也是一樣,06年在電子身份認證做了頂層設計。
還有國際企業弄的快速線上身份識別的聯盟,也提出相應技術方案。
4、無監督身份認證的技術要求
在無監督的身份認證中在技術上面有五個要求:
第一,必須是人證合一,如果這個憑證是你自己,這樣安全性就得到了很大的保障,帶鑰匙搞密碼都存在隱患。還有,要求不容易被人偽造,還有意圖的真實性、證據可溯性,還有認證便(pian2)宜,當然也可以讀成便(bian4)宜,這條要求是落實無監督身份認證和大面積認證,很方便的使用它的一個要求。
第二、不易偽造性。聲紋是滿足要求的,那麼在防止偽造上面,剛才提到了防止攻擊的辦法,所以確實不易偽造。當然如果不做防範,就容易偽造。如果做了防範就變得不那麼容易。
第三、意圖真實性,這是聲音獨一無二的,因為聲音本身就有語義和情感資訊包含在裡面,而其他的生物特徵本身是不具備人和人交流的功能,當然有時候設計一個手勢,但是畢竟是有限的,而且還得約定不那麼複雜。但是聲音不一樣,所以這個地方是一個特殊的長處,在意圖的真實性上面,我覺得聲音也是能夠滿足這個特性。
第四、證據可溯性,經過軟體設計可以記錄使用者說的話,一查那幾個字那幾個提示符,這是2018年4月15日下午15:17分的時候說的。
第五、認證便宜性,很容易想到它的採集各方面都是容易的。因此生物特徵中,聲紋是具有比較高的符合性,特別是成本比較低,可以去做。
所以我們覺得聲紋+什麼東西,以聲紋為很重要的基礎,然後把別的生物特徵結合起來,實實在在是大自然作出的選擇,它給我們創造了一個很好的一種表示身份的屬性或者人的功能,即用聲音來代表人。
五、聲紋識別技術在理論和應用方面的進展
最後,簡要介紹一下我們的聯合實驗室、課題組、相關公司還有清華大學之間的關係。清華大學以智慧財產權入股得意公司,然後公司再投錢過來跟清華大學建立聲紋處理聯合實驗室,以核心技術為支撐做了一些工作。
去年7月份,成立了得意音通訊息技術研究院,這裡有一些學術很知名的專家、學者。
得意公司開發的聲密保的產品獲得“創新產品”稱號,這個產品具有成本低、無需記憶等特點。這個產品應用的第一家單位就是建行,2015年已經開始用白名單執行,2016年5月份對正式使用者開放。
幾次的銀行評測中聲密保是唯一提供錄音假冒的產品,也是能夠把市面上所有的手機重放出來,能夠百分百檢出來。我們都是搞學術的,都知道建行要做測試,肯定只是他自己構建的測試集合,那麼,不在這個集合中的某個測試會不會成為漏網之魚?理論上肯定是要打個問號的,但是確實是建行在評測的時候,聲密保產品的效能都是沒有問題的。
還有,談到聲密保對時變語音的效能,我們有一個全球唯一的同一個人在相同的文字內容跨了好幾年的這樣一個語音資料庫,所以在這個庫上面我們做的一些工作對於我們解決時變問題提供了一個很好的基礎。
這個產品建行使用之後,原來使用者的額度只用五萬,現在可以提到五十萬了,這是建行對聲密保效能放心的一個很好的證明。
另外,圍繞這個產品也申請了相關的核心專利。我們希望基於這些工作能夠在將來不遠的將來,通過一些無線的手段,比如麥克風或者手機,聲音作為你的身份一個表示和載體,能夠在它的認證下做住宿、認證、交易等等各種社會活動,這就是我們的聲紋夢。
希望在不久的將來,經過努力以及和其他生物特徵的結合,能夠共同推動這個夢想的實現,謝謝大家!