從 WaveNet 到 Tacotron,再到 RNN-T
谷歌再獲語音識別新進展:利用序列轉導來實現多人語音識別和說話人分類
雷鋒網 AI 科技評論按:從 WaveNet 到 Tacotron,再到 RNN-T,谷歌一直站在語音人工智能技術的最前沿。近日,他們又將多人語音識別和說話人分類問題融合在了同一個網絡模型中,在模型性能上取得了重大的突破。
對於自動理解人類音頻的任務來說,識別「誰說了什么」(或稱「說話人分類」)是一個關鍵的步驟。例如,在一段醫生和患者的對話中,醫生問:「你按時服用心臟病葯物了嗎?」患回答道:「Yes」。這與醫生反問患者「Yes?」的意義是有本質區別的。
傳統的說話人分類(speaker diarization,SD)系統有兩個步驟。在第一步中,系統將檢測聲譜中的變化,從而確定在一段對話中,說話人什么時候改變了;在第二步中,系統將識別出整段對話中的各個說話人。這種基礎的多步方法幾乎已經被使用了 20 多年,而在么長的時間內,研究者們僅僅在「說話人變化檢測」部分提升了模型性能。
近年來,隨着一種名為遞歸神經網絡變換器的新型神經網絡模型的發展,我們現在擁有了一種合適的架構,它可以克服之前我們介紹過的說話人分類系統的局限性,提升系統的性能。在谷歌最近發布的論文「Joint Speech Recognition and Speaker Diarization via Sequence Transduction」中,它們提出了一種基於 RNN-T 的說話人分類系統,證明了該系統在單詞分類誤差率從 20 % 降低到了 2%(性能提升了 10 倍),該工作將在 Interspeech 2019 上展示。
傳統的說話人分類系統依賴於人聲的聲學差異識別出對話中不同的說話人。根據男人和女人的音高,僅僅使用簡單的聲學模型(例如,混合高斯模型),就可以在一步中相對容易地將他們區分開來。然而,想要區分處音高可能相近的說話者,說話者分類系統就需要使用多步方法了。首先,基於檢測到的人聲特征,使用一個變化檢測算法將對話切分成均勻的片段,我們希望每段僅僅包含一個說話人。接着,使用一個深度學習模型將上述說話人的聲音片段映射到一個嵌入向量上。最后,在聚類階段,會對上述嵌入聚類在不同的簇中,追蹤對話中的同一個說話人。
在真實場景下,說話人分類系統與聲學語音識別(ASR)系統會並行化運行,這兩個系統的輸出將會被結合,從而為識別出的單詞分配標簽。
傳統的說話人分類系統在聲學域中進行推斷,然后將說話人標簽覆蓋在由獨立的 ASR 系統生成的單詞上。
這種方法存在很多不足,阻礙了該領域的發展:
(1)我們需要將對話切分成僅僅包含以為說話人的語音的片段。否則,根據這些片段生成的嵌入就不能准確地表征說話人的聲學特征。然而,實際上,這里用到的變化檢測算法並不是十全十美的,會導致分割出的片段可能包含多位說話人的語音。
(2)聚類階段要求說話人的數量已知,並且這一階段對於輸入的准確性十分敏感。
(3)系統需要在用於估計人聲特征的片段大小和期望的模型准確率之間做出艱難的權衡。片段越長,人聲特征的質量就越高,因為此時模型擁有更多關於說話人的信息。這然而,這就帶來了將較短的插入語分配給錯誤的說話人的風險。這將產生非常嚴重的后果,例如,在處理臨床醫學或金融領域的對話的環境下,我們需要准確地追蹤肯定和否定的陳述。
(4)傳統的說話人分類系統並沒有一套方便的機制,從而利用在許多自然對話中非藏明顯的語言學線索。例如,「你多久服一次葯?」在臨床對話中最有可能是醫護人員說的,而不會是病人說的。類似地,「我們應該什么時候上交作業?」則最有可能是學生說的,而不是老師說的。語言學的線索也標志着說話人有很高的概率發生了改變(例如,在一個問句之后)。
然而,傳統的說話人分類系統也有一些性能較好的例子,在谷歌此前發布的一篇博文中就介紹了其中之一。在此工作中,循環神經網絡(RNN)的隱藏狀態會追蹤說話人,克服了聚類階段的缺點。而本文提出的模型則采用了不容的方法,引入了語言學線索。
我們研發出了一種簡單的新型模型,該模型不僅完美地融合了聲學和語音線索,而且將說話人分類和語音識別任務融合在了同一個系統中。相較於相同環境下僅僅進行語音識別的系統相比,這個集成模型並沒有顯著降低語音識別性能。
我們意識到,很關鍵的一點是:RNN-T 架構非常適用於集成聲學和語言學線索。RNN-T 模型由三個不同的網絡組成:(1)轉錄網絡(或稱編碼器),將聲幀映射到一個潛在表征上。(2)預測網絡,在給定先前的目標標簽的情況下,預測下一個目標標簽。(3)級聯網絡,融合上述兩個網絡的輸出,並在該時間步生成這組輸出標簽的概率分布。
請注意,在下圖所示的架構中存在一個反饋循環,其中先前識別出的單詞會被作為輸入返回給模型,這使得 RNN-T 模型能夠引入語言學線索(例如,問題的結尾)。
集成的語音識別和說話人分類系統示意圖,該系統同時推斷「誰,在何時,說了什么」
在圖形處理單元(GPU)或張量處理單元(TPU)這樣的加速器上訓練 RNN-T 並不是一件容易的事,這是因為損失函數的計算需要運行「前向推導-反向傳播」算法,該過程涉及到所有可能的輸入和輸出序列的對齊。最近,該問題在一種對 TPU 友好的「前向-后向」算法中得到了解決,它將該問題重新定義為一個矩陣乘法的序列。我們還利用了TensorFlow 平台中的一個高效的 RNN-T 損失的實現,這使得模型開發可以迅速地進行迭代,從而訓練了一個非常深的網絡。
這個集成模型可以直接像一個語音識別模型一樣訓練。訓練使用的參考譯文包含說話人所說的單詞,以及緊隨其后的指定說話人角色的標簽。例如,「作業的截止日期是什么時候?」<學生>,「我希望你們在明天上課之前上交作業」<老師>。當模型根據音頻和相應的參考譯文樣本訓練好之后,用戶可以輸入對話記錄,然后得到形式相似的輸出結果。我們的分析說明,RNN-T 系統上的改進會影響到所有類型的誤差率(包括較快的說話者轉換,單詞邊界的切分,在存在語音覆蓋的情況下錯誤的說話者對齊,以及較差的音頻質量)。此外,相較於傳統的系統,RNN-T 系統展現出了一致的性能,以每段對話的平均誤差作為評價指標時,方差有明顯的降低。
傳統系統和 RNN-T 系統錯誤率的對比,由人類標注者進行分類。
此外,該集成模型還可以預測其它一些標簽,這些標簽對於生成對讀者更加友好的 ASR 譯文是必需的。例如,我們已經可以使用匹配好的訓練數據,通過標點符號和大小寫標志,提升譯文質量。相較於我們之前的模型(單獨訓練,並作為一個 ASR 的后處理步驟),我們的輸出在標點符號和大小寫上的誤差更小。
現在,該模型已經成為了我們理解醫療對話的項目中的一個標准模塊,並且可以在我們的非醫療語音服務中被廣泛采用。
Via https://ai.googleblog.com/2019/08/joint-speech-recognition-and-speaker.html
▎首款鴻蒙OS汽車曝光;移動電信4G網速低於全國平均值;曠視科技擬赴港上市
▎全球最強!華為昇騰 910 AI 芯片正式商用,全場景 AI 框架 MindSpore 問世
▎iPhone Pro + Apple Pencil,蘋果今年要打臉喬布斯了?
上新!「AI投研邦」現已上線CCF GAIR 2019峰會完整視頻與各大主題專場白皮書, 包括機器人前沿專場、智能交通專場、智慧城市專場、AI芯片專場、AI金融專場、AI醫療專場、智慧教育專場等。「AI投研邦」會員們可免費觀看全年峰會視頻與研報內容,掃碼進入會員頁面了解更多,或私信助教小慕(微信:moocmm)咨詢。