淘新聞

我如何用深度學習改造母親的助聽器?

雷鋒網按:目前的人造聽力系統存在一個關鍵問題:無法過濾背景雜音。儘管使用者對傾聽的需求十分強烈,然而硬體只是單純地將聲音放大——自然也包括噪音。英國認知科學家Colin Cherry於1953年首次將這一問題稱為"cocktail party problem"(雞尾酒會難題)。

作者 DeLiang Wang 是一名俄亥俄州立大學的教授,他主要關注電腦科學及工程領域,此外,他也在學校的認知及大腦科學研究中心工作。本文是他基於自己親人的切身體會,利用深度學習改造助聽器的自述,雷鋒網編譯,未經許可不得轉載。

我上大學的時候,母親的聽力逐漸下降。不過一直以來,我很願意回家將我所學的東西與她分享,她也很樂意傾聽。但漸漸地我發現,如果多個人同時說話,那麼母親很難分清到底是哪個人在和她講話。儘管她使用了助聽器,但對她來說區分這些聲音仍舊很難。在我們家庭聚餐的時候,我母親不希望我們同時和他說話,希望每次只有一個人和她說話。

我母親的痛苦遭遇反應了目前助聽設備面臨的一個主要問題,即助聽器濾音效果不好。儘管信號處理專家、人工智慧專家、聽力專家已經努力了幾十年,但現在的人造聽力系統仍不能很好濾掉背景雜音。

據估計,六十年後將會有約25%的人需要佩戴助聽設備,如果這些設備去除雜音的效果不好,那麼我們可以想像這樣一個場景:

當一個人和佩戴助聽設備的人談話時,此時一輛汽車呼嘯而過,但這些助聽設備只是簡單的將雜音與話音放大,卻無法很好去除汽車雜音,此時對於用戶的聽力將會造成多麼大的傷害,他們將聽不清對方的講話。

是時候該解決這個問題了,我在俄亥俄州立大學的實驗室目前嘗試使用深度學習模型實現雜音與聲音分離,此外我們還嘗試了多種用於去除雜音的數字濾波器。

我們相信基於深度學習模型的聽力修復可以使聽力受損人的聽力理解能力達到甚至超過正常人。實際上,我們的早期模型效果一直在提升。由原來聽清 10% 提高到 90%。在現實生活中,即使人們沒有聽清一句話中的每一詞,他們也可以理解這句話的意思。所以這實際上已經意味著,人們已經從“一句都聽不懂”變成了“能聽懂一句話”的狀態。

對於有聽覺問題的人,沒有好的助聽設備,人的聽力只會越來越糟。世界衛生組織估計約 15%(776百萬人)患有聽覺問題,隨著老年人口的增多,這一數位將會逐漸變大,並且高級聽力設備的潛在市場不僅局限於聽覺受損用戶。開發商可以將這一技術用於智慧手機,以提升智慧手機的通話品質。一些人的工作環境背景雜音複雜,這個設備可以解決這問題。處於戰爭環境中的士兵也可以佩戴這個設備使得他們之間的通話更加順暢。

語音清洗與過濾

助聽設備的市場廣闊,據印度MarketsandMarkets研究發現,目前助聽行業規模大約為60億美金,市場規模在2020年以前預計以每年6%的速度遞增。為了滿足新使用者需求,我們需要解決‘雞尾酒會難題’,那麼如何解決呢?深度學習給我們提供了一個很好的解決思路。

語音清洗流程如下:

信號轉換:機器學習程式首先將語音信號轉換為時域信號。

特徵表示:在時域範圍內用85個特徵表示語音信號,

語音分類:將這些用特徵表示的語音信號傳入深度學習模型中,找出語音信號與雜音

信號,

雜音過濾:使用濾波器去除雜音信號,保留語音信號。

數十年來,電子與電腦專家嘗試從信號處理的角度實現語音與雜音的分離,但均以失敗告終。目前最有效的方法就是語音活動檢測器,用於識別不同人之間的說話。在這種方法下,系統檢測出不同的語音信號,然後濾去這些聲音信號,留下理想的、無雜音信號。

不幸的是,這種方法效果很不好,它通常會濾去很多語音或只濾去少量雜音。即便經過了幾十年的發展,這項技術的實際效果仍然不太理想。

我覺得我們得使用新的方法解決這個問題,我們首先研究了 Albert Bregman( McGill University)的關於人類聽力系統的理論,他認為人類的聽覺系統將不同的聲音分成不同的聲音流,一個聲音流對應一個音源,每一個聲音流據有不同的音高、音量、方向。

上圖展示了聲音場景是如何形成的

總之,許多音流(像曲棍球比賽中朋友們的呐喊)組成 Bregman 所謂的聽覺場景。如果不同音波的音訊一樣,那麼音量最大那個將會蓋過其它聲音,這一現象被稱作聽覺掩蔽效應。例如,下雨的的時候沒人會聽到鐘錶的滴答聲。這原理也用在了MP3的檔中,它通過壓縮被掩蔽的聲音,使得檔大小變為了原來的十分之一,檔雖然縮小了,但用戶卻沒有任何感覺。

回顧了Bregman的工作,我們設想我們是否可以構建一個濾波器,在特定時刻對於特定音訊,這個濾波器可以找到主聲波。聽覺感知專家Psychoacousticians將人類的聽覺頻率(20Hz到20000Hz)分成24份,那麼問題就變成了我們需要一個濾波器,在某一時刻這個濾波器可以告訴我們是否存在一個包含比其它語音或雜音都大的聲音,然後江這個大的聲音進行分離出來。

我的實驗室在2001年就開始了這項工作,並給音流打標籤,以表明他們的主音流是語音流還是雜音流。有了這些標記資料,然後我們基於機器學習的方法,訓練一個能區分主音流是聲音還是雜音的分類器,這些特徵包括音量、音調等。

原始篩檢程式是一個二元篩檢程式,用於對特定時刻特定頻率的聲音進行標識,這個篩檢程式在時域範圍對聲音信號進行0、1標識,如果主音為聲音,標1;主音為雜音,標0。最後生成一個主音為聲音與主音為雜音的樣本集合,濾波器除去標識為0的聲音,保留標識為1的聲音。為了保證句子能夠被理解,必須保證標識為1的語音佔有一定的比例。

2006年,在美國空軍實驗室我們對聲音濾波器進行測試,與此同時,另外一家機構也隊我們的產品進行獨立的協力廠商評估,在這些試驗中,我們的產品性能優異。不僅有助於提高聽覺受損者的聽力水準,還有助於提高正常人的聽力水準。

我們創造了一款在實驗室中表現優良的聽力設備,在設計過程中,我們訓練的時候是將語音信號與雜音信號分開的。測試的時候將這兩者混合在一起,然後測試。由於這些資訊均為為標記資訊,所以篩檢程式知道什麼情況下語音信號要大於雜音信號,所以我們稱之為理想濾波器。但實際情況是濾波器應該能靠自己進行判斷,而不是靠我們提前告訴它。

不過,理想濾波器確實能提高聽覺受損者與正常者的聽力理解水準。這表明我們可以將分類方法用於區分語音與噪音。分類方法實際上是一種機器學習的方法,通過訓練、回饋、懲罰等一些列類似於人的學習過程,來實現對聲音信號的正確分類。

在接下來的幾年中,我們實驗室開始嘗試使用分類方法來模仿我們濾波器,同時,我們基於機器學習設計新的分類器,提高自動語音辨識的品質。後來一組來自University of Texas的研究人員使用一種不同的方法首次實現語音可懂性的實質意義上的進步,這種方法僅使用了單聲道特徵。

但是對於助聽設備來說,這些分類方法的效果與精度還不夠,這些方法還不能處理現實世界中複雜環境下的聲音資訊。因此,我們需要更好的方法。

如何進一步改善系統?

我們決定進一步改善系統效果,使我們的系統可以應用在現實環境中且不需訓練。為了解決這個問題,我們構建了一個以前從未構建過的機器學習系統,經過複雜的訓練,這個神經網路系統,可以用於聲音與雜音的分離。在24個測試樣本中,這套系統提高聽力受損人員的聽力理解力約50%。效果良好。

神經網路是由一些簡單的神經元組成,這些簡單那神經元組合在一起就可以處理複雜的問題。當一個新的神經網路模型構建好以後,這個模型需要利用資料不斷的調整神經元與神經元之間的權重(類似於人腦學習),以達到實現語音信號分類的目的。

如上圖所示:左側為為輸入層,右側為輸出層,通過調節層與層之間的神經元之間的連結權重提高系統性能。

神經網路有不同的形狀、大小、深度。隱層多餘兩層的就可以稱為深度神經網路,上一層的輸出是下一層的輸入,就好比給下一個隱層增加一些先驗知識。

例如,我們通過資料訓練一個簽名識別網路,如果此時有一個新的簽名,這個簽名與資料集中的簽名是一個人寫的,卻與資料集中的簽名不完全一樣,但我們的網路仍可以識別出來,因為我們的網路層是可以識別出同一人簽名的不同特徵的,只要特徵相同,就可以認為是同一個人寫的,這些特徵包括文字的傾斜角度,字母i的點是否點上等。

為了構建我們自己的深度學習網路,我們開始編寫基於音訊、振幅的特徵抽取器,我們定義了數十個特徵用以區別聲音與雜音。最終我們確定了85個特徵。

其中最重要的特徵是音訊與音強。

抽完特徵以後,我們用這85個特徵對神經網路進行訓練。我們的訓練包含兩個階段:

一、通過無監督方法訓練系統參數。

二、用雜音資料對模型進行訓練,這一步是有監督訓練。我們用標記好的正例與負例對我們的系統進行測試與改善。

具體流程如下:輸入一個新資料,系統首先對資料進行特徵提取,特徵表示,對資料進行分類(是聲音還是雜音),與正確結果進行比較。如果結果有誤,對神經網路進行調參,使得我們的輸出在下一次的訓練中盡可能與正確結果相接近。

為了實現神經元與神經元之間的權重調整(調參),我們首先計算神經網路的輸出誤差,我們有一個誤差函數,這個函數用來計算神經網路的輸出結果誤差。根據這個結果誤差,我們對神經元之間的連接權重進行調整,以降低誤差,這個訓練過程需要重複上千次。最終實現一個較好的訓練模型。

為了使得結果更好,我們在前面深度學習的基礎上在構建一個深度學習模型,將第一個的輸出做為第二模型的輸入,對結果進行細細微性的調優,第一層的關注的是聲音單元本身的特徵,第二層檢驗的是聲音單元‘鄰居’的特徵。那麼為什麼對周圍聲音進行檢測也有用呢?道理很簡單,第一層好比是一個正在銷售的房屋,我們對它的各個房間進行查看,第二層就好比這個屋子的‘鄰居’,我們對它的‘鄰居’進行檢驗。換句話說,第二層為第一層提供了聲音信號的上下文資訊,有助於提高分類的準確率。例如,一個音節可能包含幾個時域,背景雜音可能只在突然出現音節的起始階段,後面就沒有了。在這個例子中,上下文資訊就可以使我們更好的從雜音中提取出聲音。

在完成訓練後,我們的深度學習分類器要比我們原先的分類器好很多,事實上,這是我們首次在演算法上取得突破,使得我們的助聽設備可以提高聽覺受損人員的聽力水準。為了測試我們的設備性能,我們對12名聽障人員、12名聽力正常人員進行測試,測試用例是成對出現的,第一次聲音與雜音混在一起,第二次是經過我們神經網路處理過的聲音。例如包含“It’s getting cold in here”和“They ate the lemon pie,”的句子有兩種雜音,一種是嗡嗡聲,另一種背景雜音是很多人在一起說話。這個嗡嗡聲很像冰箱壓縮機工作的聲音,而另一種雜音是是我們生成的,是四男四女的說話聲,以此來模仿雞尾酒會的這一類背景雜音。

在對背景雜音進行處理後,無論是聽覺受損人員還是聽覺正常人員其聽力理解能力均有大幅提升,在未經處理的聲音中,聽覺受損人員只可以聽清29%的單詞,但在處理過的聲音中,他們可以理解84%的內容。在一些例子中,一開始只能聽清10%,經

過處理後就

可以理解90%的內容了。在有嗡嗡雜音環境下,聽覺受損人員的理解力從未經處理時的36%提升到82%。

對於聽力正常的人,我們的系統同樣有效,它可以使正常人在有雜音的環境下聽到的更多,這就意味著將來的某一天,我們的系統可以説明更多的人。在嗡嗡雜音下,未經處理,正常人只能聽懂37%,處理後可以聽懂80%,在雞尾酒會的這一類背景雜音下,其聽力理解力由42%提升到78%。

我們

實驗中最有意思的結果是,如果一個聽力受損的人使用我們的助聽設備,那麼他的聽力能否超過正常人?答案是肯定的。在嗡嗡環境下,聽力受損的人(使用我們的助聽設備)可以比正常人多聽懂15%內容,在聚會噪音背景下可以多聽懂20%。以這個結果來看,可以說我們的系統是最接近解決‘雞尾酒會問題’的系統。

局限自然有,展望依然在

儘管如此,我們的演算法仍有局限,在測試樣例中,我們的背景雜訊與我們訓練用的背景雜訊很相似。但實際情況卻不是這樣的,所以在實際應用中,系統需要快速學習周圍環境中的各種背景雜訊,並將其濾掉。例如通風系統的聲音、房間內回音等。

我們購買了一個包含10000種雜音的資料集(這個資料集起初是為電影製造商準備的),用其來訓練我們模型。今年,我們發現經過訓練的程式可以處理以前從未遇到過的雜音了,並且去雜音效果得到了及具現實意義的提高(無論對聽覺受損者還是聽覺正常者),現在,由於得到了全國失聰及其他溝通障礙研究所( National Institute on Deafness and Other Communication Disorders )的支持,我們決定在更多環境下,使用更多的聽障人員來測試我們的系統。

最後,我相信我們系統可以在性能更加強大的電腦上進行訓練,並且移植到人聽障人士身上,或者與智慧手機進行配對使用。商家會週期性的對新資料進行訓練,並發佈新的版本以便讓用戶升級他們的助聽設備,從而使其能夠濾去新的雜音。我們已經申請了數個專利並且與多個合作夥伴進行了商業化應用。

使用這個方法,雞尾酒會難題看起來不在是那麼難以解決。我們堅信,只要有更多雜音資料、更加廣泛的訓練,我們終究可以解決這個難題。事實上,我認為我們現在處理聲音的流程與小孩早期區分雜音與聲音的過成是很類似的。都是在不斷的重複中提升性能的。總之,經驗越多,方法就變得越好。

雷鋒網小編也設想到,如果一個有著聽力障礙的熱心讀者參加了明年雷鋒網舉辦的GAIR大會,在人頭攢動的會場,他可能一直會被會展播放的背景音樂所打擾,無法專心與新結識的大牛們聊天。如果有了硬體相關的技術提升,那麼想必會讓活動的效果更好,而這也是科技尤其是人工智慧所帶給我們的福祉:讓智慧與未來伴隨我們的生活,並使之變得更加美好。

via 

Deep Learning Reinvents the Hearing Aid